Iš technologijų istorijos. Galaherio kodas

Komentarai Prisijungti

Viršuje:   Seniausi | Naujausi

SuperHP 2010-02-15 14:18
Taip ir nesupratau - tai kokia ta Senono riba yra matuojant kbps?
tomechek 2010-02-15 14:43
Senono riba priklauso nuo kanalo. USB vienokia, LAN kitokia, sviesolaidziams dar kitokia.
Separatistas 2010-02-15 19:17
O nebūna kad kontrolės bitai gaunami su klaidom ?
tomechek 2010-02-16 00:18
Jei lyginumo bitas reiskia, kad visu duomenu bitu suma yra lygine, tai kartu su lyginumo bitu suma bus visada nelygine nepriklausomai nuo to kokie duomenys. Taigi jei ivyko klaida lyginumo bite, kaip ir bet kokiam kitam, suma pasidaro lygine ir tai identifikuojama kaip klaida.
zet 2010-02-16 22:10
na viskas labai paprasta. Cia prasideda kodavimas. Pvz prirasius viena bita galima perduoti ar ivykoi klaida, su salyga, ar ivyksta klaida viename bite. Pvz, jei visda galima prirasyti viena bita taip, kad visada bitu suma butu lygine. Jei ivyksta klaida (viena klaida) bitu suma buna nelygine. Bet tas pats bitu perrasymas yra realiai vienos aibes atvaizdavimas i kita. Galima parinkti aibe tokiu siaciu, kad ivykus nors vienai klaidai visada rodo i ta pati skaiciu. Klausimas tik, kiek papildomu bitu reikia. Is principo yra informacijos tvermes desnis. Reiskias suncias toki koduota pranesima, minimaliai siunti pati skaiciu, ir informacija, ar ivyko klaida, ir kur ivyko. Tarkim zodis is 6 bitu. Reikia prisiminti, kad klaida gali ivykti ir papildomuose bituose (ne tik tuose sesiose). Tad tarkmie galima tik viena klaida. Reikia ir pasakyti vieta, kur ji ivyko. tad reikia prideti minimum 4 bitus, kad pasakyti, kur ivyko klaida, jei ji ivyko. 7,8, 9, 11 bitu zodziui irgi reikia prideti minimum 4 bitus. nes 4 bitai tai saugo (15+0).0, kad klaida neivyko. Cia yra kiek minimaliai reikia prideti, kad pasakyti, kur yra kladai. Kalbant, kiek pakankamai, kad uzkuodoti, tai reikia rasti didesnias aibes, kad su vienu ju pokyciu (transformacija) visda patektu i atitinkamas mazasnes aibes. Siaip cia nesimokiau, kazkada prie alaus diskutavome tad jei klystu, pataisykite
rwc 2010-02-17 02:21
įtartinus duomenis. Grįžtam prie temos. Kaip minėjau, galima į patikros - maišos kodus įpainioti "koreguojančius" duomenis. Vienas būdas: įsivaizduokim, kad perduodam ne atskirus bitus, o tam tikrą jais užkoduotą bangą: pvz., 0123210123210. Taip perduodame "kreivės" arba matematinės funkcijos vertes atskiruose taškuose. Iškoduodami tikimės, kad gausime tolydžią kreivę. Įterpkime pseudoatsitiktinėse vietose tarpinių taškų, ir jei perduodant įvyks klaida, aptiksime, kad tolydumas pažeistas - galutinė kreivė turi daugiau vingių, nei turėjo būti perduota verčių. Tereikia surasti, kuriuos taškus pašalinti, kad vėl gautume tolydžią kreivę. Tačiau perdavinėjame diskrečius, ne analoginius signalus, vadinasi klasikiniai polinomai čia netinka. Užtat tinka diskretus panašus atvejis - diskrečioji Furjė transformacija, kuri aprašo statistiką, kaip dažnai po 0 eina 1 vienas ir atvirkščiai - tiksliau, kuriose pozicijose "apsiverčia". Belieka sugalvoti, kaip papildyti DFT "skaitmeninį polinomą", kad galėtume surasti klaidas ir iš likusių duomenų atstatyti pradinę 0-1 "kreivę". Kaip ir viskas, toliau tik išradingumo dalykas, kaip pritaikyti šiuos tris principus (maišos kodus, perteklinius duomenų blokus ir papildomus klaidos atstatymo koeficientus). Radę gerą balansą, pasiektume, kad: duomenų signalas būtų "vos girdimas - bet labai plepus", kad beveik niekada nepriimtume klaidingų duomenų ir neturėtume skambinti į Hubble'ą juos pakartoti, ir kad pertekliniai duomenys sudarytų labai mažą dalį "vos girdimo, bet labai plepaus" duomenų srauto. Idealus atvejis ir bus Šenono riba (su begalinio ilgio duomenų srautu teisingų duomenų kiekis artės prie visų išsiųstų duomenų kiekio - įskaitant klaidas, papildomus duomenis ir pakartojimus).
rwc 2010-03-14 12:58
Beje, mažytis netikslumas straipsnyje. Ne visada! Tik tuomet, kai iškraipymai nesiekia tokio masto, jog būtų gautas kitas leistinas blokas. Galima vieno bloko patikros kodą įskaičiuoti į sekančio ir t.t. - tuomet žinosime, kad kažkur buvusiuose duomenyse įvyko klaida, t.y., sugadinti paketai "praslydo" kaip geri - bet vėlgi, nesame tikri, kad neįvyko neįtikėtinas sutapimas ir visa informacija nesugedo iki teisingų paketų. T.y., galiu "iškepti" Ubuntu CD ir ant jo užrašyti "Windows" - tai bus korektiškas duomenų masyvas, tik vis tiek "su klaida". Žodžiu, šis sakinys ne tik netikslus, bet ir apskritai beprasmis - abiem atvejais tikimybė, kad "praslys" sugadinti duomenys, ne mažesnė nei patikros bitų informacijos kiekio inversija (p>=1/i).