I en kvadraturmottagare delas signalen i två grenar (figur 2). I den ena blandas den med cos ω 0 t och i den andra med − sin ω 0 t , alltså samma oscillator fasvriden 90°. Lågpassfilter efter blandarna tar bort summatermen vid 2 f 0 och störningar långt från f 0 . Det som finns kvar är I och Q, som samplas av två ADC :er. Blandarna är beskrivna i Blandare och frekvenssyntes .
Samma beräkning kan göras i programvara: en direktsamplande SDR multiplicerar sina reella sampel med cos och − sin från en digital oscillator och filtrerar sedan (se SDR ). Matematiken är densamma, men ett digitalt − sin har exakt rätt fas och exakt lika stor amplitud.
Därför blir demodulering enkel. Ur z kan man räkna ut:
Kvadraturmottagaren förutsätter att I- och Q-grenen är exakt lika: lika förstärkning och exakt 90° mellan oscillatorsignalerna. Verkliga kretsar avviker. Antag att Q-grenen har förstärkningen g = 1 + ε och att fasvridningen avviker φ från 90°. Då är Q = g sin ( ω t + φ ) för en ton, och signalen innehåller förutom den önskade tonen vid + f också en spegelbild vid − f . Spegelundertryckningen (IRR , eng. image rejection ratio) är förhållandet mellan dem:
Ett fel på några procent och några grader ger alltså en spegelbild kring 30 dB under tonen, vilket syns som en svag spegelsignal under en stark station. Felet är en enkel linjär blandning av I och Q och kan mätas och rättas i programvara, till exempel med en känd testton. En digital nedblandning (DDC , se nedan) har exakt 90° och exakt lika amplitud, så där finns felen bara i den analoga delen före ADC :erna.
Härledning av spegelundertryckningen
Med I = cos ω t och Q = g sin ( ω t + φ ) blir
z = I + j Q = 1 2 [ ( 1 + g e j φ ) e j ω t + ( 1 − g e − j φ ) e − j ω t ]
Första termen är den önskade signalen vid + f och den andra är spegelbilden vid − f . Förhållandet mellan beloppen i kvadrat är
I R R = | 1 + g e j φ | 2 | 1 − g e − j φ | 2 = 1 + 2 g cos φ + g 2 1 − 2 g cos φ + g 2
Är g = 1 och φ = 0 försvinner spegelbilden helt. För små fel blir nämnaren ≈ ε 2 + φ 2 och täljaren ≈ 4 .
Det finns ett andra fel. Likspänningsförskjutningar i förstärkarna och oscillatorsignal som läcker in i blandarens ingång och blandas med sig själv ger ett konstant tillskott i I och Q, och i spektrumet en spik vid 0 Hz (figur 4 A). Det är det som kallas likspänningsspiken i en SDR (jämför direktomvandling ). Det vanliga botemedlet är att ställa in mottagaren så att den önskade signalen inte hamnar mitt i spektrumet.
Sampling av reella och komplexa signaler#
Att sampla en signal med f s sampel per sekund upprepar spektrumet med f s :s mellanrum: varje signal vid f finns också vid f + k f s för alla heltal k . En reell signal har redan en spegelbild vid − f , så kopiorna vid k f s ± f omger varje multipel av f s symmetriskt. De kan inte överlappa originalet om signalen ryms i 0 till f s / 2 , och därför krävs f s > 2 B för ett reellt basband med bandbredden B (samplingsteoremet, se Digitalisering av ljud ). En komplex signal har bara en kopia per multipel av f s , och den ryms i hela området − f s / 2 till + f s / 2 . Bandbredden kan därför vara hela f s .
Reell signal
Komplex (I/Q) signal
Område utan vikning
0 till f s / 2
− f s / 2 till + f s / 2
Bandbredd som ryms
f s / 2
f s
Tal per sekund vid takt f s
f s
2 f s (I och Q)
Takt som behövs för bandbredd B
f s > 2 B
f s > B
Tal per sekund för bandbredd B
2 B
2 B
Den sista raden visar att de båda sätten kräver lika mycket data: två tal per sekund och hertz bandbredd. Skillnaden är att I/Q-metoden använder två långsamma ADC :er och att negativa frekvenser får sin egen plats.
Vikning#
Allt som ligger utanför området viks in. En reell signal vid frekvensen f hamnar vid | f − k f s | , där heltalet k väljs så att resultatet hamnar mellan 0 och f s / 2 . En komplex signal hamnar vid f − k f s med k vald så att resultatet hamnar mellan − f s / 2 och + f s / 2 .
Räkneexempel: vikning vid 100 kS/s
En önskad signal på 20 kHz och en störning på 70 kHz samplas med f s = 100 kS/s.
Reell sampling: störningen hamnar vid | 70 − 100 | = 30 kHz, inne i området 0–50 kHz, och går inte att skilja från en riktig signal vid 30 kHz.
Komplex sampling: störningen vid + 70 kHz hamnar vid 70 − 100 = − 30 kHz, alltså på negativa sidan.
Samma gäller för 130 kHz, 170 kHz och alla frekvenser k · 100 ± 30 kHz. Alla dessa viks till 30 kHz.
Figur 5 visar det med beräknade spektra. Överst syns det analoga spektrumet med de två signalerna. Efter sampling utan filter (mitten) finns en andra topp vid 30 kHz, 6 dB under den önskade, eftersom störningen hade halv amplitud. Nederst har ett analogt lågpassfilter (Butterworth, 8:e ordningen, 35 kHz) dämpat störningen på 70 kHz med 10 log 10 ( 1 + ( 70 / 35 ) 16 ) = 48,2 dB före samplingen, så att den vikta toppen hamnar 55 dB under den önskade. Den önskade tonen vid 20 kHz påverkas inte märkbart.
Vikning: en signal över halva samplingsfrekvensen hamnar i bandet
Tre staplade spektra. Överst det analoga spektrumet med en önskad signal vid 20 kilohertz och en störsignal vid 70 kilohertz, med gränserna för samplingsfrekvensen 100 kilohertz markerade. I mitten spektrumet efter sampling utan filter: störsignalen har vikts ned till 30 kilohertz, 6 dB under den önskade. Nederst efter ett analogt lågpassfilter vid 35 kilohertz: den vikta signalen ligger mer än 50 dB under.
0
50
100
150
200
250
−100
−50
0
dB
fs/2
fs
3fs/2
2fs
A. Analogt spektrum före samplingen
önskad, 20 kHz
störning, 70 kHz
0
10
20
30
40
50
−100
−50
0
dB
B. Efter sampling med 100 kS/s, utan filter
20 kHz
30 kHz: alias av 70 kHz
0
10
20
30
40
50
−100
−50
0
Frekvens (kHz)
dB
C. Med lågpassfilter (8:e ordningen, 35 kHz) före samplingen
20 kHz
alias, −55 dB
Figur 5. Vikning, beräknad med FFT. A: analogt spektrum med toner vid 20 kHz (0 dB) och 70 kHz (−6 dB). B: efter sampling med 100 kS/s, där störningen hamnar vid 30 kHz. C: med ett analogt lågpassfilter före samplingen sjunker den vikta signalen till −55 dB.Förstora
Vikningen kan inte repareras efteråt, eftersom signalerna redan är sammanblandade. Därför måste filtret ligga före ADC :n. Filtret ska dämpa allt som kan vikas in i det band man vill behålla, och det är hela området som ADC :n kan se, ofta betydligt bredare än f s / 2 . Om bandet man vill behålla når upp till B börjar de oönskade frekvenserna vikas in i det vid f s − B . Filtret får alltså en övergångsbandbredd från B till f s − B . Ju högre samplingstakt, desto bredare övergångsband och desto enklare filter. Det är ett av skälen till att en SDR gärna samplar mycket snabbare än bandbredden kräver och sedan minskar takten digitalt (se nedan).
Undersampling#
Sampling behöver inte bara användas för basband. Ett smalt band högt upp i frekvens kan också samplas med en takt som är mycket lägre än bandets frekvens, och vikningen flyttar då ner bandet. Det kallas undersampling eller bandpasssampling . Man delar frekvensaxeln i Nyquistzoner som är f s / 2 breda: zon 1 är 0 till f s / 2 , zon 2 är f s / 2 till f s , och så vidare. Alla zoner viks ned till zon 1. Zonerna med udda nummer hamnar rättvända, de med jämna nummer spegelvända : i zon m gäller
f a l i a s = f − ( m − 1 ) f s 2 ( m udda ) , f a l i a s = m f s 2 − f ( m jämn )
Villkoret är att hela signalbandet [ f L , f H ] ligger i en enda zon. Då finns ett heltal n med 1 ≤ n ≤ ⌊ f H / B ⌋ sådant att
2 f H n ≤ f s ≤ 2 f L n − 1
(för n = 1 gäller bara den undre gränsen, vilket är vanlig Nyquist-sampling). För ett 10 MHz brett band mellan 65 och 75 MHz, till exempel en mellanfrekvens på 70 MHz, ger det intervallen i tabell 2.
Tabell 2. Tillåtna samplingstakter för signalbandet 65–75 MHz (beräknade ur formeln ovan).
n
Tillåtet f s (MS/s)
Zon för bandet
1
≥ 150
1 (ren Nyquist-sampling)
2
75–130
2
3
50–65
3
4
37,5–43,3
4
5
30–32,5
5
6
25–26
6
7
21,4–21,7
7
Räkneexempel: 70 MHz samplas med 40 MS/s
Med f s = 40 MS/s är zonerna 20 MHz breda och bandet 65–75 MHz ligger helt i zon 4 (60–80 MHz). Zon 4 är jämn, så bandet viks ned spegelvänt: f a l i a s = 80 − f . Tonen vid 66 MHz hamnar vid 14 MHz och tonen vid 74 MHz vid 6 MHz (figur 6), och bandets kanter, 65 och 75 MHz, hamnar vid 15 och 5 MHz. Bandet ligger alltså mitt i zon 1 (0–20 MHz) med 5 MHz marginal åt båda hållen. Skulle man välja 45 MS/s går det inte: bandet korsar då zongränsen vid 67,5 MHz, och de två delarna viks över varandra.
Undersampling: en signal vid 70 MHz samplas med 40 MS/s
Två staplade spektra. Överst ett analogt spektrum från 0 till 100 megahertz uppdelat i Nyqvistzoner om 20 megahertz, där signalen med toner vid 66 och 74 megahertz ligger i den fjärde zonen. Nederst spektrumet efter sampling med 40 megasampel per sekund: tonerna har hamnat vid 14 och 6 megahertz, i omvänd ordning, eftersom den fjärde zonen är spegelvänd.
0
20
40
60
80
100
−30
−20
−10
0
dB
zon 1
zon 2
zon 3
zon 4
zon 5
66 MHz
74 MHz
A. Analogt signalband 65–75 MHz (bandpassfiltrerat) före ADC:n
0
5
10
15
20
−100
−50
0
Frekvens efter sampling (MHz)
dB
B. Efter sampling med 40 MS/s
14 MHz (från 66 MHz)
6 MHz (från 74 MHz)
Figur 6. Undersampling. A: signalband 65–75 MHz i zon 4 (markerad). B: spektrum efter sampling med 40 MS/s, beräknat med FFT: 66 MHz hamnar vid 14 MHz och 74 MHz vid 6 MHz, så ordningen byter sida (spegling).Förstora
Metoden fungerar i praktiken bara med tre förbehåll:
Bandpassfilter före ADC :n. Det måste dämpa allt utanför det valda bandet, eftersom brus och signaler i alla andra zoner viks ned i bandet.
Ingångskretsen måste klara frekvensen. ADC :ns sample-and-hold ska ha analog bandbredd upp till f H , inte bara upp till f s / 2 .
Klockjittern sätter gränsen efter signalfrekvensen, inte efter samplingstakten (se nedan). Att sampla 70 MHz kräver lika låg jitter som att sampla 70 MHz med högre takt.
Direktsampling av VHF är därför vanligast i mellanfrekvenssteg och i SDR som arbetar med ett fast, noggrant filtrerat band (se SDR ).
ADC : upplösning, brus och dynamik#
En ADC med N bitar avrundar varje sampel till en av 2 N nivåer. Felet beter sig som slumpbrus, och för en sinussignal med fullt utslag blir signal-brusförhållandet S N R = 6,02 N + 1,76 dB (härledningen står i Digitalisering av ljud ). Varje bit ger alltså 6 dB. Kvantiseringsbruset är jämnt fördelat över hela området 0 till f s / 2 , och i en FFT med N F F T punkter delas det på N F F T / 2 fack, så brusgolvet per fack ligger 10 log 10 ( N F F T / 2 ) dB under det totala bruset (figur 7). Med 8192 punkter är det 36,1 dB. En smal kanal i en SDR får i samma anda processvinst : tar man ut en kanal med bandbredden B ur en reell ström med takten f s minskar bruset i kanalen med 10 log 10 ( f s / 2 B ) dB, och för komplexa sampel med 10 log 10 ( f s / B ) dB.
Kvantiseringsbrus i FFT för 8 och 12 bitar
Spektrum av en kvantiserad sinussignal med fullt utslag, beräknat med en FFT på 8192 punkter, för en 8-bitars och en 12-bitars omvandlare. Brusgolvet per frekvensfack ligger vid ungefär −86 respektive −110 dB relativt tonen, alltså 36 dB under det totala signal-brusförhållandet på 50 respektive 74 dB. Varje extra bit sänker golvet med 6 dB.
0,0
0,1
0,2
0,3
0,4
0,5
−140
−120
−100
−80
−60
−40
−20
0
Frekvens (andel av samplingsfrekvensen fs)
dB relativt tonen
tonen, 0 dB
8 bitar: −86 dB per fack
12 bitar: −110 dB per fack
8 bitar (SNR 50 dB)
12 bitar (SNR 74 dB)
Kurvorna är medelvärden över 16 fack.
Figur 7. Kvantiseringsbrus i FFT, beräknat för en sinus med fullt utslag. Det uppmätta SNR är 49,7 dB (8 bitar) och 74,0 dB (12 bitar), nära 6,02N + 1,76 dB. Brusgolvet per fack ligger 36,1 dB lägre. De streckade linjerna är den teoretiska nivån.Förstora
Räkneexempel: dynamik i en komplex ström
En 12-bitars ADC (för I och för Q) ger ideal S N R = 6,02 · 12 + 1,76 = 74,0 dB. Strömmen har komplex takt 2,4 MS/s och man lyssnar på en kanal med bandbredd 12 kHz. Processvinsten är 10 log 10 ( 2,4 · 10 6 / 12 000 ) = 23,0 dB, så brusgolvet i kanalen ligger 74 + 23 = 97 dB under fullt utslag, om omvandlaren är ideal.
I verkligheten är det alltid sämre. ENOB (effektivt antal bitar) är den ideala bitmängd som motsvarar det SNR (mer exakt SINAD ) som omvandlaren faktiskt uppnår:
E N O B = S I N A D − 1,76 6,02
Ett uppmätt SINAD på 68 dB motsvarar ( 68 − 1,76 ) / 6,02 = 11,0 bitar. De viktigaste skälen till att det blir sämre än idealet är termiskt brus i ingångskretsen, icke-linjäritet och klockjitter.
Klockjitter. Provtagningstidpunkten varierar lite, och felet blir större ju snabbare signalen ändrar sig. För en sinus med frekvensen f sätter ett effektivt jitter t j gränsen
S N R j i t t e r = − 20 log 10 ( 2 π f t j )
Vid f = 70 MHz och t j = 1 ps blir gränsen 67,1 dB, lägre än idealet 74 dB för 12 bitar. För att jittern inte ska vara begränsande för 12 bitar behövs t j ≤ 1 / ( 2 π · 70 · 10 6 · 10 74 / 20 ) = 0,45 ps. Därför ställer undersampling av höga frekvenser mycket höga krav på samplingsklockan.
Överstyrning och dynamik. En ADC har ett fast fullt omfång. Överskrids det klipper den hårt och skapar distorsion över hela bandet. Därför anges ADC :er med SFDR (spuriousfritt dynamiskt omfång) och inte IP3 som analoga steg. Mottagaren måste lämna marginal under fullt utslag för signaler med höga toppar, till exempel OFDM och flera starka stationer samtidigt, och den marginalen kostar bitar. Läs mer i Linjäritet, intermodulation och dynamik .
Decimering och FIR -filter#
Efter ADC :n har en SDR ofta en samplingstakt som är mycket högre än vad den önskade signalen kräver. En kanal på 12 kHz behöver inte 2,4 MS/s. Man minskar därför takten genom decimering med faktorn M : man behåller bara var M :e sampel. Det enkla är lätt att göra fel: om man bara slänger sampel viks allt över f s / ( 2 M ) in i bandet. Man måste först lågpassfiltrera och sedan decimera.
Figur 8 visar kedjan i en digital nedblandning (DDC , eng. digital down conversion). En digital oscillator och en komplex blandare flyttar den önskade signalen till 0 Hz, ett FIR -lågpassfilter tar bort allt utanför kanalen, och decimeringen sänker takten. Här går takten från 2,4 MS/s till 48 kS/s (M = 50 ).
Digital nedblandning och decimering med FIR-filter
Överst ett blockschema: komplex signal med 2,4 megasampel per sekund, digital oscillator och blandare, FIR-lågpassfilter och decimering med 50 till 48 kilosampel per sekund. Under det filtrets frekvenssvar mellan 0 och 60 kilohertz: passband till 10 kilohertz, övergångsband upp till 38 kilohertz och spärrband från 38 kilohertz med mer än 80 dB dämpning. Spärrbandet 38–58 kilohertz är det som annars skulle vikas in i passbandet efter decimeringen.
Komplex insignal
2,4 MS/s
digital oscillator
FIR-lågpass
433 koefficienter
Decimera
med 50
Komplex utsignal
48 kS/s
0
10
20
30
40
50
60
−100
−80
−60
−40
−20
0
Frekvens efter blandning (kHz)
dB
passband
övergångsband
viks in i passbandet
övergångsband: 28 kHz
dämpning > 80 dB
Figur 8. Digital nedblandning och decimering. Överst blocken, under dem frekvenssvaret för ett FIR-filter med 433 koefficienter (Kaiser-fönster, 80 dB). Efter decimering till 48 kS/s viks frekvenserna 38–58 kHz in i området −10 till +10 kHz, och därför ska spärrbandet börja vid 38 kHz.Förstora
Ett FIR -filter (eng. finite impulse response) beräknar varje utsampel som en viktad summa av de L senaste insampeln: y [ n ] = ∑ k = 0 L − 1 h [ k ] x [ n − k ] . Koefficienterna h [ k ] är filtrets impulssvar. FIR -filter är alltid stabila, och med symmetriska koefficienter får de linjär fas , alltså samma fördröjning för alla frekvenser, vilket är viktigt för digital modulation. Priset är antalet koefficienter, som växer när övergångsbandet smalnas av. Ett IIR -filter återkopplar utsignalen och klarar en lika brant kant med färre koefficienter, men har olinjär fas och kan bli instabilt. Det används för enkla uppgifter som att jämna ut en nivåmätning.
Hur många koefficienter behövs? Med Kaiser-fönstret, som är vanligt för sådana filter, är antalet ungefär
L ≈ A − 7,95 2,285 Δ ω + 1 , Δ ω = 2 π Δ f f s
där A är önskad dämpning i dB och Δ f övergångsbandets bredd.
Räkneexempel: 2,4 MS/s till 48 kS/s
Kanalen ska behålla signaler upp till 10 kHz. Efter decimering till 48 kS/s viks frekvenser över 48 − 10 = 38 kHz in i kanalen, så spärrbandet ska börja vid 38 kHz och dämpa 80 dB. Övergångsbandet är Δ f = 38 − 10 = 28 kHz.
Δ ω = 2 π · 28 000 / 2,4 · 10 6 = 0,0733 rad.
L ≈ ( 80 − 7,95 ) / ( 2,285 · 0,0733 ) + 1 ≈ 431 . SciPy:s Kaiser-formel ger 433 koefficienter, och det uppmätta filtret dämpar 81,8 dB med 0,001 dB rippel i passbandet.
Fördröjningen är ( 433 − 1 ) / 2 = 216 sampel, alltså 216 / 2,4 · 10 6 = 90 μ s .
Beräknar man filtret på alla 2,4 miljoner sampel per sekund blir det 433 · 2,4 · 10 6 = 1,04 miljarder multiplikationer och additioner (MAC ) per sekund per gren. Eftersom bara var 50:e utsampel behövs kan en polyfasstruktur hoppa över resten: 433 · 48 000 = 20,8 miljoner MAC per sekund, 50 gånger färre.
Vid stora decimeringsfaktorer, till exempel i en FPGA , delar man ofta upp arbetet i flera steg: först ett enkelt CIC -filter (cascaded integrator-comb) som bara behöver additioner och subtraktioner och sänker takten i ett steg, sedan ett eller flera FIR -filter som formar passbandet och gör slutjusteringen.
FFT i praktiken#
I en SDR beräknas spektrumet med en FFT av de komplexa samplen (se Tidsdomän och frekvensdomän ). En FFT med N punkter ger N frekvensfack med avståndet Δ f = f s / N mellan fack, och för komplexa sampel täcker de området − f s / 2 till + f s / 2 . Resultatet vrids ofta så att 0 Hz hamnar i mitten (fftshift). Några saker avgör hur bilden ser ut:
Upplösning. Hur nära två signaler kan ligga bestäms av observationstiden N / f s . Med ett fönster blir upplösningen E N B W · f s / N , där ENBW (ekvivalent brusbandbredd) är 1,0 fack för rektangulärt fönster och 1,5 för Hann-fönster (Tidsdomän och frekvensdomän har en tabell över fönster). Med f s = 2,4 MS/s och N = 16 384 blir fackavståndet 146,5 Hz, upplösningen med Hann-fönster 220 Hz och observationstiden 6,8 ms.
Brusgolv. Brus fördelas över alla fack, medan en smal signal samlas i ett fack. Fördubblar man N sjunker brusgolvet per fack med 3 dB utan att signalen ändras, vilket gör svaga signaler lättare att se. För en komplex FFT med N punkter ligger brusgolvet 10 log 10 N dB under det totala bruset, med N = 16 384 alltså 42,1 dB.
Medelvärdesbildning. Man får en jämnare bild genom att beräkna flera FFT :er och ta medelvärde av effekten. Det minskar slumpvariationen i brusets nivå, men inte nivån.
Överlapp. Fönsterfunktioner dämpar kanterna av varje block, så en kort puls kan missas. Med 50 till 75 procent överlapp mellan blocken fångas den.
Vattenfall. Ställer man spektra efter varandra i tid får man ett vattenfallsdiagram (se Vattenfallsdiagrammet ).
Beräkna själv#
Följande Python-program gör kedjan i figur 8 på en simulerad I/Q-ström, och demodulerar sedan en FM-signal ur I/Q-samplen. Det testades när artikeln skrevs (NumPy och SciPy).
import numpy as np
from scipy import signal
fs = 2.4e6 # samplingstakt för I/Q-inspelningen
n = np . arange ( 2 ** 18 )
rng = np . random . default_rng ( 1 )
brus = 1e-4 * ( rng . standard_normal ( n . size ) + 1 j * rng . standard_normal ( n . size ))
z = ( np . exp ( 2 j * np . pi * 312.5e3 * n / fs ) # önskad signal vid +312,5 kHz
+ 0.3 * np . exp ( - 2 j * np . pi * 120e3 * n / fs ) # stark granne vid −120 kHz
+ brus )
# 1. Digital nedblandning: flytta +312,5 kHz till 0 Hz
z = z * np . exp ( - 2 j * np . pi * 312.5e3 * n / fs )
# 2. FIR-lågpass (Kaiser, 80 dB) och decimering med 50: 2,4 MS/s -> 48 kS/s
ntaps , beta = signal . kaiserord ( 80 , ( 38e3 - 10e3 ) / ( fs / 2 ))
h = signal . firwin ( ntaps | 1 , 24e3 , window = ( "kaiser" , beta ), fs = fs )
y = signal . upfirdn ( h , z , up = 1 , down = 50 )
fs_ut = fs / 50
print ( len ( h ), fs_ut ) # 433 koefficienter, 48000.0
# 3. Spektrum av resultatet (Hann-fönster)
N = 4096
Y = np . fft . fftshift ( np . fft . fft ( y [ 500 : 500 + N ] * np . hanning ( N )))
f = np . fft . fftshift ( np . fft . fftfreq ( N , 1 / fs_ut ))
print ( round ( f [ np . argmax ( abs ( Y ))], 1 )) # 0.0 Hz: signalen ligger på 0 Hz
print ( round ( 10 * np . log10 ( np . mean ( abs ( y [ 500 :]) ** 2 )), 2 )) # ca 0 dB: grannen är borta
# FM-demodulering ur I/Q: momentan frekvens = fasens ändring mellan sampel
t = np . arange ( 4800 ) / fs_ut
dev , fm_ton = 5e3 , 1e3
fas = dev / fm_ton * np . sin ( 2 * np . pi * fm_ton * t ) # integralen av 2π·dev·cos(2π·fm·t)
s = np . exp ( 1 j * fas )
f_inst = np . angle ( s [ 1 :] * np . conj ( s [: - 1 ])) * fs_ut / ( 2 * np . pi )
print ( round ( f_inst . max ()), round ( f_inst . min ())) # ca +4986 och -4986 Hz (nära 5000 Hz)
I Sverige
En I/Q-inspelning innehåller allt som låg i det inspelade bandet, också sådant som man inte får ta del av. De regler som gäller för att lyssna gäller även för inspelade I/Q-data, så det är en fördel att veta vad man tar emot. Se Att lyssna lagligt och Avlyssning och sekretess .
Kontrollfrågor#
Varför kan en reell blandare inte skilja en ton 3 kHz över oscillatorn från en ton 3 kHz under?
En reell signal har ett symmetriskt spektrum, och multiplikation med cos ω 0 t ger cos Δ t för båda tonerna. Den komplexa blandaren använder även − sin ω 0 t , och Q-grenen får olika tecken (+ sin Δ t eller − sin Δ t ), så signalerna hamnar vid + 3 och − 3 kHz.
En komplex I/Q-ström har samplingstakten 250 kS/s. Vilket frekvensområde och vilken bandbredd kan den rymma, och vilken takt behövdes för samma bandbredd i en reell ström?
Området är − 125 till + 125 kHz, alltså bandbredden 250 kHz. En reell ström behöver minst f s > 2 B = 500 kS/s för samma bandbredd.
Vilken frekvens får en ton på 30 kHz om man samplar den med 48 kS/s (reellt) respektive med 48 kS/s (komplext)?
Reellt: | 30 − 48 | = 18 kHz. Komplext: 30 − 48 = − 18 kHz, alltså på negativa sidan.
Beräkna spegelundertryckningen för 1 procent förstärkningsfel och 1 grads fasfel.
φ = 1 ∘ = 0,01745 rad, så I R R ≈ 4 / ( 0 , 01 2 + 0 , 01745 2 ) = 4 / ( 4,05 · 10 − 4 ) ≈ 9 900 , alltså ungefär 10 log 10 9 900 = 40 dB.
Går det att sampla ett band på 65–75 MHz med 45 MS/s?
Nej. Zonerna är 22,5 MHz breda, och gränsen mellan zon 3 och zon 4 ligger vid 3 · 22,5 = 67,5 MHz, mitt i bandet. De två delarna viks då över varandra. Tillåtna intervall är 37,5–43,3 MS/s (zon 4) och 50–65 MS/s (zon 3), bland andra.
Vilken klockjitter får man högst ha om jittern inte ska begränsa SNR till under 74 dB när man samplar en 70 MHz-signal?
t j ≤ 1 / ( 2 π f · 10 74 / 20 ) = 1 / ( 2 π · 70 · 10 6 · 5 012 ) ≈ 0,45 ps.
Ett FIR -filter ska föregå en decimering från 1,92 MS/s till 48 kS/s, där kanalen når 12 kHz. Var ska spärrbandet börja?
Frekvenser över f s , u t − B = 48 − 12 = 36 kHz viks in i kanalen vid decimeringen, så spärrbandet ska börja vid 36 kHz. Övergångsbandet är 12 till 36 kHz, 24 kHz brett.
Varför ökar inte brusgolvet i en FFT -bild när man fördubblar antalet punkter, utan sjunker i stället?
Det totala bruset är fast, men det delas på dubbelt så många frekvensfack, så varje fack får hälften av effekten: brusgolvet sjunker 3 dB. En smal signal samlas i ett enda fack och behåller sin nivå.