Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

veaparandus algortimid

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    veaparandus algortimid

    Oskab keegi aidata vähe mälu nõudva ja suhteliselt kiire veaparandus algoritmi leidmisel. Vaja on mikroprotsessor panna raadio teel saatma ja vastu võtma mõne baidiseid pakette. Koos algoritmiga ei tohiks paketi suurus üle 2 korra minna.

    Praegu proovisin miski netist saadud reed-solomoni algortimiga:
    9 * 4bit teeb 15 * 4bit arvudeks, 3 viga parandab. Suht hea....

    Aga see parandab ka täiesti suvalisi asju
    Tegin pc peal teste - suvaliselt genereeritud pakettidest teeb omast arust korda peaaegu kõik (umbes 95 sajast). Polünoom on liiga madalat järku või midagi sellist. Selle ta käkib vist.

    No võiks kasuliku data crc-ga ka kokku arvutada, aga kogu see värk läheb ebaeffektiivseks.

    Süsteem on ühesuunaline, nii et tagasisidega ei saa teha. Labast mitmekordset saatmist ka ei tahaks teha. Kogu seda polünoomi matemaatikat ka ei viitsi uurima hakata...

    Et lihtsam variant siis küsida..... teab keegi mõnd head lahendust ?

    #2
    Ma prooviks kasutada manchesteri koodi mis baseerub frontidel, mitte nivool. Selline signaal moonutub vähem.
    Hammingu kodeeringut kasutatakse teletekstis, lubab ka signaali parandada kuid paketi maht suureneb 2* ja annab kõvasti vigu (nagu näha).
    Paketi ette võiks saata mingi ühtlase signaaliga moduleeritud preambula (0x55 ?), siis tekib vastuvõetavasse sodisse selge paus ja saab hakata signaali ootama. Nii teevad Nordic LSiI skeeme kasutavad raadioklaverid ja -hiired.
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    Comment


      #3
      Need kivid on Carrier-Present-Carrier-Absent meetodiga. Kui carrier on peal, siis vast loogilist 0 ei anna kui mingi ilgem inteferents just ei teki (see on ka küsimus - saab carrieri ajal 0 tekkida ?), aga loogilise nulli ajal võib võlts carrier tulla küll.... ühesõnaga minu arusaamist mööda mancester jookseks väga lombakalt.

      Hammingu kohta ma midagi suurt ei leidnud, aga niipalju kui ma aru sain siis on ta suht lihtne aga parandab ka vähe. Reed-solomon peaks parem olema.

      Pakett algab 1110. Vastuvõtja taktid on 8 korda suuremad kui saatja omad ja frondi muutuse katkestus on ka peal. Ootab 20 (4 jääb varuks) järjestikust ühte ilma frondimuutusteta... kuid võltsi tuleb ikka sisse.

      Huvitav kui saata kaasa miski ajastamp. Ja siis vaadata kas see klapib paketi saabumise ajaga...

      Comment


        #4
        Kõik pulsi ajalisele kestusele baseeruvad saatmisviisid on selles mõttes väheusaldatavad et vastuvõtja võib pulsi pikkust moonutada. Ise tegelen ka sarnase probleemiga, saata TX433, vastuvõtja RX433 ja täpselt nii juhtub ka - vastuvõtjas olevale komparaatorile tuleva signaali nivoo ujub (paketi vältel&#33 ja väljundpulsside kestus ka. Asendades 0 forndiga 0->1 ja 1 frondiga 1->0 läks asi paremaks. Noh, Rx433 on selline odav värk ka...
        Turvakeskused saadavad muide samuti paketti mitu korda, minu uuritu kordas sodi 8 korda. Kasutati ilmselt Keeloq krüpteerimist, selle kohta on Microchipi lehel koodinäide.

        Vastuvõetud signaali annab vajadusel mingi teise kivi jaoks talle vajalikku formaati konvertida. Mis kive sa kasutad? Niisama juhtkäskude edastamiseks on olemas Holtechi HT-xx koodrid/dekoodrid (Keeloq&#33. Daata jaoks nad ei kõlba küll.
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment


          #5
          reed-solomoni kasutatakse seal kus yhe takti aegu mitu bitti infot vaja edastada ( modemid ja raadiolevi). AMi puhul häirete probleem oli, on ja jääb. ehk aitaks kandevsageduse kasutuselevött nagu aeglastes modemites (1:2 > 1200/2400 Hz vöi 2:3 > 1200/1800 Hz ) , sel juhul saaks suht hästi välja filtreerida ka muud asjasse mittepuutuvad sagedused.

          Comment


            #6
            Seee kandesageduse jutt viis mõttele kasutada DTMF-koodrit ja dekoodrit. Saad edastada 16 erinevat sümbolit ehk siis peaaegu saab daata otse peale panna. Koode tuleb natuke konvertida sest nad pole järjest 0..9 ja A..F aga see on juba pisiasi.
            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

            Comment


              #7
              DTMF loetakse üsnagi häirekindlaks, siiski ei oska seda teistega võrrelda, pole nendega nii tuttav...

              DTMF-generaatori leiab paljudest lauatelefonidest, otse maatriksklaviatuuriga juhitavatel on tavaliselt ainult 12 erinevat koodi (0...9, * ja #, puuduvad koodid A...D). Paremini võiks sobida 16 erinevat koodi genereeriv TP5088 (sellist võib näiteks kohata mitmetes mikrokontrolleriga lauatelefonides) või muu 4 bitiga (mitte maatriksklaviatuuriga) juhitav DTMF generaator.

              DTMF dekoodrid on levinud KT3170, KT9170, KT9270, ...8870 ja vene KP1008BЖ18 (analoogid). Andmed 8870 kohta on näiteks
              http://www.elfa.se/pdf/73/730/07303621.pdf
              Skeem näiteks näha ka
              http://radiotech.by.ru/Shematic_PCB/PIC-co...aller_DTMF1.gif
              Seal DTMF signaal saabub C1 kaudu. Väljunditelt D0...D3 saab vastavuse kahendkoodis (16 erinevat kombinatsiooni), neile jääb kestma ka viimasena tulnud kood. Väljundil DV on loog. "1" ainult kehtiva toonikombinatsiooni tuleku ajal, selle abil saab näiteks järgnevat deshifraatorit blokeerida (kui "0"). Kui lisaks DTMF koodidele 0...9,* ja # on veel kasutusel A...D, saab kõik 16 erinevat "käsku" deshifreerida kasvõi nii nagu on tehtud:
              http://rf.atnn.ru/s6/dtmf-200.html
              Elektroonika töötab suitsu baasil.
              Tähendab - igasse detaili on doseeritud täpne kogus suitsu.
              Kui mõnest suits välja lasta, siis värk enam ei käi.

              Comment


                #8
                mu arusaama järgi neil moodulitel vaid on/off reziim, st analoogmodulatsioon läbi ei lähe. seega igasugune dtmf-i jutt möttetu. RC5 sarnane ja kodukootud modulatsioonid aga peaksid toimima.

                Comment


                  #9
                  RC5 töötas tõesti päris hästi. Paketikadu ka silma järgi üsna väike.
                  Miks ei saa ON/OFF reziimis kandevsagedust edasi kanda?
                  - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                  - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                  Comment


                    #10
                    Hammingu koodi kontrollbitid ei suurenda andmesõna 2 korda, see oleneb, kui suuri andmesõnu kasutatakse. Hammingi meetod võimaldab väära biti avastamise korral määrata selle asukoha andmesõnas ja bitt parandada. Selleks tuleb andmesõnale lisada mitu kontrollbitti vastavalt kriteeriumile, et info vastuvõtul kontrollbittidest koostatud kümnekohaline number oleks väära biti järjekorranumber andmesõnas. Seega m arvu andmebittide järjekorra esitamiseks vajatakse n arv kontrollbitte nii, et 2^^n nullist erinevast kümnendlugemist piisaks andmebittide arvu esitamiseks. Siit saame lihtsa kriteeriumi kontrollbittide vajaliku arvu jaoks 2^^n ≥ m + n + 1 . Vea puudumisel on kontrollbittide lugem null. Kolm kontrollbitti võimaldavad testida 4-bitise andmesõna viga, neli kontrollbitti – 11-bitist andmesõna.
                    Üsna häirekindel viis andmeid edastada liini pidi on bipolaarne kood.
                    Bipolaarses koodis vastavad bittidele 0 ja 1 erineva polaarsusega pinged, nulline pinge liinil tähendab andmete puudumist. Näiteks bitijadale 010011 ja järgnevale pausile vastaksid liini pinged -5,+5,-5,-5,+5,+5,0,0,0,0…
                    ka naabritel on kõrvad.

                    Comment


                      #11
                      Mina soovitaks vaadata helveskoodide veaparandus algorütme.
                      (helveskood - vööt e. ribakoodi edasiarendus)
                      Need sunnikud on päris häirekindlad ja kood peaks olema asm-i pandav.
                      MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                      KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                      Comment

                      Working...
                      X