mircang9 Postat Februarie 23, 2017 Autor Partajează Postat Februarie 23, 2017 (editat) Nu e nevoie de medie adaptiva pentru prag. Media adaptiva chiar si cu "a" cat mai mic tinzand spre zero sau cu Fcut <<< 1 Hz pentru FTJM , nu este o metoda buna pentru ca demodularea nu se adapteaza favorabil unei demodulari fara zgomot ( oscilatii parazite ) la tranzitii lente. Daca de exemplu 0 logic dureaza 30 minute, media adaptiva de la FTJM ajunge la riplurile de la nivelul de 0 logic si incepe sa decodifice riplurile si astfel se ajunge la zgomot ( oscilatii parazite ). Alta problema este ca media adaptiva de la FTJM determina un prag variabil incorect sau descentrat. Pragul de comparatie trebuie sa fie un prag fix si nu obtinut prin FTJM. Pragul de comparatie fix pentru comparatorul software este chiar valoarea obtinuta pentru prag cu FTJM atunci cand la intrare in placa este introdusa purtatoarea adica frecventa centrala a canalului. Adica pragul fix de comparare este chiar pragul centrat pe frecventa purtatoare a canalului. Astfel se reduc si numarul de instructiuni executate de dsp si se reduce si spatiul de memorie folosit prin eliminarea FTJM si a conversiilor de tipuri de date ( fractional <-> float ). Cat despre extragerea bitilor de date nu este o problema. Bitii de date sunt cititi de catre placa electronica de decodificare coduri la jumatatea intervalului de timp al fiecarui bit. Graficul de mai jos nu s-ar fi putut obtine cu pragul variabil calculat cu un FTJM. Pe durata mare a "1" logic media variabila ar fi ajuns ori la ripluri ori undeva mai departe de media centrala, iar in momentul aparitiei semnalului util ar fi avut inertie foarte mare la revenirea pe media centrala. Oricum cea mai mare problema cu medie variabila este neimunitatea la acele ripluri pe centrul carora ar ajunge media adaptiva la tranzitii foarte lente de ordinul orelor. Editat Februarie 23, 2017 de mircang9 Link spre comentariu
cirip Postat Februarie 24, 2017 Partajează Postat Februarie 24, 2017 Nu e nevoie de medie adaptiva pentru prag. [...]Pragul de comparatie trebuie sa fie un prag fix [...]Adica pragul fix de comparare este chiar pragul centrat pe frecventa purtatoare [...] Hi, hi! Astept cu interes rezultatele functionarii in conditii de trafic real. Nu uita de variatiile de nivel, de rsz la intrarea demodulatorului, de tolerantele componentelor, de fuga in temperatura, de distorsiunile timpului de intarziere de grup de pe canal si alte dulceturi de genul asta. Bafta! Link spre comentariu
mircang9 Postat Februarie 24, 2017 Autor Partajează Postat Februarie 24, 2017 (editat) Multumesc Cirip, Sper ca voi savura cu placere dulceturile alea de pe linie. Oricum cred ca cea mai iportanta chestie in functionarea in conditii de trafic real este sincronizarea suficient de buna pe primul bit din secventa de cod. Oricum pentru sincronizare la receptie voi folosi secvente de biti de sincronizare a receptiei. Ma refer evident la sincronizare software. Editat Februarie 24, 2017 de mircang9 Link spre comentariu
mircang9 Postat Martie 28, 2017 Autor Partajează Postat Martie 28, 2017 (editat) Salut Cirip, Mai repede mai incet si sigur ma apropii de dulceturile de pe linia telefonica. Mai am de proiectat cablajul la receptor. Apoi cumparare piese, executie cablaj, lipire si apoi programare dsPIC-uri si apoi savurare dulceturi. Abia astept ! Editat Martie 28, 2017 de mircang9 Link spre comentariu
mircang9 Postat Februarie 14, 2019 Autor Partajează Postat Februarie 14, 2019 Salut Cirip, Revin dupa doi ani. Am incercat sa fac demodulare FSK cu dsPIC33FJ256GP506 de pe placa de dezvoltare dsPIC Starter Kit la 8 kHz pentru canal 1 ( F0 = 390 Hz, F1 = 450 Hz ) si tactul de 50 Hz il demoduleaza insa daca in tact inserez cate doi de unu logic adica 11 ( durata unui bit e de 20 ms pentru o viteza de 50 bps ) apar acele oscilatii parazite chiar daca am introdus un trigger schmidt software adica am lucra cu doua praguri de comparare in jurul mediei obtinute cu un FTJ de tip FIR cu 5Hz frecventa de taiere pentru a avea o frecventa de taiere reala de 50 Hz. Am lucrat cu 256 coeficienti. Am reusit sa demodulez tactul sau clockul de 50 Hz si pentru canal 20 ( F0 = 2670 Hz, F1 = 2730 Hz ) insa cu delay = 7 in loc de delay = 1 = 8000/4/F1 = 8000/4/2730. La canal 1 am avut un delay = 4 = Fs/4/F1 = 8000/4/450. In Matlab la simulari am reusit cu succes demodularea numai ca acolo nu am zgomot de cuantizare si in plus la FTB de tip FIR am mai multi coeficienti. La FTJ in Matlab am folosit filtru cu medie alunecatoare. Am folosit pentru FTJ in loc de FIR filtrul cu medie alunecatoare din Matlab si a functionat si in dsPIC. Cu toate astea, cum am mai spus, nu am putut scapa de acele oscilatii parazite la demodulare decat la demodularea clockului de 50 Hz. Am abandonat metoda cu FIR FTB + semn + inmultirea esantioanelor cu cele anterioare corespunzatoare unui indice i-delay + FTJ + comparare cu trigger schmidt + redare la output compare PWM cu rata de redare a esantioanelor la 8 kHz. Am apelat la metoda de conversie din modulare FSK in modulare ASK si apoi demodulare cu comparare cu trigger schmidt. Pasii sunt urmatorii: - convertor analog-digital cu Fesantionare = 8 kHz - filtru FIR trece banda centrat pe frecventa pentru 1 logic adica 450 Hz pentru FTB si transformare din FSK in ASK - redresor software prin inmultire cu (-1) a esantioanelor negative - filtru FIR trece jos cu frecventa de taiere reala undeva cred pe la 50 Hz si in calcule la 1 Hz. - comparator software cu doua praguri adica un trigger Schmidt - pwm la 8 kHz. Cu acest model de demoduator am obtinut rezultate bune si promitatoare cu eventuale probleme datorita variatiilor de amplitudine pe linie. Insa acele variatii de amplitudine ma astept sa fie mici. Am reusit filtrarea FTB si demodularea si scoaterea semnalului demodulat pe un pin de iesire digital pe acelasi dsPIC33FJ256GP506 de pe placa de dezvoltare. Ar mai ramane varianta cu demodulare prin masurare perioade. Ar mai fi demodulare prin observarea deviatiei de faza daca nu ma insel dupa ce am mai citit despre tehnici de demodulare. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum