Un mixer quadrature
Arată așa cumva.
De fapt, acestea sunt cele două mixere despre care am vorbit în secțiunea anterioară. Primele intrări ale ambelor mixere sunt alimentate cu un semnal de la ADC-ul nostru, iar al doilea semnal de la oscilatorul local. Cu toate acestea, semnalele LO din acest mixer trebuie să fie deplasate cu 90 de grade. Ie fluxul de date de la ADC este înmulțit în primul mixer de către sinus, iar în al doilea prin cosinusul format de oscilatorul nostru local. Evident, oscilatorul local ar trebui să aibă acum două ieșiri deplasate cu 90 de grade, adică păcat, cos. Heterodina a devenit o heterodină quadratură.
Ce face un astfel de mixer:
Să intrare vom fi ieșiri X. notate ca, I - partea care este înmulțit cu cosinusul, Q - partea care este înmulțită cu sinusul. w = 2nf. De unde apar astfel de ecuații:
Astfel de semnale miraculoase au loc la ieșirea mixerului nostru. Acesta este așa-numitul semnal de cvadratură, și anume: semnal de tip quadratură I-în-fază. Asta îți aduce aminte de ceva? Da, da, este foarte asemănător cu partea reală și imaginară a semnalului. Sau un plic complex.
Și deja din acest semnal quadratură este posibil să demodulezi orice. Întrebarea rămâne numai în complexitatea și realizabilitatea unui anumit tip de demodulare.
În principiu, dacă citiți articolul precedent, nu ar trebui să existe dificultăți speciale. Doar trebuie ca tot ce era în receptorul heterodyne să copieze încă o dată. Și pentru a ne îmbunătăți heterodinul, schimbându-l într-unul quadratură.
Actualizarea oscilatorului DDS:
Decimator - filtru CIC
Ultima dată când mi sa cerut să vorbesc despre alegerea frecvenței după decimator. Vă voi spune un pic despre cum se recomandă să lucrați cu decimarea unui semnal. În primul rând, se recomandă decimarea să se facă în pași. Ie rupe un factor de decimare mare în mai multe mici. Aceasta mărește suprimarea constituenților nedoriți formați în mod inevitabil în timpul decimării. Ie aliasing.
În plus, în fiecare etapă se recomandă creșterea capacității de biți, ceea ce ajută la creșterea intervalului dinamic al receptorului. Recomandări specifice, cum ar fi: câți pași de utilizat la un astfel de factor de decimare sunt greu de dat. Dar de obicei folosiți 2 până la 6, în funcție de factorul de decimare. Cu cât este mai mare raportul, cu atât mai mulți pași. De exemplu, pentru un receptor heterodyne cu un factor de decimare de 1024, ar fi posibilă întreruperea întregii decimări în 4 etape, cu factori de decimare de 8, 8, 8, 2. 8 * 8 * 8 * 2 = 1024. În realitate, efectul unei astfel de defecțiuni poate fi văzut numai prin realizarea FFT și observarea spectrului.
Cu toate acestea, toate acestea cresc intensitatea resurselor structurii de decimare. Deci, așa cum spun ei, toată lumea se moare. o)
Alegerea factorului de decimare depinde în primul rând de DAC aplicat sau de necesitatea de a se sincroniza cu standardele frecvenței de eșantionare audio. Și, de asemenea, din banda dorită de analiză a spectrului, dacă există un FFT în sistem. Criteriul lui Nyquist nu a fost anulat. Unele informații despre decimare pot fi găsite în [3]
Acest cuvânt dulce CORDIC
Sobsno, aceasta este așa-numita apendice, așa cum le place să scrie în literatura străină: o). În principiu, v-am spus deja tot ce vroiam în această parte a articolului. Și apoi voi vorbi despre cum fac unchii cool, este păcat că mătușii din acest subiect sunt rare: o).
Ideea este că o astfel de punere în aplicare a mixerului de cvadratură, despre care v-am spus, încearcă acum să nu facă. Și în loc de doi multiplicatori cu un generator DDS, folosiți un algoritm CORDIC cu un acumulator de fază. Dezavantajul multiplicatorului DDS + este acela că generatorul DDS pe lângă bateria de fază are o masă sinusoidală, iar acest tabel are o anumită precizie. Și totuși, de multe ori faza și masa sinusoidală sunt trunchiate, altfel ar fi nevoie de multă memorie. Nu voi intra în detaliile lucrării generatorului DDS, cred că veți găsi acest lucru pe Internet fără probleme. Dar bjaka se presupune că erorile de trunchiere de fază și, ca urmare a probelor de instalare ale sinusurilor un impact negativ asupra SFDR (interval dinamic liber de armonici), și SNR (raport semnal zgomot) al receptorului.
Dar CORDIC nu folosește tabele, ci produce o înmulțire pură a sinusului și a cosinusului unghiului, adică roteste vectorul. Nu am făcut măsurătorile calitative și cantitative în special mixere, realizat multiplicatorul + DDS și algoritmul CORDIC, așa că nu pot spune sigur că este mai bine, eu știu doar că în cadrul ședinței, nu veți auzi nimic din ce e sigur: o).
Cu toate acestea, unchii răcoroși care se ocupă de acest subiect, ceaiul nu este stejar și probabil știu despre ce vorbesc. Prin urmare, se poate spune cu aprobare că CORDIC ca mixer quadrature este mai bun.
Noi, ca de obicei, salvează nucleul logic al algoritmului CORDIC de la Xilinx. Acolo, pentru noi totul este gândit, trebuie doar să îl ajustăm corect.
CORDIC de la Xilinx în modul de rotație a vectorului, și acesta este exact ceea ce avem nevoie, calculează următoarele ecuații:
Dar acest lucru nu ne potrivește destul, avem nevoie doar de cosinus și sinus. Prin urmare, unul dintre intrări trebuie să fie alimentat în mod continuu la 0, atunci ecuațiile noastre vor lua forma:
De asemenea, puteți alimenta 0 până la X, ieșirea în acest caz va fi minus sinusoidală. Dacă mergeți înainte, de obicei este făcut. Diferența de aici, desigur, nu este specială, doar minus sinusul permite în concordanță cu FFT în cazul în care acesta este în sistem, există, în acest caz, câteva viraje mai ușor, dar asta e altă poveste ....
Ce este f? Evident, acesta este un unghi, în figură este desemnat ca P, tipul fazei este același. Intervalul de schimbare a unghiului de la -Pi la Pi. În realitate, acest lucru nu este foarte convenabil și atunci când configurați kernel-ul, este mai bine să utilizați opțiunea de unghi normalizat de la -1,0 la 1,0.
Ei bine ... Rămâne să înțelegem ce fel de fază de baterie este încă lipită acolo. Acumulatorul de fază este doar lucrul care conduce unghiul CORDIC φ. La fel ca înainte ca DDS să conducă numărul sinusoar sau cosinus într-un multiplicator, atunci acumulatorul de fază conduce colțul în CORDIC.
Duck, ce fel de baterie e asta?
Acesta este contorul de obicei cu indicele M și indicele M - aceasta este frecvența noastră cuvântul, schimba cuvântul, ne schimbă viteza de creștere și de fază, ca urmare a frecvenței-acordabil. Pe scurt, este exact acelasi nod care este in generatorul DDS, sau cu alte cuvinte este acelasi generator DDS doar fara o masa sinusoidala.
acumulator de fază, poate da naștere ca cel mai mult, binecuvântarea va fi stapanita de fiecare contor, și de a folosi deja cunoscute pentru a ne logic miezul generatorului DDS în generatorul de fază. Cu aceasta, cred că veți înțelege, nu uitați doar că algoritmul CORDIC are un format de intrare și ieșire fracționată. Formatul 1QN pentru datele de intrare și ieșire și 2QN pentru unghi. Mai mult, datashit de fum ...
Câteva cuvinte despre configurarea kernelului CORDIC:
Mod: rotirea vectorului (Rotire)
Structură: Modul transportor - în caz contrar, CORDIC nu va putea să contorizeze probele.
Formatul fazei: radiani normalizați.
Asigurați-vă că ați instalat coroana rotației Corse - aceasta include un modul de rotație a colțului grosier, altfel CORDIC va conta doar la Pi / 4. Și, de asemenea, include compensare scară, aceasta crește precizia.
Poate arata astfel:
Dar punerea în aplicare a acestui lucru în lumea reală, te voi lăsa pe temele tale. o). Cine poate stăpâni, scrie: o)
Apropo, există chiar și generatoare DDS care nu se bazează pe tabelul sinusoidal, ci pe baza algoritmului CORDIC: o). Resurse necesită mai mult, dar un spectru curat. Deci, cuplul a adus aminte ... apropo: o).
În principiu, pentru amatorii de radio, CORDIC nu poate fi folosit, totul funcționează bine și pe un multiplicator + multiplicator DDS.
Acești unchi se răcesc ...
Pentru a dura câteva cuvinte ca și ei, și în principiu este necesar. Adevărul este că punerea în aplicare a acestui lucru în FPGA este destul de complicată, nu am încă o stăpânire personală ... Dar este ceva de luptat pentru. Acest lucru se face, de obicei, acolo unde este mai simplu - într-un program de calculator.
Să ne imaginăm că am luat semnalul de cvadratură și l-am depus la FFT. Ce ne va da? Acest lucru ne va da spectrul de gamă al intervalului în timp real.
Este desenată schematic și nu la scară, pentru a înțelege pur și simplu semnificația. Pe acest spectru (graficul de sus) este clar că există un fel de semnal și dorim să-l auzim. Cum putem face asta? Lățimea de bandă a receptorului este de numai 3 kHz, iar semnalul pe spectru este în regiune, de exemplu la o frecvență de 50 kHz, adică frecvența oscilatorului local este de 50 kHz. Cea mai simplă metodă este de a schimba frecvența oscilatorului local cu 50 kHz în sus, astfel încât acest semnal să se afle în banda de trecere a filtrului trece-jos. Dar nu e chiar ... bine, a fost cunoscut de vremea lui Popov ...
Dar există o altă metodă, fără să atingeți frecvența oscilatorului local, este oarecum prost să luați și să copiați această parte a spectrului direct în lățimea de bandă a receptorului. Faceți IFPF și bucurați-vă ...
Ie Putem vizualiza intervalul în timp real și putem asculta diferitele sale părți fără să atingem reglarea receptorului. Profit? Da ...: oh). Este curat pe degete, există o mulțime de tot felul de recife, dar asta eo altă poveste ... și merge mult mai departe de un receptor digital simplu.
De fapt, de data asta ... Experimentele de succes și recepția pe distanțe lungi: o). Sper că a fost interesant pentru cei interesați: o).
Vă mulțumesc pentru atenție!
Mulțumesc, mă întreb, despre CORDIC nu știa.
Procesarea FFT în LF este folosită în majoritatea programelor SDR, care este complexă, ceea ce nu este o sarcină ușoară pentru FPGA. Dar există o altă cale, este descrisă în cărțile lui Polyakov.
Semnalele IQ trebuie să fie din nou amestecate din cauza frecvenței unor LF, apoi pliate, obținem o parte și fără schimbători de fază.
Dacă nu este nevoie să transferați spectrul, atunci frecvența poate fi de 1,5 kHz.
Receptorul pentru filtrele de fază este ușor de înțeles, dar nu și în particular. Pentru SSB, transformarea lui Hilbert va salva pe toată lumea. Deși în principiu acestea sunt aceleași ouă numai în profil.
Mulțumesc pentru articole. Odată ce destinatarii convertirii directe au fost interesați, cartea lui Polyakov se află încă în jurul valorii de undeva. Pentru a recunoaște, nu am crezut că totul a progresat până acum în această chestiune.
Deci, procesarea cuantică se află în prezent în centrul tuturor sistemelor radio moderne, fie radiolocație, radio-navigație sau comunicații radio digitale.
citește ca un roman - într-o singură zi :)
Să ne imaginăm că am luat semnalul de cvadratură și l-am depus la FFT. Ce ne va da? Acest lucru ne va da spectrul de gamă al intervalului în timp real.
O mică observație. Nu într-adevăr în timp real ... FFT funcționează pe secțiunile de semnal, mai degrabă decât alunecă pe eșantioane. Prin urmare, ele sunt distorsionate în orice mod posibil, prin secțiuni care se suprapun, introducând coeficienți de greutate etc.
Acest lucru este de înțeles. Timpul real este doar un termen în funcție de constrângerile de timp pe care le-ați întrebat :). În receptor, chiar și secunde de întârziere nu pot fi detectate de către utilizator, principalul lucru nu este de a pierde date.
În receptor, chiar și celelalte întârzieri nu vor fi detectate de utilizator. Vor fi detectate, precum și, de exemplu, semnalele de timp exacte: pi, pi, pi, pi, pi, piiii.
Da, bine, și mai multe detalii despre tehnica pi, pi, pi, pi, pi, piiii. după cum veți afla acolo, după cum veți afla. )