BCH-koodeista

Tämän tutkielman tarkoituksena on tutustuttaa lukija BCH-koodeihin. BCH-koodit ovat syklisiä koodeja ja ne pystyvät korjaamaan useita virheitä. Tutkielmassa esitetään erilaisia tapoja korjata koodisanoihin tulleita virheitä käyttäen hyväksi äärellisten kuntien teoriaa ja lineaari- sekä polynomialgeb...

Full description

Bibliographic Details
Main Author: Sjöman, Juhani
Other Authors: Matemaattis-luonnontieteellinen tiedekunta, Faculty of Sciences, Matematiikan ja tilastotieteen laitos, Department of Mathematics and Statistics, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2021
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/75651
_version_ 1826225781669363712
author Sjöman, Juhani
author2 Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Matematiikan ja tilastotieteen laitos Department of Mathematics and Statistics Jyväskylän yliopisto University of Jyväskylä
author_facet Sjöman, Juhani Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Matematiikan ja tilastotieteen laitos Department of Mathematics and Statistics Jyväskylän yliopisto University of Jyväskylä Sjöman, Juhani Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Matematiikan ja tilastotieteen laitos Department of Mathematics and Statistics Jyväskylän yliopisto University of Jyväskylä
author_sort Sjöman, Juhani
datasource_str_mv jyx
description Tämän tutkielman tarkoituksena on tutustuttaa lukija BCH-koodeihin. BCH-koodit ovat syklisiä koodeja ja ne pystyvät korjaamaan useita virheitä. Tutkielmassa esitetään erilaisia tapoja korjata koodisanoihin tulleita virheitä käyttäen hyväksi äärellisten kuntien teoriaa ja lineaari- sekä polynomialgebraa. Yksinkertainen kahden sanan koodi koostuu esimerkiksi koodisanoista 000 ja 111. Koodisanojen etäisyys on niiden positioiden määrä, missä sanat eroavat toisistaan. Sanojen 000 ja 111 etäisyys on siis 3. Koodin virheenkorjauskyky on sidottu koodin minimietäisyyteen d(C), joka on kaikkien koodin koodisanojen välinen minimietäisyys. Koodi korjaa t virhettä, jos d(C) on vähintään 2t + 1. Tämä esimerkkikoodi {000, 111} korjaa siis yhden virheen. Virheenkorjaus tapahtuu lähimmän naapurin -periaatteella, missä vastaanotettu sana koodataan siksi koodisanaksi, jota se on lähimpänä eli johon sen etäisyys on lyhin. Ekvivalentti koodi on sellainen koodi, jolla on samat ominaisuudet kuin alkuperäisellä koodilla. Esimerkiksi koodi {010, 101} on ekvivalentti koodin {000, 111} kanssa. Edistyneemmissä koodeissa, kuten lineaarisissa koodeissa, koodisanojen määrä on suuri. Kaikkia lineaarisen koodin koodisanoja ei kuitenkaan tarvitse luetella vaan niiden muodostamisessa käytetään apuna virittäjämatriisia. Vastaavasti lineaarinen koodi on helppo dekoodata pariteetintarkistusmatriisin avulla. Virittäjä- ja pariteetintarkistusmatriisi voidaan kumpikin esittää standardimuodossa, joka sisältää yksikkömatriisin. Syndrooma on koodisanavektorin ja pariteetintarkistusmatriisin transpoosin tulo. Se ilmaisee koodisanassa virheen paikan. Sykliset koodit ovat lineaarisia koodeja, mutta näille esitetään virittäjä ja pariteetintarkistus polynomien avulla. Polynomeille voidaan suorittaa modulolaskentaa samoin kuin kokonaisluvuillekin. Tämä vahvuus tekee syklisistä koodeista haluttuja niiden koodauksen ja dekoodauksen suhteellisen helppouden ja nopeuden ansiosta. Lineaariset Hammingin koodit korjaavat vain yhden virheen. Sykliset koodit pystyvät polynomiominaisuuksiensa ansiosta korjaamaan niin sanottuja purskevirheitä eli peräkkäin esiintyviä virheitä. Jopa 6-pituinen purskevirhe on mahdollista korjata käyttäen vain 2-pituisen purskeen korjaavaa koodia, kun käytetään lomitustekniikkaa. Siinä koodisanoja ei lähetetäkään peräkkäin, vaan kolmen koodisanan ryppäinä lomitettuna. Jos siis halutaan lähettää 7-pituiset koodisanat A = A0A1...A6, B = B0B1...B6 ja C = C0C1...C6, niin sen sijaan, että lähetetään koodisanat peräkkäin: A0A1...A6B0B1...B6C0C1...C6, lähetetäänkin ne lomittain: A0B0C0A1B1C1...A6B6C6. Nyt 6-pituisen purskevirheen sattuessa kukin koodisana A, B ja C kärsii vain kahdesta virheestä, jotka voidaan korjata erikseen kunkin koodisanan kohdalla. BCH-koodit voidaan esittää syklisinä koodeina ja täten niille pätevät kaikki syklisten koodien algebralliset ominaisuudet. BCH-koodeille esitetään niin sanottu BCH-avainyhtälö, jonka avulla vastaanotetut sanat ovat helposti ja nopeasti dekoodattavissa koodisanoiksi virheistä huolimatta.
first_indexed 2021-05-17T13:40:08Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Lehtonen, Ari", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Sj\u00f6man, Juhani", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2021-05-17T05:39:13Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2021-05-17T05:39:13Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2021", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/75651", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "T\u00e4m\u00e4n tutkielman tarkoituksena on tutustuttaa lukija BCH-koodeihin. BCH-koodit ovat syklisi\u00e4 koodeja ja ne pystyv\u00e4t korjaamaan useita virheit\u00e4. Tutkielmassa esitet\u00e4\u00e4n erilaisia tapoja korjata koodisanoihin tulleita virheit\u00e4 k\u00e4ytt\u00e4en hyv\u00e4ksi \u00e4\u00e4rellisten kuntien teoriaa ja lineaari- sek\u00e4 polynomialgebraa.\n\nYksinkertainen kahden sanan koodi koostuu esimerkiksi koodisanoista 000 ja 111. Koodisanojen et\u00e4isyys on niiden positioiden m\u00e4\u00e4r\u00e4, miss\u00e4 sanat eroavat toisistaan. Sanojen 000 ja 111 et\u00e4isyys on siis 3. Koodin virheenkorjauskyky on sidottu koodin minimiet\u00e4isyyteen d(C), joka on kaikkien koodin koodisanojen v\u00e4linen minimiet\u00e4isyys. Koodi korjaa t virhett\u00e4, jos d(C) on v\u00e4hint\u00e4\u00e4n 2t + 1. T\u00e4m\u00e4 esimerkkikoodi {000, 111} korjaa siis yhden virheen. Virheenkorjaus tapahtuu l\u00e4himm\u00e4n naapurin -periaatteella, miss\u00e4 vastaanotettu sana koodataan siksi koodisanaksi, jota se on l\u00e4himp\u00e4n\u00e4 eli johon sen et\u00e4isyys on lyhin. Ekvivalentti koodi on sellainen koodi, jolla on samat ominaisuudet kuin alkuper\u00e4isell\u00e4 koodilla. Esimerkiksi koodi {010, 101} on ekvivalentti koodin {000, 111} kanssa.\n\nEdistyneemmiss\u00e4 koodeissa, kuten lineaarisissa koodeissa, koodisanojen m\u00e4\u00e4r\u00e4 on suuri. Kaikkia lineaarisen koodin koodisanoja ei kuitenkaan tarvitse luetella vaan niiden muodostamisessa k\u00e4ytet\u00e4\u00e4n apuna viritt\u00e4j\u00e4matriisia. Vastaavasti lineaarinen koodi on helppo dekoodata pariteetintarkistusmatriisin avulla. Viritt\u00e4j\u00e4- ja pariteetintarkistusmatriisi voidaan kumpikin esitt\u00e4\u00e4 standardimuodossa, joka sis\u00e4lt\u00e4\u00e4 yksikk\u00f6matriisin. Syndrooma on koodisanavektorin ja pariteetintarkistusmatriisin transpoosin tulo. Se ilmaisee koodisanassa virheen paikan.\n\nSykliset koodit ovat lineaarisia koodeja, mutta n\u00e4ille esitet\u00e4\u00e4n viritt\u00e4j\u00e4 ja pariteetintarkistus polynomien avulla. Polynomeille voidaan suorittaa modulolaskentaa samoin kuin kokonaisluvuillekin. T\u00e4m\u00e4 vahvuus tekee syklisist\u00e4 koodeista haluttuja niiden koodauksen ja dekoodauksen suhteellisen helppouden ja nopeuden ansiosta.\n\nLineaariset Hammingin koodit korjaavat vain yhden virheen. Sykliset koodit pystyv\u00e4t polynomiominaisuuksiensa ansiosta korjaamaan niin sanottuja purskevirheit\u00e4 eli per\u00e4kk\u00e4in esiintyvi\u00e4 virheit\u00e4. Jopa 6-pituinen purskevirhe on mahdollista korjata k\u00e4ytt\u00e4en vain 2-pituisen purskeen korjaavaa koodia, kun k\u00e4ytet\u00e4\u00e4n lomitustekniikkaa. Siin\u00e4 koodisanoja ei l\u00e4hetet\u00e4k\u00e4\u00e4n per\u00e4kk\u00e4in, vaan kolmen koodisanan rypp\u00e4in\u00e4 lomitettuna. Jos siis halutaan l\u00e4hett\u00e4\u00e4 7-pituiset koodisanat A = A0A1...A6, B = B0B1...B6 ja C = C0C1...C6, niin sen sijaan, ett\u00e4 l\u00e4hetet\u00e4\u00e4n koodisanat per\u00e4kk\u00e4in: A0A1...A6B0B1...B6C0C1...C6, l\u00e4hetet\u00e4\u00e4nkin ne lomittain: A0B0C0A1B1C1...A6B6C6. Nyt 6-pituisen purskevirheen sattuessa kukin koodisana A, B ja C k\u00e4rsii vain kahdesta virheest\u00e4, jotka voidaan korjata erikseen kunkin koodisanan kohdalla.\n\nBCH-koodit voidaan esitt\u00e4\u00e4 syklisin\u00e4 koodeina ja t\u00e4ten niille p\u00e4tev\u00e4t kaikki syklisten koodien algebralliset ominaisuudet. BCH-koodeille esitet\u00e4\u00e4n niin sanottu BCH-avainyht\u00e4l\u00f6, jonka avulla vastaanotetut sanat ovat helposti ja nopeasti dekoodattavissa koodisanoiksi virheist\u00e4 huolimatta.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2021-05-17T05:39:13Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2021-05-17T05:39:13Z (GMT). No. of bitstreams: 0\n Previous issue date: 2021", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "79", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "sykliset koodit", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "lineaariset koodit", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "BCH-koodit", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "\u00e4\u00e4relliset kunnat", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "BCH-koodeista", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202105172925", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Matemaattis-luonnontieteellinen tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Sciences", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Matematiikan ja tilastotieteen laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Mathematics and Statistics", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Matematiikan opettajankoulutus", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Teacher education programme in Mathematics", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "4041", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "matematiikka", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "koodausteoria", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "polynomit", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "koodit", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "vektorit (matematiikka)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_75651
language fin
last_indexed 2025-02-18T10:55:02Z
main_date 2021-01-01T00:00:00Z
main_date_str 2021
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/bf241e72-ac09-4b58-946e-5075cfceb381\/download","text":"URN:NBN:fi:jyu-202105172925.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2021
record_format qdc
source_str_mv jyx
spellingShingle Sjöman, Juhani BCH-koodeista sykliset koodit lineaariset koodit BCH-koodit äärelliset kunnat Matematiikan opettajankoulutus Teacher education programme in Mathematics 4041 matematiikka koodausteoria polynomit koodit vektorit (matematiikka)
title BCH-koodeista
title_full BCH-koodeista
title_fullStr BCH-koodeista BCH-koodeista
title_full_unstemmed BCH-koodeista BCH-koodeista
title_short BCH-koodeista
title_sort bch koodeista
title_txtP BCH-koodeista
topic sykliset koodit lineaariset koodit BCH-koodit äärelliset kunnat Matematiikan opettajankoulutus Teacher education programme in Mathematics 4041 matematiikka koodausteoria polynomit koodit vektorit (matematiikka)
topic_facet 4041 BCH-koodit Matematiikan opettajankoulutus Teacher education programme in Mathematics koodausteoria koodit lineaariset koodit matematiikka polynomit sykliset koodit vektorit (matematiikka) äärelliset kunnat
url https://jyx.jyu.fi/handle/123456789/75651 http://www.urn.fi/URN:NBN:fi:jyu-202105172925
work_keys_str_mv AT sjömanjuhani bchkoodeista