kanavakoodausteorian tarkoituksena on löytää koodeja, jotka lähettävät nopeasti, sisältävät monia päteviä koodisanoja ja voivat korjata tai ainakin havaita monia virheitä. Vaikka ei toisiaan poissulkevia, suorituskyky näillä aloilla on kauppa pois. Joten, eri koodit ovat optimaalisia eri sovelluksiin. Tämän koodin tarvittavat ominaisuudet riippuvat pääasiassa virheiden todennäköisyydestä lähetyksen aikana. Tyypillisessä CD: ssä haitta on lähinnä pölyä tai naarmuja.
CD-levyt käyttävät ristikkäistä Reed–Solomon-koodausta levittääkseen datan levylle.
vaikka koodi ei ole kovin hyvä, yksinkertainen toistokoodi voi toimia ymmärrettävänä esimerkkinä. Oletetaan, että otamme lohkon databittejä (jotka edustavat ääntä) ja lähetämme sen kolme kertaa. Vastaanottimessa käymme läpi kolme toistoa pala palalta ja äänestämme enemmistöpäätöksellä. Käänne tässä on se, että emme vain lähetä palasia järjestyksessä. Jätämme ne väliin. Databittien lohko jaetaan ensin 4 pienempään lohkoon. Sitten kierrämme lohkon läpi ja lähetämme yhden bitin ensimmäisestä, sitten toisesta jne. Tämä tehdään kolme kertaa levittää tiedot yli pinnan levyn. Yksinkertaisen toistokoodin yhteydessä tämä ei välttämättä vaikuta tehokkaalta. On kuitenkin olemassa tehokkaampia koodeja, jotka ovat erittäin tehokkaita korjaamaan naarmun tai pölypilkun” burst ” – virhe, kun tätä interleaving-tekniikkaa käytetään.
muut koodit soveltuvat paremmin eri käyttötarkoituksiin. Syvän avaruuden viestintää rajoittaa vastaanottimen lämpöääni, joka on enemmän jatkuvaa kuin purevaa. Samoin kapeakaistamodeemeja rajoittaa melu, joka esiintyy puhelinverkossa ja myös mallinnetaan paremmin jatkuvana häiriönä. Kännykät hiipuvat nopeasti. Käytetyt korkeat taajuudet voivat aiheuttaa signaalin nopeaa haalistumista, vaikka vastaanotinta siirrettäisiin muutamia senttejä. Jälleen on luokan kanavakoodeja, jotka on suunniteltu torjumaan hiipumista.
Lineaarinen codesEdit
termi algebrallinen koodausteoria tarkoittaa koodausteorian alakenttää, jossa koodien ominaisuudet ilmaistaan algebrallisina termeinä ja sen jälkeen tutkitaan tarkemmin.
algebrallinen koodausteoria jaetaan periaatteessa kahteen päätyyppiin:
- lineaariset lohkokoodit
- Konvolutiivikoodit
se analysoi seuraavat kolme koodin ominaisuutta-lähinnä:
- koodisanan pituus
- validien koodisanojen kokonaismäärä
- kahden kelvollisen koodisanan vähimmäisetäisyys, käyttäen pääasiassa Hamming-etäisyyttä, joskus myös muita etäisyyksiä, kuten Lee-etäisyyttä
Lineaarinen lohkokoodesedit
lineaarisilla lohkokoodeilla on lineaarisuuden ominaisuus, eli minkä tahansa kahden koodisanan summa on myös koodisana, ja niitä sovelletaan lähde bittiä lohkoina, joten nimi lineaarinen lohko koodit. On olemassa lohkokoodeja, jotka eivät ole lineaarisia, mutta on vaikea todistaa, että koodi on hyvä ilman tätä ominaisuutta.
lineaariset lohkokoodit tiivistetään niiden symboliaakkosiin (esim.binäärinen tai ternaarinen) ja parametreihin (n, m,dmin), joissa
- n on koodisanan pituus, symboleissa
- m on koodauksessa kerralla käytettävien lähdesymbolien lukumäärä,
- dmin on koodin pienin hamming-etäisyys.
lineaarisia lohkokoodeja on monenlaisia, kuten
- sykliset koodit (esim., Hamming-koodit)
- Toistokoodit
- Pariteettikoodit
- Polynomikoodit
- Algebralliset geometriset koodit
- Reed–Muller–koodit
- Täydelliset koodit
Lohkokoodit ovat sidoksissa pallopakkausongelmaan, joka on saanut vuosien varrella jonkin verran huomiota. Kahdessa ulottuvuudessa se on helppo visualisoida. Ota kasa pennejä pöydälle ja työnnä ne yhteen. Tuloksena on kuusikulmio, joka muistuttaa mehiläisen pesää. Mutta lohko koodit luottaa enemmän ulottuvuuksia, joita ei voi helposti visualisoida. Syvän avaruuden viestinnässä käytetty voimakas (24,12) Golay-koodi käyttää 24 ulottuvuutta. Jos käytetään binäärikoodina (kuten se yleensä on), dimensiot viittaavat edellä määriteltyyn koodisanan pituuteen.
koodausteoriassa käytetään N-ulotteista pallomallia. Esimerkiksi, kuinka monta penniä voidaan pakata ympyrän pöydälle, tai 3 mitat, kuinka monta marmoria voidaan pakata karttapalloon. Muut näkökohdat tulevat koodin valintaan. Esimerkiksi suorakulmaisen laatikon rajoitukseen pakattu kuusikulmio jättää kulmiin tyhjää tilaa. Mitoituksen kasvaessa tyhjän tilan osuus pienenee. Mutta tietyissä mitoissa Pakkaus käyttää kaiken tilan ja nämä koodit ovat niin sanottuja” täydellisiä ” koodeja. Ainoa nontrivial ja hyödyllisiä täydellinen koodit ovat etäisyys-3 Hamming koodit parametrit täyttävä (2R – 1, 2R – 1-r, 3), ja binary ja ternary Golay koodit.
toinen koodiominaisuus on naapureiden lukumäärä, joka yhdellä koodisanalla voi olla.Harkitsehan jälleen pennejä esimerkkinä. Ensin pakkaamme pennit suorakulmaiseen ruudukkoon. Jokainen penni on 4 lähellä naapureita (ja 4 kulmissa, jotka ovat kauempana). Kuusikulmiossa jokaisella pennillä on 6 lähinaapuria. Kun suurennamme mittoja, lähinaapureiden määrä kasvaa hyvin nopeasti. Tuloksena on useita tapoja melua saada vastaanotin valita naapuri (siis virhe) kasvaa samoin. Tämä on perustavaa laatua oleva ryhmäkoodien ja itse asiassa kaikkien koodien rajoitus. Yksittäiselle naapurille voi olla vaikeampi aiheuttaa virhettä, mutta naapureiden määrä voi olla riittävän suuri, joten kokonaisvirhetodennäköisyys todella kärsii.
lineaaristen lohkokoodien ominaisuuksia käytetään monissa sovelluksissa. Esimerkiksi lineaaristen lohkokoodien syndrooma-coset-ainutlaatuisuusominaisuutta käytetään säleikön muotoilussa, joka on yksi tunnetuimmista muotoilukoodeista.
Convolutionary codesEdit
convolutionary code-koodin ideana on tehdä jokaisesta koodisanasymbolista painotettu summa eri syötesanomasymboleista. Tämä on kuin konvoluutio, jota käytetään LTI-järjestelmissä systeemin ulostulon etsimiseen, kun tiedetään Tulo-ja impulssivaste.
niinpä yleensä havaitsemme systeemin konvoluution Enkooderin, joka on tulobitin konvoluutio, vastapainoksi konvoluution Enkooderin tiloille, rekistereitä.
pohjimmiltaan convolutionaaliset koodit eivät tarjoa parempaa suojaa melulta kuin vastaava lohkokoodi. Monissa tapauksissa ne yleensä tarjoavat enemmän yksinkertaisuutta täytäntöönpanoa yli lohko koodi yhtä suuri valta. Kooderi on yleensä yksinkertainen piiri, jossa on valtion muistia ja jonkin verran palautelogiikkaa, yleensä XOR-portteja. Dekooderi voidaan toteuttaa ohjelmistona tai firmwarena.
Viterbin algoritmi on optimaalialgoritmi, jota käytetään convolutionaalisten koodien purkamiseen. Laskennallisen kuormituksen vähentämiseksi on olemassa yksinkertaistuksia. He luottavat vain todennäköisimpien polkujen etsimiseen. Vaikka ne eivät ole optimaalisia, niiden on yleensä todettu antavan hyviä tuloksia hiljaisissa ympäristöissä.
Convolution-koodeja käytetään äänitaajuusmodeemeissa (V. 32, V. 17, V. 34) ja GSM-matkapuhelimissa sekä satelliitti-ja sotilasviestintälaitteissa.