Sveriges Radiofrekvensallokering
Radioteknik och mätteknik

I/Q-signaler, sampling och digital signalbehandling

Hur en radiosignal beskrivs med två tal, I och Q, varför det behövs, vad som händer när den samplas (vikning, undersampling, kvantiseringsbrus) och hur digital nedblandning, decimering, FIR-filter och FFT används i en programvarudefinierad radio.

Avancerad25 min läsningGranskad 25 oktober 2026
Innehåll
  1. Reella och komplexa signaler
  2. Så skapas I och Q
  3. Amplitud, fas och frekvens
  4. I/Q-obalans och likspänning
  5. Sampling av reella och komplexa signaler
    1. Vikning
  6. Undersampling
  7. ADC: upplösning, brus och dynamik
  8. Decimering och FIR-filter
  9. FFT i praktiken
  10. Beräkna själv
  11. Kontrollfrågor

Spänningen i en antenn är ett enda reellt tal som varierar med tiden. Så fort signalen ska behandlas digitalt, till exempel i en programvarudefinierad radio, är det ändå praktiskt att beskriva den med två tal i taget, I och Q, som tillsammans bildar ett komplext tal. Artikeln förklarar varför, hur I och Q bildas och vad som händer när de samplas: vikning, undersampling, kvantiseringsbrus, och hur digital nedblandning, decimering, FIR-filter och FFT används i praktiken. Den bygger på Tidsdomän och frekvensdomän och Digitalisering av ljud, där grunderna för sampling visas för reella ljudsignaler. Alla spektra och siffror i figurerna är beräknade i Python på simulerade signaler.

Reella och komplexa signaler#

En reell signal x(t) har ett spektrum som är symmetriskt: för varje frekvens +f finns en spegelbild vid −f med samma storlek. De negativa frekvenserna innehåller ingen ny information, men de gör att en reell signal inte kan avgöra om en ton ligger över eller under en referensfrekvens. Det är samma sak som spegelfrekvensen i en superheterodyn: en reell blandare ger samma resultat för två frekvenser som ligger lika långt från oscillatorn åt var sitt håll.

Figur 1 visar skillnaden. Överst finns en reell radiosignal med två toner, en vid f0+3 kHz och en 6 dB svagare vid f0−5 kHz, där f0=100 kHz. Efter en reell blandare med cos2πf0t och ett lågpassfilter ligger tonerna vid ±3 och ±5 kHz, helt symmetriskt, och man kan inte längre se vilken som låg över och vilken som låg under f0. Efter en komplex blandare, där signalen multipliceras med e−j2πf0t, blir resultatet ensidigt: tonerna ligger vid +3 kHz och −5 kHz. Tecknet på frekvensen bevarar information om vilken sida om oscillatorn signalen låg.

Reellt och komplext spektrum efter blandning Tre staplade spektra. Överst ett reellt radiosignalspektrum med toner vid ±103 och ±95 kilohertz, symmetriskt kring noll. Mitten: efter blandning med en reell lokaloscillator vid 100 kilohertz och lågpassfiltrering ligger linjer vid ±3 och ±5 kilohertz, så man kan inte avgöra vilken som låg över och vilken under lokaloscillatorn. Nederst: med en komplex blandare ligger linjerna vid +3 och −5 kilohertz, och de är åtskilda. −150 −100 −50 0 50 100 150 −60 −40 −20 0 dB A. Reell radiosignal (två sidor, symmetriskt) −(f₀ + 3 kHz) −(f₀ − 5 kHz) f₀ − 5 kHz f₀ + 3 kHz −10 −5 0 5 10 −60 −40 −20 0 dB B. Efter reell blandare (cos) och lågpassfilter 3 kHz 3 kHz 5 kHz 5 kHz −10 −5 0 5 10 −60 −40 −20 0 Frekvens relativt lokaloscillatorn (kHz) dB C. Efter komplex blandare (I/Q) och lågpassfilter +3 kHz −5 kHz
Figur 1. Spektra beräknade med FFT för en signal med två toner vid f₀ + 3 kHz (0 dB) och f₀ − 5 kHz (−6 dB), f₀ = 100 kHz. A: den reella signalen. B: efter reell blandare (cos) och lågpassfilter, där de två tonerna inte kan skiljas från sina spegelbilder. C: efter komplex blandare (I/Q) och lågpassfilter, där tonerna hamnar på rätt sida om noll.

En komplex signal skrivs z(t)=I(t)+jQ(t). Delarna kallas I (eng. in-phase, i fas) och Q (eng. quadrature, i kvadratur, alltså 90° förskjuten). I och Q är verkliga spänningar i kretsen, men de kombineras matematiskt som real- och imaginärdel. En komplex ton med frekvensen f är

z(t)=Aej(2πft+ϕ)=Acos(2πft+ϕ)+jAsin(2πft+ϕ)

och har en enda spektrallinje, vid +f om f är positiv och vid −f om den är negativ. Beloppet A=|z| är amplituden och \argz är fasen.

Funktionen z(t) kallas den komplexa enveloppen eller basbandsekvivalenten. Om Z(f) är spektrumet för z blir spektrumet för x lika med 12[Z(f−f0)+Z*(−f−f0)]: en kopia av Z vid +f0 och en komplexkonjugerad spegelbild vid −f0. Eftersom Z inte behöver vara symmetrisk innehåller kopian vid +f0 all information. I och Q varierar långsamt jämfört med f0, bara så snabbt som informationen kräver. Det är poängen med I/Q-beskrivningen: för en bärvåg på 100 MHz med 200 kHz bandbredd behövs bara 200 kS/s komplexa sampel, inte 200 MS/s.

Så skapas I och Q#

I en kvadraturmottagare delas signalen i två grenar (figur 2). I den ena blandas den med cosω0t och i den andra med −sinω0t, alltså samma oscillator fasvriden 90°. Lågpassfilter efter blandarna tar bort summatermen vid 2f0 och störningar långt från f0. Det som finns kvar är I och Q, som samplas av två ADC:er. Blandarna är beskrivna i Blandare och frekvenssyntes.

Kvadraturmottagare med I- och Q-gren Blockschema. Antennsignalen går genom ett filter och en lågbrusförstärkare och delas i två grenar. Övre grenen blandas med lokaloscillatorn cos, nedre med lokaloscillatorn fasvriden 90 grader (minus sin). Varje gren har ett lågpassfilter och en AD-omvandlare, och utgångarna I och Q bildar tillsammans den komplexa signalen z = I + jQ i digital signalbehandling. Filter, LNA −90° cos ω₀t −sin ω₀t LO ADC I ADC Q lågpass lågpass analogt digitalt Digital signalbehandling z = I + jQ
Figur 2. Kvadraturmottagare. Samma lokaloscillator matar två blandare, den ena via ett 90°-steg. De två lågpassfiltren och ADC:erna ska vara så lika som möjligt, annars blir I och Q ojämna (se avsnittet om I/Q-obalans).

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.

Amplitud, fas och frekvens#

Med z=I+jQ finns allt i en enda punkt i I/Q-planet: avståndet från origo är amplituden A=I2+Q2 och vinkeln är fasen ϕ=atan2(Q,I). En komplex ton med positiv frekvens roterar moturs i planet, en med negativ frekvens medurs, och frekvensen är rotationshastigheten (figur 3).

Positiv och negativ frekvens i I/Q-planet Tre delar. Vänster: en komplex ton med positiv frekvens, åtta sampel per varv, roterar moturs i I/Q-planet. Mitten: samma ton med negativ frekvens roterar medurs. Höger: tidsförloppet för I och Q för den positiva tonen, där Q är en sinusvåg som ligger 90 grader efter I:s cosinusvåg. I Q Positiv frekvens roterar moturs 0 1 2 3 4 5 6 7 I Q Negativ frekvens roterar medurs 0 1 2 3 4 5 6 7 Punkt n är sampel nummer n: fasen ändras 45° per sampel (en åttondels varv). 0 1 2 −1 0 1 Tid (perioder) I = cos Q = sin (90° efter I) Positiv frekvens i tiden
Figur 3. En komplex ton i I/Q-planet. Positiv frekvens roterar moturs och negativ medurs. Sampel nummer n ligger 45° efter sampel n − 1, så en ton på en åttondel av samplingstakten ger åtta punkter per varv. Till höger syns tidsförloppet för positiv frekvens: I = cos och Q = sin.

Därför blir demodulering enkel. Ur z kan man räkna ut:

Signal Så får man ut den ur z
AM (Amplitudmodulation) Amplituden |z|, minus likkomponenten
FM (Frekvensmodulation) Fasens ändring: finst[n]=fs2π\arg(z[n]z*[n−1])
SSB Filtrera bort det ena sidbandet i z och ta realdelen
Digital modulation (Digital modulation) Själva punkten (I,Q) i konstellationsdiagrammet, som är I/Q-planet

Formeln för FM kräver ingen faslåst slinga: produkten z[n]z*[n−1] har fasen ϕ[n]−ϕ[n−1], och dividerar man med 2π och multiplicerar med fs får man frekvensen. Skulle fasen röra sig 0,5 radianer mellan två sampel med fs=48 kS/s är frekvensen 48000·0,5/(2π)=3820 Hz. Samma I/Q-plan är det som ritas som konstellationsdiagram i Digital modulation, och det är också det som en I/Q-modulator i sändaren styr, fast åt andra hållet.

I/Q-obalans och likspänning#

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=gsin(ω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:

IRR=1+2gcosφ+g21−2gcosφ+g2≈4ε2+φ2

där φ är i radianer och närmevärdet gäller för små fel. Figur 4 visar spektrumet för en ton med ε=2 procent och φ=2∘: spegelbilden ligger ungefär 34 dB under tonen, och nedan syns hur IRR beror på de två felen. Tabell 1 ger några värden.

I/Q-obalans ger spegelbild och likspänningsspik Vänster: spektrum för en komplex ton vid +10 kilohertz med 2 procent förstärkningsfel och 2 graders fasfel mellan I och Q. En spegelbild syns vid −10 kilohertz, ungefär 34 dB under tonen, och en likspänningsspik vid noll. Höger: spegelundertryckningen i dB som funktion av fasfelet för fem värden på förstärkningsfelet. −15 −10 −5 0 5 10 15 −100 −75 −50 −25 0 Frekvens (kHz) dB A. Spektrum med 2 % och 2° fel tonen 0 dB spegelbild −34 dB likspänning −51 dB 0 1 2 3 4 5 20 30 40 50 60 70 80 Fasfel (grader) Spegelundertryckning (dB) 2 %, 2°: 34 dB B. Spegelundertryckning mot fasfel Förstärkningsfel: 0 % 0,5 % 1 % 2 % 5 %
Figur 4. A: beräknat spektrum för en ton vid +10 kHz med 2 % förstärkningsfel, 2° fasfel och en likspänningsförskjutning på 0,3 % av amplituden. B: spegelundertryckningen som funktion av fasfelet för fem förstärkningsfel. Punkten markerar 2 % och 2°.

Tabell 1. Spegelundertryckning för några fel i I/Q-grenarna (beräknad med den exakta formeln).

Förstärkningsfel ε Fasfel φ IRR (dB)
5 % 5° 26,0
2 % 2° 34,0
1 % 1° 40,0
0,1 % 0,1° 60,0

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.

Första termen är den önskade signalen vid +f och den andra är spegelbilden vid −f. Förhållandet mellan beloppen i kvadrat är

IRR=|1+gejφ|2|1−ge−jφ|2=1+2gcosφ+g21−2gcosφ+g2

Ä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 fs sampel per sekund upprepar spektrumet med fs:s mellanrum: varje signal vid f finns också vid f+kfs för alla heltal k. En reell signal har redan en spegelbild vid −f, så kopiorna vid kfs±f omger varje multipel av fs symmetriskt. De kan inte överlappa originalet om signalen ryms i 0 till fs/2, och därför krävs fs>2B för ett reellt basband med bandbredden B (samplingsteoremet, se Digitalisering av ljud). En komplex signal har bara en kopia per multipel av fs, och den ryms i hela området −fs/2 till +fs/2. Bandbredden kan därför vara hela fs.

Reell signal Komplex (I/Q) signal
Område utan vikning 0 till fs/2 −fs/2 till +fs/2
Bandbredd som ryms fs/2 fs
Tal per sekund vid takt fs fs 2fs (I och Q)
Takt som behövs för bandbredd B fs>2B fs>B
Tal per sekund för bandbredd B 2B 2B

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−kfs|, där heltalet k väljs så att resultatet hamnar mellan 0 och fs/2. En komplex signal hamnar vid f−kfs med k vald så att resultatet hamnar mellan −fs/2 och +fs/2.

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 10log10(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.

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 fs/2. Om bandet man vill behålla når upp till B börjar de oönskade frekvenserna vikas in i det vid fs−B. Filtret får alltså en övergångsbandbredd från B till fs−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 fs/2 breda: zon 1 är 0 till fs/2, zon 2 är fs/2 till fs, 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

falias=f−(m−1)fs2(m udda),falias=mfs2−f(m jämn)

Villkoret är att hela signalbandet [fL,fH] ligger i en enda zon. Då finns ett heltal n med 1≤n≤⌊fH/B⌋ sådant att

2fHn≤fs≤2fLn−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 fs (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
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).

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 fH, inte bara upp till fs/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 2N nivåer. Felet beter sig som slumpbrus, och för en sinussignal med fullt utslag blir signal-brusförhållandet SNR=6,02N+1,76 dB (härledningen står i Digitalisering av ljud).1 Varje bit ger alltså 6 dB. Kvantiseringsbruset är jämnt fördelat över hela området 0 till fs/2, och i en FFT med NFFT punkter delas det på NFFT/2 fack, så brusgolvet per fack ligger 10log10(NFFT/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 fs minskar bruset i kanalen med 10log10(fs/2B) dB, och för komplexa sampel med 10log10(fs/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.

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:

ENOB=SINAD−1,766,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 tj gränsen2

SNRjitter=−20log10(2πftj)

Vid f=70 MHz och tj=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 tj≤1/(2π·70·106·1074/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.3 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 fs/(2M) 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.

Ett FIR-filter (eng. finite impulse response) beräknar varje utsampel som en viktad summa av de L senaste insampeln: y[n]=∑k=0L−1h[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är4

L≈A−7,952,285Δω+1,Δω=2πΔffs

där A är önskad dämpning i dB och Δf övergångsbandets bredd.

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=fs/N mellan fack, och för komplexa sampel täcker de området −fs/2 till +fs/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/fs. Med ett fönster blir upplösningen ENBW·fs/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 fs=2,4 MS/s och N=16384 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 10log10N dB under det totala bruset, med N=16384 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) + 1j * rng.standard_normal(n.size))
z = (np.exp(2j * np.pi * 312.5e3 * n / fs)             # önskad signal vid +312,5 kHz
     + 0.3 * np.exp(-2j * 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(-2j * 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(1j * 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)

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ω0t ger cosΔt för båda tonerna. Den komplexa blandaren använder även −sinω0t, 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 fs>2B=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å IRR≈4/(0,012+0,017452)=4/(4,05·10−4)≈9900, alltså ungefär 10log109900=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?

tj≤1/(2πf·1074/20)=1/(2π·70·106·5012)≈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 fs,ut−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å.


  1. Formeln antar att kvantiseringsfelet är okorrelerat med signalen och jämnt fördelat, vilket stämmer bra för stora signaler men inte för mycket små eller för signaler med enkel periodicitet. Analog Devices MT-229. Siffrorna 49,7 och 74,0 dB i figur 7 är uppmätta på simulerade data och avviker några tiondels dB från det teoretiska värdet. ↩

  2. Analog Devices MT-007 (Walt Kester). Formeln förutsätter en ideal ADC där jittern är enda brusorsak. ↩

  3. Analog Devices MT-012 (Walt Kester). Skälet är att en ADC saknar den mjuka kompression som en analog förstärkare har och i stället klipper hårt vid överstyrning. ↩

  4. Kaisers formel för filterlängd finns i Oppenheim och Schafer. Värdet 433 koefficienter kommer från SciPy:s kaiserord följt av firwin med den cutoff-frekvens som ligger mitt i övergångsbandet, och 81,8 dB är den minsta dämpningen i spärrbandet som mättes i den beräknade frekvenskurvan. ↩

Källor och vidare läsning

  1. Prentice Hall (2011). R. G. Lyons: Understanding Digital Signal Processing, 3:e upplagan. Kvadratursignaler, positiva och negativa frekvenser, sampling och vikning, decimering, FIR-filter och FFT på en nivå som passar ingenjörer.
  2. Pearson. A. V. Oppenheim och R. W. Schafer: Discrete-Time Signal Processing, 3:e upplagan. Samplingsteoremet, bandpasssampling, Kaiser-fönstret och formeln för filterlängd, decimering och polyfasstrukturer.
  3. Prentice Hall (2011). B. Razavi: RF Microelectronics, 2:a upplagan. Kvadraturmottagare, I/Q-obalans och spegelundertryckning, likspänningsförskjutning i direktomvandlande mottagare.
  4. Analog Devices (2012). MT-229: Fundamentals of ADC SNR (Ching Man). Härledning av SNR = 6,02N + 1,76 dB för en ideal N-bitars ADC, under antagandet att kvantiseringsfelet är okorrelerat brus. Hämtad 25 oktober 2026.
  5. Analog Devices (2008). MT-007: Aperture Time, Aperture Jitter, Aperture Delay Time – Removing the Confusion (Walt Kester, rev. A). Formeln SNR = 20·log10(1/(2π·f·tj)) för den gräns som klockjitter sätter för en fullt utstyrd sinussignal med frekvensen f. Hämtad 25 oktober 2026.
  6. Analog Devices (2008). MT-012: Intermodulation Distortion Considerations for ADCs (Walt Kester, rev. A). ADC:er specificeras med SFDR och inte IP3, eftersom de klipper hårt vid överstyrning. Hämtad 25 oktober 2026.

Läs vidare

Citera den här sidan

Använd gärna kunskapsbanken som källa i rapporter och uppsatser. Ange alltid datum, eftersom regler och tilldelningar ändras.

APA 7
SRFA Kunskapsbank. (2026). I/Q-signaler, sampling och digital signalbehandling. Sveriges Radiofrekvensallokering. https://srfa.se/kunskap/radioteknik/iq-och-sampling/
Harvard
Sveriges Radiofrekvensallokering (2026). I/Q-signaler, sampling och digital signalbehandling. SRFA Kunskapsbank. Tillgänglig: https://srfa.se/kunskap/radioteknik/iq-och-sampling/ (hämtad 24 oktober 2026).

Kunskapsbanken är en sammanställning för utbildning och referens. Den ersätter inte gällande föreskrifter och ger ingen rätt att sända. Kontrollera alltid aktuella villkor hos PTS.