Spørgsmål:
Sine signal distorted in GNU Radio
Denis
2017-11-03 11:08:13 UTC
view on stackexchange narkive permalink

Jeg starter med Ettus Research lab-1 - lab-5 tutorial for at lære GNU Radio. Jeg har oprettet følgende superenkle flowgraf. Jeg bruger WX GUI, som det er det, der bruges i vejledningen.

lab-1

Denne flowgraf fungerer godt til lave frekvenser. Som angivet i output. Men mit problem starter, når jeg øger frekvensen. Efter min viden er en samplingshastighed på 32k tilstrækkelig til at prøve et signal med en maksimal frekvens på 16k. Derfor er jeg forvirret over, hvorfor min produktion er forvrænget.

enter image description here

En svar:
Marcus Müller
2017-11-03 14:32:31 UTC
view on stackexchange narkive permalink

Din forvirring stammer fra det faktum, at dit sind (og WX GUI scope sink) bruger lineær interpolation mellem prøverne.

Det er ikke korrekt - i dit tilfælde, hvor signalperioden ikke er et helt antal prøver, bliver dette tydeligt af det faktum, at ting ikke ser meget sinusformet ud. De er stadig (jeg lover;)).

Tænk over det sådan: ved nøjagtigt 16 kHz samplet med 32 kHz, får du 2 prøver pr. Periode, ikke? Så hvis disse prøver tilfældigvis ligger på cosinusens ekstrema, får du $ [+ 1 \, -1 \, +1 \, -1 \, \ ldots] $.

Med 13,7 kHz, ikke så langt væk fra det, får du "for det meste" også skiftende tegn, men hver så og så mange prøver, "rammer" du stadig den samme øvre eller nedre halvdel af en cosinus to gange. Derfor ser ting ud uregelmæssigt ud.

Tingene er i perfekt, flot form! Jeg har lavet en hurtig Jupyter Notebook til illustration. Hvis du ikke har tid til at læse det, er det takeaway:

original, continuous

sampling

wrong interpolation

Hvad du skal gøre, mentalt, er interpolering ved hjælp af en $ \ mathrm {sinc} $ -funktion som interpolator. (Jeg gjorde det i den forbedrede version af den bærbare computer med de større billeder i sidste del.)

Hele pointen er, at selvom det måske ikke ligner det, er disse " takkede "prøver af en 13,7 kHz svingning stadig er 100% den svingning, og indeholder al den information, det kontinuerlige signal havde. Pænt!

Tak så meget Marcus. Jeg sætter stor pris på din indsats for at skabe dette svar. Der er så meget indhold i dette svar, at jeg har brug for at gå igennem langsomt. Jeg kommer tilbage.
selv tak. Faktisk gør jeg det for sjov (og også træning - afholder måske et seminar for schweiziske skinke næste år om nøjagtigt sådanne emner: grundlæggende i DSP & SDR for ambitiøse radioamatører)
Dette svar er så godt. Jeg havde studeret dette i et stykke tid, og det giver mere mening hver gang.
@ Marcus Muller, jeg så en af ​​dine tutorials på Youtube. Tror du, du også kan optage den næste og også sætte på youtube? Det vil hjælpe mange lignende studerende som os.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...