föreläsning 1: inledning till “digital signalbehandling i audio ......tidsdiskreta (lti) system...
Post on 13-Feb-2021
2 Views
Preview:
TRANSCRIPT
-
Föreläsning 1:
–
Inledning till
“Digital signalbehandling
i audio & video”
Leif Sörnmo
11 mars 2009
1
-
Schema
Föreläsningar: Måndag 10.15–12.00 i sal E:2311
Fredag 08.15–10.00 i sal E:2311
Övningar: Tisdag 10.15–12.00 i sal E:2311
Fredag 10.15–12.00 i sal E:2311
Observera att vissa veckor innefattar datorövning.
Laborationer: Lab I: Musikkompression i sal E:2428
Lab II: Bildbehandling i sal E:2428
Anmälan enligt listor som anslås på anslagstavla 1
måndagen den 30/3.
2
-
Kurslitteratur
Kursbok: S. K. Mitra, Digital Signal Processing, 3dje upplagan,McGraw-Hill, 2006, dvs boken från DigSig (ca 600:-).Notera att andra upplagan (2001) är möjlig attanvända, men att sidreferenserna då inte stämmer.
Övningsbok: S. K. Mitra, Digital Signal Processing LaboratoryUsing MATLAB, McGraw-Hill, 1999, (490:-)Kapitel: 7, 8, 9, 10.
Övrigt: Föreläsningsanteckningar (kurshemsidan)Lösningskompendium (kurshemsidan)Datorövningar (kurshemsidan)Laborationshandledningar (kurshemsidan)Matlabkod (kurshemsidan)
3
-
Kursinnehåll
V1: 1. Repetition av DigSig
2. Digital filterdesign I, kap. 9
V2: 1. Digital filterdesign II, kap. 10.1–10.3, 10.5
2. Algoritmer i signalprocessorer, kap. 11.1–11.3, 11.5, 11.8–11.10
V3: 1. Effekter av begränsad ordlängd, kap. 12.1–12.6, 12.12
2. Multirate-signalbehandling I, kap. 13, 14
V4: 1. Multirate-signalbehandling II, kap. 13, 14
2. Audiosignalbehandling I
V5: Audiosignalbehandling II
V6: 1. 2D-signalbehandling
2. Videosignalbehandling
V7: Repetition
4
-
Tentamen
• Godkänd kurs förutsätter att
– tentamen, som omfattar 6 uppgifter och har poängskalan3 till 6, är godkänd, och
– att båda laborationerna är fullföljda.
Slutbetyget är heltalsdelen av tentamenspoängen, dock högst 5.
• Tentamen äger rum den 26 maj, kl. 14–19, lokal: E2311.
• Tillåtna hjälpmedel är kursboken (tabeller är inte nödvändi-ga).
5
-
Översikt av dagens föreläsning
• Tidsdiskreta signaler och system (repetition).
• Från analog till digital signal – sampling.
• Digitala filterstrukturer.
• Digital signalbehandling i audio & video – inledning
6
-
Tidsdiskreta signaler i tidsplanet
• En tidsdiskret signal är en serie värden som erhålls från dis-kreta mätningar (ofta gjorda i tiden) eller från sampling aven tidskontinuerlig signal.
• En tidsdiskret signal har definitionsmässigt avståndet 1 mel-lan samplen, utan enhet. Den snabbaste frekvens som kanrepresenteras är vartannat värde +A och vartannat −A. Den-na frekvens har perioden 2, utan enhet. Eftersom frekvensenär 1/T så är den maximala normerade frekvensen 0.5, utanenhet.
• Det finns alltså inga Hertz eller sekunder i den digitala värl-den...
7
-
Tidsdiskreta (LTI) system i tidsplanet
• På samma sätt som ovan beskrivs ett tidsdiskret system meden serie av värden. Denna series kallas impulssvar h[n] och
beskriver hur insignalen (gamla och nuvarande värde, dvs
kausalt) ska viktas för att producera utsignalen.
• Utsignalen från ett tidsdiskret system fås genom att insigna-len faltas med impulssvaret:
y[n] = h[n] ∗ x[n].
8
-
Tidsdiskreta (LTI) system i tidsplanet
• En vanlig grupp av tidsdiskreta LTI system är de med kon-stanta koefficienter och begränsad ordning som beskrivs av
differensekvationen:
y[n] = −N∑
k=1
dkd0y[n− k] +
M∑
k=0
pkd0x[n− k].
där max-värdet av M och N anger systemets ordning.
• Dessa två representationer, dvs. impulssvar och differens-ekvation, är ekvivalenta och begreppet filter kan användas
för båda.
9
-
Tidsdiskreta (LTI) system i tidsplanet
• Filtret är av typen FIR om utsignalen y[n] bara beror avnuvarande och föregående sampel i insignalen x[n]:
y[n] =M∑
k=0
pkd0x[n− k] =
M∑
k=0
h[k]x[n− k].
Längden hos h[n] bestäms av antalet sampel x[n] som an-vänds.
• Filtret är IIR om y[n] beror av föregående sampel i y[n]:
y[n] = −N∑
k=1
dkd0y[n− k] +
M∑
k=0
pkd0x[n− k] =
∞∑
k=0
h[k]x[n− k].
Impulssvaret h[n] är oändligt eftersom y[n] i sin tur beror avföregående sampel i utsignalen.
10
-
Tidsdiskreta (LTI) system i tidsplanet
Ett system är BIBO-stabilt om impulssvaret uppfyller
∞∑
N=−∞|h[n]|
-
Tidsdiskreta signaler i frekvensplanet
Discrete-time Fourier transform (DTFT) av signalen x[n] ges
av
X(ejω) =∞∑
n=−∞x[n]e−jωn.
X(ejω) är en komplex funktion som kan skrivas
X(ejω) = |X(ejω)|ejθ(ω),där |X(ejω)| kallas amplitudspektrum och θ(ω) = arg{X(ejω)}kallas fasspektrum.
Ett spektrum utgör en ekvivalent beskrivning av en signal x[n]. Istället för att
bygga upp x[n] genom att ange varje tidssampels amplitud kan den byggas
upp genom att ange amplitud och fas för varje frekvens som ingår i x[n].
12
-
Tidsdiskreta signaler i frekvensplanet, forts
• Spektrumet är unikt för de normerade frekvenserna {−0.5,0.5}(eller motsvarande vinkelfrekvenserna ω = {−π, π}). Spekt-rumet är periodiskt utanför detta intervall.
• Inom dessa intervall är magnitudspektrat en jämn funktionoch fasspektrat en udda funktion. Samma sak representeras
i båda halvorna.
• Inversa DTFT:n ges av
x[n] =1
2π
∫ π
−πX(ejω)ejωndω.
13
-
Tidsdiskreta signaler i frekvensplanet, forts
Discrete-time Fourier transform (DTFT): Oändligt lång tids-
diskret signal {−∞,∞} kan ekvivalent representeras av kontinu-erligt spektrum för det normerade frekvensintervallet {−0.5,0.5}eller motsvarande vinkelfrekvensintervall ω = {−π, π}. Spektrat ärperiodiskt utanför detta intervall.
Discrete Fourier transform (DFT): För en tidsdiskret signal
av begränsad längd {0, N − 1} så räcker det att DTFT samplasmed N jämnt fördelade punkter (ωk =
2πkN , k = 0, . . . , N − 1) i
spektrumet för att signalen ska kunna representeras fullständigt.
14
-
Tidsdiskreta system i frekvensplanet
DTFT:n av ett impulssvar h[n] kallas filtrets frekvenssvar och
är, precis som DTFT:n av en signal, unikt i frekvensintervallet
{–0.5,0.5} och periodiskt utanför:
H(ejω) =∞∑
n=−∞h[n]e−jωn.
Magnitud- och fasfunktion definieras p.s.s. som tidigare.
Frekvenssvaret för ett LTI system med konstanta koefficienter
och begränsad ordning kan skrivas
H(ejω) =Y (ejω)
X(ejω)=
∑Mk=0 pke
−jωk∑Nk=0 dke
−jωk .
15
-
z-transformen
z-transformen av ett impulssvar kallas filtrets överföringsfunk-
tion,
H(z) =∞∑
n=−∞h[n]z−n,
och utgör en generalisering av DTFT:n med bättre konvergens-
egenskaper än DTFT:n och som ger enklare algebra.
En oändligt lång tidsdiskret signal x[n] {−∞,∞} kan ekvivalentrepresenteras av X(z) i det komplexa talplanet. Om värden av-
läses på enhetscirkeln i detta talplan, dvs. z = ejω, så fås dess
DTFT.
16
-
z-transformen och tidsdiskreta system
Överföringsfunktionen för ett LTI system med konstanta koeffi-
cienter och begränsad ordning kan skrivas
H(z) =Y (z)
X(z)=p0d0
∏Mk=1(1 − ξkz−1)
∏Nk=1(1 − λkz−1)
=p0d0zN−M
∏Mk=1(z − ξk)
∏Nk=1(z − λk)
,
där ξk kallas nollställen och λk kallas poler. BIBO-stabilitet mot-
svarar att polerna ligger inom enhetscirkeln.
17
-
Digital behandling av tidskontinuerliga signaler
DigitalSignalbehandling
AnalogtAntiviknings-
filter
AnalogtRekonstruktions-
filterS/H A/DA/D D/A
Sampling Interpolation
Analogsignal
Analogsignal
Tidsdiskretasignaler
Högtalare
MikrofonSamplingsfrekvens
Uppspelnings-frekvens
18
-
Digital behandling av tidskontinuerliga signaler
Vid sampling med perioden T (samplingsvinkelfrekvensen ΩT ) så
kommer alla komponenter av typen
xa,k(t) = A cos((Ω0 + kΩT )t+ φ), k = 0,±1,±2, ...att mappas på
x[n] = xa,k(nT) = A cos(ω0n+ φ)
pga. att den tidsdiskreta signalen inte kan representera frekvenser
(normerade till samplingsintervallet=samplings-frekvensen=1)
större än 0.5. Alla komponenter av högre frekvenser kommer
därmed att finnas kvar i den samplade signalen, men i skepnad
av lägre frekvenser som ligger inom det tillåtna frekvensområdet
– detta fenomen kallas vikning.
19
-
Digital behandling av tidskontinuerliga signaler
Insikten från föregående bild innebär att en tidskontinuerlig signal
måste samplas dubbelt så snabbt som dess högsta frekvens. Om
signalens högsta frekvens är Ωm måste den alltså samplas med
åtminstone ΩT ≥ 2Ωm för att inte bli distorderad (Samplings-teoremet, se kap 4.2).
Frekvensen ΩT/2, som motsvarar den normerade frekvensen 0.5,
brukar kallas Nyqvist-frekvensen eller vikningsfrekvensen.
Signalen är kritiskt samplad om ΩT/2 = Ωm och översamplad
om ΩT/2 > Ωm.
20
-
Sampling av analog signal
matematisk modell
21
-
Sampling och dess effekt i frekvensplanet
22
-
Sampling och vikningsdistorsion
23
-
Sampling och rekonstruktion av analog signal
24
-
Digital behandling av tidskontinuerliga signaler
För att undvika vikning måste alltid ett analogt antiviknings-
filter (dvs. lågpassfilter) användas före sampling för att spärra
frekvenser över Nyqvist-frekvensen. P.s.s. måste ett analogt re-
konstruktionsfilter användas för att mjuka till en tidsdiskret signal
som överförts till tidskontinuerlig form.
Analog filterdesign beskrivs i kap. 4.4 och 4.5 och kommer att
beskrivas på Övning 1.
25
-
Digitala filterstrukturer
Strukturen hos ett filter beskrivs ofta i form av ett blockdiagram
som visar hur insignalen och filtrets interna variabler kombineras
för att generera utsignalen.
Pss som aa+ ab kan beräknas med 2 mult och 1 add eller som
a(a+ b) med 1 mult och 1 add, så kan ett filter implementeras
med olika antal additioner, multiplikationer och fördröjningar med
olika beräkningskomplexitet som följd.
Ett annat viktigt skäl till att analysera olika filterstrukturer är att
kvantiseringsfel i aritmetik med begränsad precision kommer
att slå igenom i olika grad hos utsignalen.
26
-
FIR-filterstrukturer
• Direktform betyder att viktfaktorerna i strukturen är iden-tiska som koefficienterna i överföringsfunktionen.
• Kaskadform betyder att ett högre ordningens filter realiserassom en seriekoppling av flera första och andra ordningens
överföringsfunktioner.
• Polyfasrealisering betyder att signalen delas upp i block omL sampel i L parallella grenar (mycket viktigt i denna kurs).
27
-
FIR-filterstrukturer
28
-
FIR-filter med linjär fas
Notera att antalet multiplikationer väsentligen halveras pga. att
filtrets impulssvar är symmetriskt.
29
-
Polyfasstruktur för FIR-filter
Alla FIR-överföringsfunktioner, exempelvis
H(z) =h[0] + h[1]z−1 + h[2]z−2 + h3]z−3 + h[4]z−4
+ h[5]z−5 + h[6]z−6 + h[7]z−7 + h[8]z−8
kan struktureras i grupper med var L:te (här L = 2) sampel
H(z) =(h[0] + h[2]z−2 + h[4]z−4 + h[6]z−6 + h[8]z−8)+ z−1(h[1] + h[3]z−2 + h[5]z−4 + h[7]z−6)
där överföringsfunktionen kan skrivas
H(z) = E0(z2) + z−1E1(z2)
med
E0(z) = h[0] + h[2]z−1 + h[4]z−2 + h[6]z−3 + h[8]z−4
E1(z) = h[1] + h[3]z−1 + h[5]z−2 + h[7]z−3
30
-
Polyfasstruktur för FIR-filter används viddecimering av samplingsfrekvens
(a) decimering medfaktor M
(b) ekvivalenta polyfasstrukturer varav den högraär mera effektiv i vissa tillämpningar
31
-
IIR-filterstrukturer
• Direktform betyder att viktfaktorerna i strukturen är iden-tiska koefficienterna i överföringsfunktionen.
• Kaskadform betyder att ett högre ordningens filter realiserassom en seriekoppling av flera första och andra ordningens
överföringsfunktioner.
• Parallellrealisering betyder att överföringsfunktionen delasupp med partialbråksuppdelning.
32
-
IIR-filterstrukturer (direkt, icke-kanonisk form)
33
-
Justerbara IIR filter
Mha ett första ordningens filter kan justerbara hög- och lågpass-
filter designas – “bas & diskant”-kontroll. Notera att dessa filter
är effektkomplementära, dvs att de tillsammans ger en förstärk-
ning som är konstant för alla frekvenser (se sid 393–395 och
exemplet i figur 7.31).
Mha ett andra ordningens filter kan justerbara bandpass- och
bandspärrfilter designas.
34
-
Digital signalbehandling i audio & video –GRUNDLÄGGANDE kunskaper
• digital filterdesign enligt specifikation
• snabba algoritmer som tex FFT
• aspekter vid implementering (speciellt ändlig ordlängd ochdess implikationer)
• signalbehandling vid olika samplingsfrekvenser (eng. ”multi-rate signal processing”)
• filterbankar och dess nytta vid tex datakompression
35
-
Digital signalbehandling i audio & video –några tillämpningar i AUDIO
• syntes, exvis den som förekommer i syntar
• effekter, exvis eko, efterklang, flanger, chorus, mm
• equalizer, dvs bas, diskant samt mer detaljerad kontroll
• kompression, exvis format som MP3
• omvandling, exvis 1-bits A/D, samplingsfrekvens, mm
36
-
Digital signalbehandling i audio & video –några tillämpningar i VIDEO
• två-dimensionell signalbehandling
• bildkompression, exvis format som JPEG
• signalbehandling i MPEG-video
37
-
Föreläsning 2:
–
Digital filterdesign,
mest om IIR-filter
Leif Sörnmo
11 mars 2009
38
-
Viktiga frågor som idag ges ett svar:
• I vilka termer specificeras vanligtvis ett digitalt filter?
• Hur kan vi uppnå dessa specifikationer?
• Är analog filterdesign nödvändig för digital filterdesign?
• Hur hänger design av filtertyperna låg-, hög-, bandpass ochbandspärr ihop med varandra?
39
-
Översikt
• Allmänt om filterdesign (kap. 9.1)
• Bilinjär transformation för design av IIR filter (kap. 9.2)
• Design av IIR lågpassfilter (kap. 9.3, se också kap 4.4)
• Design av IIR-filter med högpass-, bandpass- och bandspärr-karaktäristik (kap. 9.4, 9.5)
40
-
Syftet med digital filter design
Att bestämma en realiserbar överföringsfunktion G(z) så att den
approximerar en given specifikation på frekvensfunktion.
För ett IIR-filter är det dessutom viktigt att överföringsfunktionen
G(z) är garanterat stabil.
41
-
Filterspecifikation
• Ett filters frekvensfunktion specificeras vanligen mhaav magnitud- och/eller fasfunktion.
• I praktiken är dock specifikation av endast magnitud-funktionen det absolut vanligaste, och därför behandlas baradenna typ av design i kursen.
• Fasfunktionen kan vid behov justeras med ett seriekopplatallpassfilter (”all-pass phase equalizer”).
• Notera att ett filter även kan specificeras i termer av hurimpulssvaret ska se ut (dvs i tidsplanet!).
42
-
Ideala filterspecifikationer
Det finns fyra huvudtyper av ideala filter, nämligen:
43
-
Ideala filterspecifikationer – 2
• Impulssvaret för varje ideal filtertyp är icke-kausalt med oänd-lig längd och kan således inte realiseras.
• I praktiken specificeras magnitudfunktionen så att
– pass- och spärrband håller sig inom ett toleransintervall,
och
– övergångszonen mellan pass- och spärrband har en viss
bredd i frekvens (trunkering ger ”roll-off”).
44
-
Storheter vid filterspecifikation
Passband: 1 − δp ≤ |G(ejω)| ≤ 1 + δp, |ω| ≤ ωpSpärrband: |G(ejω)| ≤ δs, |ω| ≥ ωs
Övergångszonens bredd: ∆ω = ωs − ωp
45
-
En not om filterförstärkning
Det är ofta önskvärt att det digitala filtret har en förstärkning
som är lika med 1. Detta kan enkelt åstadkommas genom att
introducera en skalfaktor K i överföringsfunktionen G(z) som är
bestämd av
K =1
Gmax
där
Gmax = max0≤ω≤π
|G(ejω)|.
46
-
Logaritmisk filterspecifikation
• En specifikation anges ofta som en dämpning uttryckt i loga-ritmerad form, dvs.
G(ω) = −20 log10 |G(ejω)|,angiven i decibel (dB).
• Maximalt rippel i passbandet, αp, och minimal dämpning ispärrbandet, αs, ges då av
αp = −20 log10(1 − δp) respektive αs = −20 log10 δs.
47
-
Hertz och normerad frekvens
I praktiken vill vi specificera ett digitalt filter i onormerad frekvens
(Hertz), uttryckt i passbandets kantfrekvens Fp och spärrbandets
kantfrekvens Fs.
Omräkning till normerad frekvens ω görs med
ω =Ω
FT=
2πF
FT= 2πFT
där F betecknar onormerad frekvens, FT samplingsfrekvensen
(i Hertz), och T samplingsintervallets längd (i sekunder).
48
-
Hertz och normerad frekvens – ett exempel
Antag att ett högpassfilter ska designas med följande specifika-
tioner: Fp = 7 kHz, Fs = 3 kHz och FT = 25 kHz.
Omräkning till normerad frekvens blir då:
ωp =2π · 7 · 10325 · 103 = 0.56 · π
ωs =2π · 3 · 10325 · 103 = 0.24 · π
49
-
IIR filterstruktur
Överföringsfunktionen för ett IIR-filter ges av
H(z) =p0 + p1z
−1 + p2z−2 + . . .+ pMz−M
d0 + d1z−1 + d2z−2 + . . .+ dNz−N
+ Stränga specifikationer kan uppnås med små M och N
– Ej linjär fas
– Ej alltid stabilt
50
-
FIR filterstruktur
Överföringsfunktionen för ett FIR-filter ges av
H(z) =N∑
n=0
h(n)z−n
+ Kan designas med linjär fas, och kräver då ett symmetriskt
eller antisymmetriskt impulssvar h(n), dvs h(n) = ±h(N −n).
+ Alltid stabilt, även vid kvantisering av h(n):s koefficienter.
– Stränga krav leder till hög ordning N .
51
-
Jämförelse
• FIR-filter behöver NFIR multiplikationer per utsampel (dock,FIR-filter med linjär fas behöver bara (NFIR + 1)/2 mult perutsampel), medan IIR-filter behöver 2NIIR+1 mult/utsampel.
• För att uppfylla samma magnitudfunktion med FIR- sommed IIR-filter krävs dock betydligt större ordning, NFIR >>10NIIR, och därmed är FIR-filter mera beräkningskrävan-de.
• Detta samband gäller inte om IIR måste kompletteras medett allpassfilter för att uppnå linjär fas.
• FIR har inga stabilitetsproblem vid tex begränsad precision.
52
-
Vanligaste designtekniken för digitala IIR-filter(denna föreläsning)
1. Transformera de digitala filterspecifikationerna till motsva-
rande för ett analogt prototyp-lågpassfilter.
2. Bestäm överföringsfunktionen Ha(s) =Pa(s)Da(s)
för det analoga
prototyp-lågpassfiltret (index “a” betecknar “analog”).
3. Transformera Ha(s) till den eftersökta digitala överförings-
funktionen H(z) = P (z)D(z)
.
53
-
Vanligaste designtekniken för digitala FIR-filter(nästa föreläsning)
• Direkt approximation av det önskade magnitudsvaret.
• Ofta med krav på linjär fas.
• Denna design av digitala FIR-filter har inget med analogafilter att göra.
54
-
Val av filterordning
• För IIR-filter ingår beräkning av den modellordning som krävsi designproceduren.
• För FIR-filter finns olika approximationer som typiskt ärinverst beroende av övergångszonens bredd. Ju smalare och
brantare övergångszon desto högre ordning, N . Denna design
är bara vägledande och måste testas för att justeras rätt.
55
-
Varför designar man digitala IIR-filter med hjälpav analoga filter?
• De analoga metoderna är mycket bra.
• Lösningarna blir slutna uttryck.
• Stora tabeller kring de analoga filterna finns tillgängliga.
• Många tillämpningar behöver simulera analoga filter.
56
-
Transformation från s- till z-planet?
Den bärande idén för den vanligaste IIR-designtekniken är att
transformera (avbilda) s- till z-planet så att viktiga egenskaper
hos det analoga filtrets magnitudfunktion bevaras.
Vi kräver att en sådan transformation uppfyller följande villkor:
• att imaginära axeln (jΩ) i s-planet transformeras på enhetscir-keln i z-planet, och
• att ett stabilt analogt filter Ha(s) transformeras på ett stabiltdigitalt filter G(z).
57
-
Hur transformera från s- till z-planet?
• Bilinjär transformation är den vanligaste transformationenoch definieras av
s =2
T
(
1 − z−11 + z−1
)
.
Det intressanta och eftersökta sambandet mellan G(z) och
Ha(s) ges av
G(z) = Ha(s)
∣
∣
∣
∣
s=2T
(
1−z−11+z−1
)
58
-
Bilinjär transformation i grafiska termer
Avbildning av s- till z-planet:
59
-
Bilinjär transformations egenskaper
• Transformationen är mycket olinjär eftersom hela den posi-tiva imaginära axeln i s-planet (dvs., från Ω = 0 till ∞) avbil-das på den övre delen av enhetscirkeln i z-planet (dvs., från
z = 1 till −1); på liknande sätt för den negativa axeln.
• Den distorsion som förorsakas av bilinjär transformation kallasför frekvensförvridning (”frequency warping”).
60
-
Bilinjär transformation och frekvensaxeln
Specifikt för s = jΩ, z = ejω och med T = 2 så har vi att
jΩ =1 − e−jω1 + e−jω
= j tan(ω/2), dvs Ω = tan(ω/2)
61
-
Bilinjär transformation och filterkaraktäristik
62
-
Design med bilinjär transformation
1. Transformera ωp och ωs med Ω = tan(ω/2) för att bestämmade motsvarande analoga storheterna Ωp och Ωs (kap 9.2).
2. Designa det analoga filtret Ha(s) med lämplig metod (kap4.4, 4.5).
3. Bestäm det digitala filtret G(z) genom att transformera detanaloga filtret Ha(s) mha. (kap 9.2)
G(z) = Ha(s)|s=(
1−z−11+z−1
)
Fasen bevaras ej genom transformen.
63
-
IIR filterdesign med frekvenstransformation(HP,BP,BS)
Prewarpingav ωp och ωstill Ωp och Ωs
Spec. avGD(z) Analog
frekvenstransform(om HP,BP,BS)
Design av analogtLP prototypfilter
Spec. avHD(s)
Spec. avHLP(s)
HLP(s)
Mitra 9.2 Mitra 4.5 Mitra 4.4
Analogfrekvens transform
(om HP,BP,BS)
HD(s)
Bilinjär transform
GD(z)
Mitra 4.5Mitra 9.2
Bilinjär transform
Mitra 9.2
GLP(z)
Digital spektral-transform till LP(om HP,BP,BS)
GD(z)
Mitra 9.5
Mitra 9.4
Mitra 9.5
64
-
Exempel på IIR filterdesign som bygger påfrekvenstransformation
På tavlan: Design av ett digitalt lågpassfilter mha bilinjär transfor-
mation och analog filterdesign, enligt kap 9.3.
Hemmavid: Design av de andra filtertyperna (högpass, bandpass
och bandspärr) beskrivs i kap 9.4.
65
-
Digital spektral transformation: LP-till-LP
Transformera existerande LP-filter (med brytfrekvens ωc) med
z−1 = 1 − αẑẑ − α där α väljs så att den önskade brytfrekvensen ω̂cfås (se nedan). Observera olinjär frekvenstransformation!
66
-
Viktiga frågor som nu har ett svar:
• I vilka termer specificeras vanligtvis ett digitalt filter?
• Hur kan vi uppnå dessa specifikationer?
• Är analog filterdesign nödvändig för digital filterdesign?
• Hur hänger design av filtertyperna låg-, hög-, bandpass ochbandspärr ihop med varandra?
67
-
Föreläsning 3:
–
Digital FIR-filterdesign
Leif Sörnmo
11 mars 2009
68
-
Översikt
• Design av FIR-filter mha fönstermetoden; betoning på filterav standardtyperna lågpass, högpass, bandpass och bandspärr
(kap 10.2).
• Kriteriebaserad design av FIR-filter med linjär fas, sk “ekvi-rippelfilter”; denna design lämpar sig även för andra filter än
standardtyperna (kap 10.3).
• Designexempel på ovannämnda FIR-filter (kap 10.5).
69
-
Impulssvar för idealt lågpassfilter
hLP (n) =1
2π
∫ π
−πHLP (e
jω)ejωndω ⇒ hLP (n) =sinωcn
πn,−∞ ≤ n ≤ ∞
Idealt filter har skarpa kanter och nollfas. Detta ger oändlig
längd och icke-kausalt impulssvar.
70
-
Impulssvar för idealt högpassfilter
hHP (n) =1
2π
∫ π
−πHHP (e
jω)ejωndω ⇒ hHP (n) =
1 − ωcπ , n = 0
−sinωcnπn , n 6= 0
71
-
Impulssvar för andra ideala filter
• bandpass, bandspärr, multiband
• Hilberttransformerare (= 90o fasförskjutning av signalen)
HHT (ejω) =
j, −π < ω < 0
−j, 0 < ω < π
• differentierare
HDIF (ejω) = jω, 0 < |ω| < π
72
-
Design av FIR-filter mha fönstermetoden(Windowed Fourier series)
• Ett impulssvar med oändlig längd måste, för att bli använd-bart, trunkeras (och skiftas åt höger för att bli kausalt).
• Trunkering förändrar det ideala hos magnitudfunktionen ochintroducerar ett oscillatoriskt beteende (rippel) – Gibbs feno-men, se exemplet nedan för två olika filterlängder.
0 0.2 0.4 0.6 0.8 10
0.5
1
1.5
ω/π
Magnitude
N = 20N = 60
Mag
nitu
de
73
-
Gibbs fenomen som faltning
Trunkering innebär att hd(n) multipliceras med ett rektangu-
lärt fönster w(n): en operation som i frekvensplanet svarar mot
att Hd(ejω) faltas med fönstrets Fourier-transform Ψ(ejω).
74
-
Gibbs fenomen
• Antal rippel i såväl pass- som spärrband ökar med filterläng-den samtidigt som varje rippels bredd minskar.
• Amplituden för det största ripplet är densamma för allafilterlängder (ca 11% av amplitudskillnaden mellan passband
och spärrband i det ideala filtret).
• Samma oscillatoriska beteende uppträder i magnitudfunktionför andra typer av ideala filter.
75
-
Minskad inverkan av Gibbs fenomen
• Använd ett fönster w(n) (ej rektangulärt!) som på ett mjuktsätt minskar förekomsten av rippel; ett antal sådana fönster,
såväl fixa som justerbara, kommer härnäst att behandlas.
• Specificera en tillräckligt stor övergångszon från pass- tillspärrband i magnitudfunktionen.
76
-
Vanliga fixa fönster
• Hanning: w(n) = 0.5 + 0.5 cos(
2πn2M+1
)
• Hamming: w(n) = 0.54 + 0.46 cos(
2πn2M+1
)
• Blackman: w(n) = 0.42+0.5 cos(
2πn2M+1
)
+0.08 cos(
4πn2M+1
)
där −M ≤ n ≤M gäller för alla fönster.
77
-
Egenskaper hos fixa fönster
• Magnitudfunktionen för alla typer av fönster karaktäriseras avdess huvudlob, centrerad kring ω = 0, och en rad sidolober.
• Ett fönsters prestanda vid filterdesign avgörs av
– huvudlobens bredd (uppmätt som avståndet mellan noll-
genomgångarna närmast ω = 0) och
– sidolobernas amplitud (uppmätt som skillnaden i ampli-
tud, vanligen i dB, mellan huvudlob och största sidolob).
78
-
Magnitudfunktion för vanliga fixa fönster
Magnitudfunktionen för de vanligaste fönstren, dvs rektangulärt,
Hanning, Hamming och Blackman; M = 25.
79
-
Egenskaper hos fixa fönster (forts)
• En ökning av huvudlobens bredd leder till att övergångszo-nens bredd också ökar.
• En minskning av sidlobernas amplitud leder till en förbättraddämpning i spärrbandet.
80
-
Fönstring av idealt LP-filter – samband
81
-
Justerbara fönster för FIR-filter design
Det är ibland önskvärt att kunna justera sidlobernas amplitud
(”ripplet”) och därför finns det fönster med en sådan frihetsgrad.
De två vanligaste är Dolph-Chebyshev och Kaiser (se nedan).
0 0.05 0.1 0.15 0.2 0.25-60
-50
-40
-30
-20
-10
0Kaiserfönster, beta=2
normerad frekvens
mag
nitu
d (d
b)
0 0.05 0.1 0.15 0.2 0.25-60
-50
-40
-30
-20
-10
0Kaiserfönster, beta=4
normerad frekvens
mag
nitu
d (d
b)
82
-
Skattning av ordning på FIR-filter
Ordningen bestäms med olika approximativa uttryck beroen-
de på om filtret är designat med ett
• fixt fönster, se exvis ekv 10.3, eller
• justerbart fönster som tex Kaiser, se ekv 10.42.
83
-
Trunkering minimerar kvadratfelet
Vi vill bestämma den frekvensfunktion Ht(ejω), vars impulssvar
ht(n) har den ändliga längden 2M + 1, som bäst approximerar
den önskade frekvenssvaret Hd(ejω) utifrån det kvadratiska inte-
gralfelet
Φ =1
2π
∫ π
−π|Ht(ejω) −Hd(ejω)|2dω
där
Ht(ejω) =
M∑
n=−Mht(n)e
−jωn.
Hur ska ht(n) väljas?
84
-
Trunkering minimerar kvadratfelet, forts
Med hjälp av av Parsevals relation kan vi skriva
Φ =1
2π
∫ π
−π|Ht(ejω) −Hd(ejω)|2dω
=∞∑
n=−∞|ht(n) − hd(n)|2
=M∑
n=−M|ht(n) − hd(n)|2 +
−M−1∑
n=−∞h2d(n) +
∞∑
n=M+1
h2d(n).
Om impulssvaret ht(n) väljs som ht(n) = hd(n) för −M ≤ n ≤ M— dvs trunkering av hd(n) — så minimeras det kvadratiska
felkriteriet!
85
-
FIR-filter design (ekvirippel):Parks-McClellans algoritm
Ett annat sätt att konstruera FIR-filter efter en specifikation är
att betrakta amplitudfunktionen för ett filtret som en funktion
av ett antal parametrar och sedan matcha denna funktion till en
”mönsterfunktion” för den filtertyp som önskas.
Matchningen görs genom att skillnaden mellan funktionerna mini-
meras med baserat på ett kriterium.
Strategin bygger in att filtret ska ha linjär fas och jämn amplitud
(ekvirippel) i passband och spärrband.
86
-
Steg 1 – Utnyttja den linjära fasstrukturen
Ett FIR-filter med linjär fas kan ha
• udda eller jämn längd N + 1, och
• symmetriskt eller antisymmetriskt impulssvar.
De fyra möjliga kombinationerna brukar betecknas med filter av
typen 1, 2, 3 respektive 4. Notera: endast Typ 1 behandlas här,
dvs udda längd och symmetriskt (se boken för övriga fall).
87
-
Steg 1, forts – Utnyttja den linjära fasstrukturen
Frekvensfunktionen för ett FIR-filter med linjär fas (Typ 1) ges
av
H(ejω) =N∑
n=0
h(n)e−jωn = (egenskapen h(n) = h(N − n))
= e−jN2 ω
h
(
N
2
)
+ 2
N/2∑
k=1
h
(
N
2− k
)
cos(ωk)
Inför M = N2 , a(0) = h(M) och a(k) = 2h(M − k),1 ≤ k ≤ M , såkan amplitudfunktionen H̆(ω) skrivas som en reell funktion i ω.
H̆(ω) =M∑
k=0
a(k) cos(ωk)
88
-
Steg 1, forts – Utnyttja linjär fas strukturen
Amplitudfunktionen kan för alla filtertyperna (1–4) skrivas som
H̆(ω) = Q(ω)A(ω)
där
A(ω) =L∑
k=0
ã(k) cos(ωk)
För filtertyp 1 gäller att H̆(ω) = A(ω) då L = M , ã(k) = a(k)
och Q(ω) = 1. För filtertyperna 2, 3 och 4 är dessa storheter
annorlunda.
89
-
A(ω) som polynom i cosω
Använd binomialteoremet och bestäm realdelen för att få deneftersökta cos-termen
cos(ωk) = Re{
(cosω+ j sinω)k}
= Re
k∑
l=0
(k
l
)
(cosω)k−l(j sinω)l
=
k/2∑
l=0
( k
2l
)
(cosω)k−2l(−1)l(sinω)2l
=
k/2∑
l=0
( k
2l
)
(cosω)k−2l(−1)l(1 − cos2 ω)l =k∑
l=0
βl(cosω)l
Alltså:
A(ω) =L∑
k=0
a(k) cos(ωk) ⇒ A(ω) =L∑
k=0
α(k)(cosω)k
90
-
A(ω) som polynom i cosω, forts
Alltså A(ω) är ett polynom i cosω av ordning L,
A(ω) =L∑
k=0
α(k)(cosω)k
och har L−1 extremvärden i intervallet 0 < ω < π, som utgör detsk ripplet. Ripplet blir snabbare för högre värden på L.
Om vi väljer ordningen N så kommer vår amplitudfunktion
H̆(ω) (= A(ω) för typ 1) att kunna beskrivas som ett polynom
av ordning L = N/2.
91
-
Önskad amplitudfunktion D(ω)
Vi behöver nu bestämma koefficienterna α(0), . . . , α(L) så att
amplitudfunktionen H̆(ω) matchar en önskad amplitudfunktion
D(ω), t.ex. för ett lågpassfilter
D(ω) =
{
1 passband0 spärrband
med något lämpligt minimeringskriterium.
92
-
Steg 2 – Minimeringskriterium
Minimax-kriteriet (även känt som Chebyshev-kriteriet) går ut
på att minimera det maximala, absoluta felet ε som erhålles med
ε = maxω∈R
|E(ω)|
där
E(ω) = W (ω)[H̆(ω) −D(ω)],över de frekvensintervall R där amplitudfunktionen D(ω) speci-ficerats, dvs exkluderandes en eller flera övergångszoner mellan
pass- och spärrband. W (ω) är en viktfunktion som är styckvis
konstant över samma intervall som D(ω) och som viktar det to-
lererade ripplet så att det blir lika stort i alla intervall.
93
-
De önskade parametrarna
För ett givet N (och därmed L) så söker vi L+2 okända variabler,
dvs
α(0), α(1), . . . , α(L) och ε
och behöver således lika många ekvationer som beskriver felet
för att lösa systemet.
94
-
Alterneringsteoremet
För att en amplitudfunktion — definierad som en linjärkombi-
nation av cosinusar, dvs H̆(ω) =∑Lk=0 a(k) cos(ωk) — ska vara
den bästa, unika approximationen till D(ω), så är ett nödvändigt
och tillräckligt villkor att E(ω) (genom H̆(ω)) åtminstone harL+2 extremfrekvenser i de mängden R. Dessa extremfrekvenserär sådana att för ω0 < ω1 < · · · < ωL+1,
E(ωi) = −E(ωi+1), i = 0, . . . , L+ 1och
ε = |E(ωi)| = maxω∈R
|E(ω)|, i = 0, . . . , L+ 1
Filtret måste således ha ekvirippelkaraktär.
95
-
Extremvärden hos A(ω)
Utöver A(ω):s lokala min/max (L − 1 st) finns extrempunkternaω = 0, ω = π, ω = ωp och ω = ωs, dvs totalt L+3 extremvärden.
⇒ OK att använda alterneringsteoremet.96
-
Steg 3 – Optimering
Ett system med L+ 2 ekvationer kan nu skapas genom att ut-
värdera minimeringskriteriet för L+ 2 av extremfrekvenserna.
E(ωi) = W (ωi)
L∑
k=0
α(k)(cosωi)k −D(ωi)
= (−1)iε, 0 ≤ i ≤ L+1
ger de okända storheterna α(0), . . . , α(L) och ε, under förut-
sättning att extremvärdenas frekvenser är kända. Termen (−1)iberor på den alternerande egenskapen hos amplitudfunktionen.
Problemet är att extremfrekvenserna är okända...
97
-
Steg 3, forts – Optimering
Remez utbytesalgoritm är en mycket effektiv procedur för att
bestämma extremvärdenas frekvenser (“extremfrekvenser”) hos
det trigonometriska polynomet.
Algoritmen startar med en försöksmängd med frekvenser
R0 = {ω00, . . . , ω0L+1} som sedan systematiskt byts ut mot nyatills den eftersökta mängden med extremfrekvenser erhålls. Ut-
bytet sker iterativt på följande vis:
1. Lös ekvationssystemet på föregående sida. Lösningen har ett
fel som oscillerar med amplituden εk på mängden med ex-
tremfrekvenser Rk för iteration k.
98
-
2. Beräkna A(ωi) och interpolera mellan dessa extremfrekven-
ser för att få fram amplitudfunktionen i tillräckligt tätt antal
punkter.
3. Sök frekvensaxeln för att se om, och ev. var, εk+1 = maxω |Ek(ω)|är större än felet εk som beräknades i steg 1.
4. Om |εk+1 − εk| är litet, avsluta proceduren. Om ej, bestämextremfrekvenserna i Rk+1 och gå till steg 1.
Med extremfrekvenserna i Rk tillgängliga så kan det eftersöktaekvirippelfiltret beräknas och designen avslutas!
99
-
Remez utbytesalgoritm
I detta fall är εk för litet.
100
-
Remez utbytesalgoritm – exempel
101
-
Föreläsning 4:
–
Algoritmer för DSP
Leif Sörnmo
11 mars 2009
102
-
Översikt
• Filterstrukturers beräkningsbarhet
• DFT och Goertzels rekursiva beräkningsalgoritm
• DFT och effektiv beräkning m.h.a. FFT
103
-
Beräkningsbarhet av filterstrukturer
Ett digitalt filter kan beskrivas med ett antal differensekvationer
som relaterar ut- till insignal. Filtret nedan kan t.ex. beskrivas
med sex ekvationer:
104
-
Beräkningsbarhet av filterstrukturer, forts
Ekvationerna är följande:
w1(n) = x(n) − αw5(n)w2(n) = w1(n) − δw3(n)w3(n) = w2(n− 1)w4(n) = w3(n) + εw2(n)
w5(n) = w4(n− 1)y(n) = βw1(n) + γw5(n)
Hur möjliga är dessa att beräkna??
105
-
Beräkningsbarhet av filterstrukturer, forts
Ekvationerna är inte möjliga att beräkna p.g.a. att t.ex. beräk-
ning av w1(n) kräver kunskap om w5(n) som först beräknas i näst
sista steget; p.s.s. kräver beräkning av w2(n) kunskap om w3(n)
som först beräknas i påföljande steg.
⇒ Ekvationerna är ej beräkningsbara.
Vi behöver en allmän metod för att avgöra ett filters beräknings-
barhet.
106
-
Matrisrepresentation
Det tidigare ekvationssystemet kan uttryckas i matrisform som:
w1(n)w2(n)w3(n)w4(n)w5(n)y(n)
=
x(n)00000
+
0 0 0 0 −α 01 0 −δ 0 0 00 0 0 0 0 00 ε 1 0 0 00 0 0 0 0 0β 0 0 0 γ 0
w1(n)w2(n)w3(n)w4(n)w5(n)y(n)
+
0 0 0 0 0 00 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 1 0 00 0 0 0 0 0
w1(n− 1)w2(n− 1)w3(n− 1)w4(n− 1)w5(n− 1)y(n− 1)
107
-
Kompakt matrisrepresentation
Det tidigare ekvationssystemet kan kompakt uttryckas som:
y(n) = x(n) + Fy(n) + Gy(n− 1)y(n) =
[
w1(n) w2(n) w3(n) w4(n) w5(n) y(n)]T
x(n) =[
x(n) 0 0 0 0 0]T
F =
0 0 0 0 −α 01 0 −δ 0 0 00 0 0 0 0 00 ε 1 0 0 00 0 0 0 −α 0β 0 0 0 γ 0
, G =
0 0 0 0 0 00 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 1 0 00 0 0 0 0 0
108
-
Kompakt representation och beräkningsbarhet
Ett filter är beräkningsbart om alla element i och ovanför dia-
gonalen i matrisen F är lika med noll.
I vårt specifika fall: filtret är inte beräkningsbart eftersom flera
element skilda från noll finns ovanför diagonalen.
109
-
Beräkningsbart filter - ändra ordningen!
w3(n)w5(n)w1(n)w2(n)y(n)w4(n)
=
00
x(n)000
+
0 0 0 0 0 00 0 0 0 0 00 −α 0 0 0 0−δ 0 1 0 0 00 γ β 0 0 01 0 0 ε 0 0
w3(n)w5(n)w1(n)w2(n)y(n)w4(n)
+
0 0 0 1 0 00 0 0 0 0 10 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0
w3(n− 1)w5(n− 1)w1(n− 1)w2(n− 1)y(n− 1)w4(n− 1)
110
-
Precedensgrafen – hjälpmedel försystematisk bedömning av beräkningsbarhet
Filtret ovan kan ritas om till en s.k. precedensgraf där varjesignalvariabel wi(n) representeras med en nod och varje multi-plikation eller fördröjning med en gren. Resultatet blir då
111
-
Reducerad precedensgraf
En reducerad precedensgraf erhålles om alla grenar tas bort som
representerar fördröjningar eller utgår från ingångsnoden. För
vårt tidigare exempel erhålls då
112
-
Gruppering av noder – 1
Algoritm för gruppering av noder:
• Inkludera alla noder i en mängd { N1} som bara har utåtgå-ende grenar.
• Inkludera alla noder i en mängd { N2} som bara har utåtgå-ende grenar och som startar från noder i { N1}.
• o.s.v.
• Denna process avslutas när en mängd { Nf} erhållits sombara innefattar inkommande grenar.
113
-
Gruppering av noder – 2
Med denna gruppering av noder blir filtret beräkningsbart genom
att först bestämma de signalvariabler som tillhör { N1}. Därefterbestäms de signalvariabler som tillhör { N2} baserat på det somredan bestämts i { N1}, o.s.v. För vårt tidigare exempel erhållsdå
{ N1} = { w3(n), w5(n)}{ N2} = { w1(n)}{ N3} = { w2(n)}{ N4} = { w4(n), y(n)}
114
-
Gruppering av noder – 3
Grupperingen i noder och den sekvensiella strukturen i beräk-
ningen av signalvariabler kan grafiskt representeras på följande
vis:
115
-
Implementation av digitala filter
I Matlab finns ett flertal funktioner för att simulera (=beräk-
na utsignalen från) filter med givna täljar- och nämnarpolynom.
Några av dessa är
• filter - Direkt IIt implementation
• filtfilt - Zero-phase using forward and backward filtering
116
-
Effektiva algoritmer är ett måste!
• Digital signalbehandling fick sitt definitiva genombrott närDFT:n kunde beräknas effektivt med FFT:n.
• Utvecklingen av effektiva (=snabba) versioner av en algoritmutgör en extremt viktig del i digital signalbehandling, och
har haft
• en avgörande betydelse för framgångsrik komprimering av au-diosignaler och video.
117
-
Diskreta Fouriertransformen (DFT)
Beräkning av ett värde i DFT:n
X(k) = X(ejω)|ω=2πkN
=N−1∑
n=0
x(n)e−j2πkn/N , 0 ≤ k ≤ N − 1
kräver N komplexa multiplikationer och N − 1 komplexa additio-ner. För att beräkna alla N värdena behövs således N2 komplexa
multiplikationer och (N − 1)N komplexa additioner.
Man kan visa att det motsvarande antalet reella multiplika-
tioner/additioner är 4N2/(4N − 2)N .
Slutsats: uppsnabbning av beräkningarna är helt nödvändig!
118
-
Goertzels algoritm för beräkning av DFT
Motiv: vi vill beräkna DFT:n rekursivt för endast en viss fre-
kvens X(k) så att multiplikationer kan tjänas! För ett givet k vill
vi beräkna:
X(k) =N−1∑
n=0
x(n)e−j2πkn/N
= x(0) + x(1)e−j2πk/N + · · · + x(N − 1)e−j2πk(N−1)/N
Låt oss studera följande rekursion
yk(n) = x(n) + ej2πk/Nyk(n− 1), n = 0, . . . , N
med begynnelsevillkoren yk(−1) = 0 och x(N) = 0.
119
-
Goertzels algoritm för beräkning av DFT – 2
Följaktligen
yk(0) = x(0) + ej2πk/Nyk(−1) = x(0)
yk(1) = x(1) + ej2πk/Nyk(0) = x(1) + e
j2πk/Nx(0)
yk(2) = x(2) + ej2πk/Nyk(1) = x(2) + e
j2πk/Nx(1) + ej2πk2/Nx(0)...
yk(N) = x(N) + ej2πk/Nx(N − 1) + · · · + ej2πk(N−1)/Nx(1) + ej2πkN/Nx(0)
Förlängning av yk(N) med e−j2πkN/N = 1 ger
yk(N) = x(0) + e−j2πk/Nx(1) + · · · + e−j2πk(N−1)/Nx(N − 1)
som identifieras som definitionen på X(k), dvs X(k) = yk(N).
Observera: Till skillnad från DFT:n så behöver endast en kom-plex exponential ej2πk/N beräknas i Goertzels algoritm.
120
-
Goertzels algoritm för beräkning av DFT – 3
1 komplex multiplikation = 4 reella mult och 2 reella add
1 komplex addition = 2 reella add
För varje enskild frekvens (dvs. DFT-sampel) krävs:
N/N komplexa mult/add = 4N/4N reella mult/add
För alla N frekvenserna krävs:
4N2/4N2 reella mult/add, att jämföra med DFT:n som kräver
4N2/(4N − 2)N reella mult/add, dvs färre add
Så vad är egentligen vitsen med Goertzels algoritm?
121
-
Goertzels algoritm för beräkning av DFT – 4
Detta är en effektivare struktur av Goertzels algoritm som kräver
2N+4/4N+4 reella mult/add för beräkning av enskild frekvens.
122
-
Snabba Fouriertransformen (FFT)
Huvudidé: Dela upp DFT-summan successivt i DFT-summor
med färre punkter så att periodicitet och symmetriegenskaper
hos termen e−j2πknN kan utnyttjas effektivt.
Resultat: Dramatisk uppsnabbning av DFT-beräkning, resulte-
randes i N log2N muliplikationer istället för de N2 som krävs vid
rakfram beräkning.
123
-
Snabba Fouriertransformen (FFT) – 2
Låt oss göra en enkel uppdelning av DFTn, nämligen:
X(k) =N−1∑
n=0
x(n)e−j2πkn/N
=
N2−1∑
n=0
x(2n)e−j2πk2n/N +
N2−1∑
n=0
x(2n+ 1)e−j2πk(2n+1)/N
=
N2−1∑
n=0
x(2n)e−j2πkn/N2 + e−j2πk/N
N2−1∑
n=0
x(2n+ 1)e−j2πkn/N2
dvs. summan av N/2-punkters DFT av x(2n) respektive x(2n+1)
där den senare DFTn multipliceras med faktorn e−j2πk/N . DennaDFT är periodisk med längden N/2.
124
-
Snabba Fouriertransformen (FFT) – 3
Följaktligen kan vi då uttrycka X(k) som
X(k) = X0(〈k〉N/2) + e−j2πk/NX1(〈k〉N/2), 0 ≤ k ≤ N − 1där 〈k〉N/2 = k · modulo(N/2) och
X0(〈k〉N/2) — N/2-punkters DFT av x0(n) = x(2n)X1(〈k〉N/2) — N/2-punkters DFT av x1(n) = x(2n+ 1)
z−1
2
2
125
-
Beräkning av DFT mha två N/2-punkters DFT
Flödesgraf för fallet N = 8.
126
-
Beräkning av DFT mha 4 N/4-punkters DFT
För fallet N = 8 så är detta den maximala uppdelningen,
eftersom en 2-punkters DFT är den minsta möjliga!
127
-
Uppdelning av DFT: antal multiplikationer
I varje steg krävs 8 komplexa mult. vilket med tre steg kräver
24 komplexa mult. ⇒ allmänt krävs N · log2N komplexa mult.
128
-
Fjärilsberäkningen —den grundläggande FFT-modulen
Ψr+1(α) = Ψr(α) +WlNΨr(β)
Ψr+1(β) = Ψr(α) +Wl+(N/2)N Ψr(β)
= Ψr(α) −W lNΨr(β)
129
-
FFT — decimering i tid
Den uppdelning av DFT:n som är gjord här kallas (”decimering-
i-tid”)
X(k) =N−1∑
n=0
x(n)e−j2πkn/N
=
N2−1∑
n=0
x(2n)e−j2πk2n/N +
N2−1∑
n=0
x(2n+ 1)e−j2πk(2n+1)/N
där varannat insignal-sampel går till vardera grenen.
130
-
FFT — decimering i frekvens
En alternativ DFT-uppdelning är (”decimering-i-frekvens”)
X(k) =N−1∑
n=0
x(n)e−j2πkn/N
=
N2−1∑
n=0
x(n)e−j2πkn/N +
N2−1∑
n=0
x(n+N
2)e−j2πk(n+
N2 )/N
där FFT istället beräknas för konsekutiva block vilket leder till
olika ekvationer för att beräkna de jämna och udda samplen av
DFT:n.
131
-
Beräkning av DFT i Matlab
I exempel 11.16 genomförs beräkningen av FFT för en sinus-
signal som har två olika frekvenser och visar därigenom på en
viktig egenskap hos DFT:n. Missa inte att köra igenom detta
exempel!
132
-
Föreläsning 5:
–
Kvantisering
Leif Sörnmo
11 mars 2009
133
-
Översikt
• Talrepresentation och aritmetik, kap. 11.8–11.9
• Digitala filter och effekten av ändlig ordlängd, kap. 12.1–12.6
– Inverkan på pol- och nollställesplacering
– Inverkan på frekvensfunktion
– Inverkan på utsignalen
134
-
Talrepresentation (Kap. 11)
Fixtal och flyttal är de två vanligaste sätten att representera ett
binärt tal:
Fixtal η: representeras antingen som heltal där 0 ≤ η ≤ 2B − 1eller som bråkdel 0 ≤ η ≤ 1 − 2−B.
Flyttal η: representeras som η = M · 2E där M kallas mantissaoch E exponent.
135
-
Representation av negativa tal
Representation av b-bitars fixtals bråkdel (såväl pos. som neg.):
kan göras på följande tre olika sätt (alla lika för positiva tal):
1. tecken-magnitud: s = 0 ⇒ η =b∑
i=1
a−i2−i, s = 1 ⇒ η = −b∑
i=1
a−i2−i.
2. 1-komplement: som tecken-magnitud men där negativa tal
istället representeras med komplementet.
3. 2-komplement: som 1-komplement men där 1 adderastill den minst signifikanta biten (LSB). Vanligast!
136
-
Hur många bitar krävs för decimal noggrannhet?
Ett tal som har d decimaler har en nogrannhet på ±0.5 · 10−d.Om samma tal ska representeras binärt med b bitar så blir istället
noggrannheten ±0.5 · 2−b.
Följaktligen för att behålla samma noggrannhet mellan de olika
sätten att representera ett tal så behövs:
0.5 · 10−d = 0.5 · 2−b ⇒ b = d log2 10 ≈ 3.3d bitar
Alltså: 8 bitar – 2.1 decimaler, 16 bitar – 4.8, 32 bitar – 9.7.
137
-
Representation av decimaltal – ett exempel
Representera decimaltalet 0.95624 med 4 bitar m.h.a. 2-komple-
ment (som innehåller en teckenbit och 3 decimalbitar), samt
skatta antalet bitar som krävs för att representera detta de-
cimaltal korrekt.
Multiplicera med antalet tillgängliga bitar (förutom teckenbiten),
dvs. 0.95624 · 23 = 7.64992, och avrunda till närmaste heltalneråt, dvs 7 som binärt är 0111 (dvs. största möjliga tal som kan
representeras).
Antalet bitar som krävs är således 3.3 · 5 = 16.5 ≈ 17 bitar.
138
-
Fixtalsmultiplikation – ett exempel
Beräkna kvadraten på 0.5625 mha 2-komplementsaritmetik med
en noggrannhet på 5 bitar.
Produkten 01001·01001 = 0001010001 innehåller två teckenbitarvarav den vänstra kan tas bort, och där de 4 minst signifikanta
bitarna av de övriga åtta skiftas bort.
Slutresultatet blir därför 00101 = 2−2 + 2−4 = 0.3125, att jäm-föra med det exakta värdet som är 0.31640625.
139
-
Fixtalsaddition – ett exempel
Beräkna (−0.25 + 0.75) och (0.5 + 0.75 − 0.5) med 4 bitar.
De ingående talen är binärt 0.25=0010, 0.5=0100 och 0.75=0110.
Summa 1: 0110+1110=10100 som, om vi struntar i den mest
vänstra biten, blir 0100=0.5.
Summa 2: 0100+0110=01010 och därefter 1010+1100=10110
som, om vi struntar i den mest vänstra biten, blir 0110=0.75.
140
-
Flyttalsrepresentation – IEEE standard
Det sk ANSI/IEE-formatet är vanligast för flyttalsrepresentationoch omfattar 32 eller 64 bitar. I ett 32 bitars ord ryms 8 bitar tillexponent (E), 23 bitar till mantissa (M) och 1 teckenbit (S):
Ett flyttal representeras som η = (−1)S2E−127M, 0 ≤M ≤ 1.
Exempel: för flyttalet 0∆10000011∆110000...000 så gäller attE = 10000011 = 131, M = 110000...000 = 0.75 och S = 0.Följaktligen är
η = (−1)0 · 2131−127 · 0.75 = 16 · 0.75 = 12141
-
Flyttalsrepresentation IEEE –addition/multiplikation
Vi utgår från två flyttal X1 = M1 · 2E1 och X2 = M2 · 2E2.
Addition leder till X = X1 +X2 = (M1 +M2 · 2E2−E1) · 2E1 omvi antar att X1 > X2. Här måste vi göra exponenterna lika stora
för båda flyttalen, och i detta fall är det X2 som ändras eftersom
det är det mindre.
Multiplikation leder till X = X1 ·X2 = (M1 ·M2) · 2E1+E2.
142
-
Kvantisering (Kap. 12)
Värdet x kvantiseras med en funktion Q(x) till ett b-bitars värde
medelst operationerna trunkering eller avrundning.
143
-
Kvantisering och digitala filter
I samband med digitala filter finns flera frågor kring kvantisering.
1. Vad händer med ett filter när filterkoefficienter kvantiseras?
IIR/FIR?
2. Hur påverkar kvantisering av insignalen systemet? Kommer
kvantiseringsfelet på insignalen att förstärkas genom filtret?
3. Vad får kvantiseringen i det aritmetriska operationerna (t.ex.
produkt) för effekt?
144
-
1. Kvantisering av filterkoefficienter
Idealt så är en signals sampel och ett filters koefficienter an-
givna med oändlig precision; dock, dessa storheter måste i prak-
tiken diskretiseras (ändlig precision) för att kunna implementeras
i dator.
Vad händer t.ex. med ett filters egenskaper när dess koefficienter
representeras med ett ändligt antal bitar?
145
-
Kvantisering av filterkoefficienter, forts
Ändlig ordlängd för att representera dess koefficienter påverkar
ett filters:
• frekvensfunktion (dock, olika mycket påverkan beroende påden specifika filterstruktur som valts, dvs. direkt-form, kas-
kadkopplad, lattice, osv).
• stabilitet (gäller endast IIR-filter). Stabilitet som gäller vidoändlig ordlängd kan tyvärr inte garanteras vid ändlig ord-
längd.
146
-
Elliptiskt IIR-filter (direkt-form) — kvantisering
∞ antal bitar respektive 5 bitars kvantisering av filterkoefficienter.147
-
Elliptiskt IIR-filter (kaskad) — kvantisering
Direkt-form (överst) och kaskadkopplad filterstruktur (under).
148
-
Ändlig ordlängd i IIR-filter — ett exempel
Ett bandpass IIR-filter har följande systemfunktion:
H(z) =1
1 + a1z−1 + a2z−2
där a1 = −1.957558 och a2 = 0.995813. Studera hur centerfre-kvensen fc förändras om koefficienterna kvantiseras till 8 bitar!
Okvantiserat: Nämnaren i H(z) kan skrivas om med polärakoordinater (r, θ) som (1 − 2r cos(θ)z−1 + r2z−2) vilket ger attr =
√a2 = 0.99795 och θ = arccos
(
−a12r)
= 11.25o, och alltsåblir centerfrekvensen fc = 11.25/360 = 0.0312.
Kvantiserat: Eftersom a1 är större än 1 så behöver de 8 bitarnaanvändas så att 1 bit går till tecken, 1 bit till heltalsdelen och 6bitar till bråkdelen av koefficienterna.
149
-
Ändlig ordlängd i IIR-filter — ett exempel, forts
Med två-komplements kvantisering så erhåller vi följande:
a1q = −1.957558 · 26 ⇒ −125 ≡ 10000011(−128 + 3)a2q = 0.995913 · 26 ⇒ 63 ≡ 00111111
som är liktydigt med
a1q = −125
64= −1.953125 (att jämföra med –1.957558)
a2q =63
64= 0.984375 (att jämföra med 0.995813)
Omräknat i polära koordinater blir de kvantiserade koefficienterna
(rq, θq) = (0.992156, 10.171853o) och därmed fc = 0.0283 (att
jämföra med fc = 0.0312).
150
-
Ändlig ordlängd i IIR-filter — polplaceringar
Ett andra ordningens IIR-filter – direkt form I – och möjliga
polplaceringar för 4 respektive 7 bitars kvantisering av filterkoeff-
icienterna.
151
-
Ändlig ordlängd i IIR-filter — polplaceringar 2
Ett andra ordningens IIR-filter – sk kopplad form – och möjliga
polplaceringar för 4 respektive 7 bitars kvantisering av filterkoeff-
icienterna.
152
-
Vilken struktur är minst känslig för kvantisering?
HI(z) =z2
z2−Kz+L HII(z) =γz2
z2−(α+δ)z+(αδ−βγ)
HI(z) och HII(z) identiska om γ = 1, K = α+ δ, L = αδ − βγ.
Ett svar på titelfrågan kan fås med simulering (som tidigare)
eller genom matematisk analys.
153
-
Kvantisering: förflyttning av poler/nollställen – 1
Betrakta ett polynom B(z) med enkla rötter:
B(z) =N∑
i=0
bizi =
N∏
k=1
(z − zk) där bN = 1
som kan uttryckas i polär form
zk = rkejθk.
Kvantisering medför att bi förändras till bi + ∆bi och således
B̂(z) =N∑
i=0
(bi + ∆bi)zi = B(z) +
N∑
i=0
(∆bi)zi =
N∏
i=1
(z − ẑk).
154
-
Kvantisering: förflyttning av poler/nollställen – 2
För små förändringar ∆bk så är ẑk och zk nära varandra, varför
ẑk = zk + ∆zk = (rk + ∆rk)ej(θk+∆θk).
Vidare, för mycket små förändringar ∆bk så
ẑk ≈ (rk + ∆rk)(1 + j∆θk)ejθk ≈ rkejθk + (∆rk + jrk∆θk)ejθk
om termer av högre ordning negligeras.
Alltså:
∆zk = ẑk − zk ≈ (∆rk + jrk∆θk)ejθk
155
-
Kvantisering: förflyttning av poler/nollställen – 3
Om alla koefficienterna bi för ett filter kan skrivas bi = f(α) där
α = [ α1 · · · αR ] är en ny uppsättning variabler som beskri-ver filtret så kan propageringen av kvantiseringsfel mellan dessa
variabeluppsättningar skrivas
∆B = C · ∆α∆B = [ ∆b0 · · · ∆bN−1 ]T
∆α = [ ∆α1 · · · ∆αR ]T
C =
∂b0∂α1
∂b0∂α2
. . . ∂b0∂αR
∂b1∂α1
∂b1∂α2
. . . ∂b1∂αR... ... . . . ...
∂bN−1∂α1
∂bN−1∂α2
. . . ∂bN−1∂αR
.
156
-
Kvantisering: förflyttning av poler/nollställen – 4
Om exempelvis
K = 2r cos θ
och
L = r2
så fortplantas fel enligt[
∆K∆L
]
=
[
2cos θ −2r sin θ2r 0
] [
∆r∆θ
]
157
-
Vilken struktur är minst känslig för kvantisering?
struktur I struktur II
Ovan beskrivna analysteknik ger, efter diverse räknande, följanderesultat:
∆θI = − ∆K2r sin θ ∆θII = −1r sin θ∆α+
1r cos θ∆β.
Slutsats: struktur I är känsligare för kvantisering om en pol liggernära θ = 0 eller π, dvs. ett smalbandigt låg- eller högpassfilter.
158
-
Kvantisering av FIR-koefficienter (9.4.3)
Ett filter h(n):s systemfunktion H(z) =∑Nn=0 h(n)z
−n kan efterkvantisering beskrivas med
Ĥ(z) =N∑
n=0
(h(n) + e(n))z−n = H(z) +E(z),
dvs. en parallellkoppling av två system, varav det ena, E(z), be-skriver felet förorsakat av kvantisering.
En uppfattning om felets storlek fås genom följande omskrivning-ar:
∣
∣
∣E(ejω)∣
∣
∣ =
∣
∣
∣
∣
∣
∣
N∑
n=0
e(n)e−jωn∣
∣
∣
∣
∣
∣
≤N∑
n=0
|e(n)|∣
∣
∣e−jωn∣
∣
∣ ≤N∑
n=0
|e(n)| ≤ (N+1)δ2
där den sista olikheten bygger på antagandet om att avrundningleder till |e(n)| ≤ δ/2 (δ betecknar kvantiseringssteget).
159
-
Kvantisering av FIR-koefficienter – ett exempel
Logmagnitudfunktion
okvantiserat 16 bitar 8 bitar
Ekvirippel lågpassfilter, linjär fas designat med Parks-McClellans
algoritm med specifikationer δp = 0.01, δs = 0.001 (dvs −60 dB).
160
-
Utsignalens varians vid kvantiserad insignal
Kvantiseringsbrus med variansen σ2e förstärks i ett filter H(ejω)
till
σ2v =σ2e2π
∫ π
−π|H(ejω)|2dω
Normerat till insignalvariansen blir detta
σ2v,n =1
2π
∫ π
−π|H(ejω)|2dω = 1
2πj
∮
CH(z)H(z−1)z−1dz
161
-
Utsignalens varians vid kvantiserad insignal
Eftersom H(z) kan partialbråksuppdelas i första och andra ord-
ningens rationella, reella och stabila överföringsfunktioner Hi(z)
H(z) =R∑
i=1
Hi(z)
så kan utsignalvariansen skrivas
σ2v,n =
R∑
k=1
1
2πj
∮
C
Hk(z)Hk(z−1)z−1dz+ 2
R−1∑
k=1
R∑
l=k+1
1
2πj
∮
C
Hk(z)Hl(z−1)z−1dz
där Ii (dvs den andra integralen) finns givna i tabell 12.4 för olika kombina-tioner av Hk(z) och Hl(z)
1
2πj
∮
C
Hk(z)Hl(z−1)z−1dz.
162
-
Kvantisering vid aritmetriska operationer
Ett generellt linjärt filter beskrivs av följande differensekvation
y(n) = −N∑
k=1
dky(n− k) +M∑
k=0
pkx(n− k).
Om alla sampel och koefficienter i denna ekvation representeras
som fixtal med (b+ 1)-bitars noggrannhet, så måste längden på
de (2b+ 1)-bitars produkter som resulterar trunkeras till (b+ 1).
Denna operation kan representeras med
y(n) = −N∑
k=1
Q[dky(n− k)] +M∑
k=0
Q[pkx(n− k)].
163
-
Modeller för kvantiseringsbrus
(a)
(b)
(c)
(a) IIR filter med oändlig noggrannhet, (b) olinjär modell för
kvantiseringsbrus där felet ges av e(n) = Q[bx(n)] − bx(n), samt(c) linjär modell för kvantiseringsbrus (här: efter produkt före
nästa addition), se nästa sida.
164
-
Linjär, statistisk modell för kvantiseringsbrus
Den linjära brusmodellen är vanligast – och enklast att hanteramatematiskt! I denna modell antas att kvantiseringsfelen ei(n) äradditiva (efter produkter antingen före eller efter nästa addition)och med följande statistiska egenskaper:
• svagt stationär, vit process (vit process = samplena är sinse-mellan okorrelerade),
• rektangelfördelad täthetsfunktion över kvantiseringsintervallet,
• okorrelerad med 1. insignalen till kvantiseraren, 2. med allaandra kvantiseringsprocesser, samt 3. med insignalen x(n).
165
-
Kvantiseringsbrusets varians
För (b+ 1)-bitars kvantisering och 2-komplements trunkering så
kommer felet att vara −2−b ≤ e(n) ≤ 0. Tillsammans med anta-gandet om rektangelfördelning så ges kvantiseringsbrusets va-
rians av
σ2e =2−2b
12.
Hur summerar sig kvantiseringsbruset från varje enskild opera-
tion i filtrets utsignal? Antagandet om en linjär modell ger att
det totala felet kan skrivas som
e(n) = e0(n) + e1(n) + e2(n) + e3(n) + e4(n).
166
-
Linjär, statistisk modell för kvant.brus, forts
För att bestämma variansen hos filtrets utsignal så använder vi
följande samband mellan in- och utsignal (sid 688):
σ2f =σ2e2π
∫ π
−π|Hf(ejω)|2dω = σ2e
∞∑
n=−∞|hf(n)|2.
Med antaganden om okorrelerade felsignaler och rektangelfördel-
ning, så ges det totala felet e(n):s varians av
σ2e = σ2e0
+ σ2e1 + σ2e2
+ σ2e3 + σ2e4
= 5 · 2−2b
12,
och som för ett generellt filter blir σ2e = (M +N − 1)2−2b12 .
167
-
Linjär, statistisk modell för kvant.brus, forts
Exempel: Vi ska bestämma den totala variansen för kvantise-ringsbrusets i utsignalen om det digitala filtret definieras av
H(z) =1
1 − az−1.
Detta filter har impulssvaret h(n) = anu(n) och således gäller atthf(n) = h(n). Utsignalens varians ges av
σ2f = σ2e
∞∑
n=−∞|hf(n)|2
=2−2b
12
∞∑
n=0
|a|2n = 2−2b
12
(
1
1 − |a|2
)
.
Detta resultat ska tolkas som att variansen ökar ju närmare polen,placerad vid z = a, kommer enhetscirkeln, och följaktligen måstevi då använda fler bitar för bibehållen varians.
168
-
Vad blir totala utsignalvariansen vid flerakvantiseringsbruskällor?
• Rita först upp filterstrukturen! Placera in kvantiseringsbrus-källor efter varje produkt (före eller efter nästa addition).
• Vad blir överföringsfunktionen från var och en av bruskällor-na? Sätt alla andra insignaler till noll.
• Använd sedan teorin för hur en brussignal går genom ett fil-ter (partialbråksuppdela varje överföringsfunktion och användtabell 12.4).
• Summera slutligen bidragen från varje kvantiseringsbruskälla.
169
-
Föreläsning 6:
–
”Multirate” signalbehandling
Leif Sörnmo
11 mars 2009
170
-
Single-rate och multi-rate system
• I single-rate system så är samplingsfrekvensen den samma vidsystemets ingång som utgång liksom vid alla interna noder.
• I många system är det dock fördelaktigt att använda olikasamplingsfrekvens i olika delar av systemet – multi-rate sy-
stem.
171
-
Till vad nytta?
• Audio: omvandling av samplingsfrekvens mellan t.ex. digitalradio 32 kHz; CD 44.1 kHz; DAT 48 kHz.
• Audio: förändring av tonhöjd, t.ex. för kompensation av svajeller ”falsksång”.
• Video: omvandling av samplingsfrekvens mellan systemen NTSCoch PAL.
• Även: effektiv implementering av filterbankar för kompressionav olika signaler, t.ex. audio.
172
-
Översikt
• Uppsampling och nersampling (kap. 13.1)
• Filterdesign vid ändring av samplingsfrekvens – decimeringoch interpolering (kap. 13.2)
• Ändring av samplingsfrekvens i flera steg (kap. 13.3)
• Polyfas-filterstrukturer (kap. 13.4)
173
-
Ändring av samplingsfrekvens: uppsampling
Uppsamplaren ökar samplingsfrekvensen med en heltalsfaktor L
från den ursprungliga signal x(n),
xu(n) =
x(n/L), n = 0,±L,±2L, . . .0, för övrigt,
dvs. genom påfyllning av nollor mellan samplen. Denna operation,
som är linjär men inte tidsinvariant, representeras med följande
blockdiagram:
174
-
Ändring av samplingsfrekvens: uppsampling
175
-
Frekvenstolkning av uppsampling (L = 2)
Xu(z) =∞∑
n=−∞xu(n)z
−n =∞∑
n=−∞neven
x(n/2)z−n
=∞∑
m=−∞x(m)z−2m = X(z2) ⇒ Xu(ejω) = X(ejω2)
176
-
Frekvenstolkning av uppsampling
• Det blir L− 1 extra kopior av in-spektrat i basbandet. Dettaär ett resultat av nollorna som lagts in.
• Således, ett spektrum som är bandbegränsat till lågpassregion-en ser inte ut som ett lågfrekvent spektrum efter uppsamp-
ling.
• Lågpassfiltrering tar bort kopiorna i spektrat och ersätter nol-lorna med interpolerade värden.
177
-
Ändring av samplingsfrekvens: nersampling
Nersamplaren minskar samplingsfrekvensen med en heltalsfaktor
M från den ursprungliga signal x(n),
y(n) = x(nM),
dvs. genom att bara välja var M :te sampel. Denna operation,
som är linjär men inte tidsinvariant, måste genomföras med stor
försiktighet för att inte leda till distorsion!
178
-
Ändring av samplingsfrekvens: nersampling
179
-
Nersampling och resulterande spektrum
Vi vill bestämma hur spektrum förändrar sig vid nersampling.
Detta kräver att vi introducerar en hjälpsignal xint(n) som är
definierad för alla tidpunkter n, dvs.
xint(n) =
x(n), n = 0,±M,±2M, . . .0, för övrigt,
med vilken vi kan uttrycka z-transformen för x(n)
Y (z) =∞∑
n=−∞x(Mn)z−n =
∞∑
n=−∞xint(Mn)z
−n
=∞∑
k=−∞xint(k)z
− kM = Xint(z1/M).
180
-
Nersampling och resulterande spektrum, forts
Efter diverse räkningar erhålls att z-transformen för xint(n) är
Xint(z) =1
M
M−1∑
k=0
X(zW−kM ),
där WM = e−j2π/M . Följaktligen
Y (z) =1
M
M−1∑
k=0
X(z1/MW−kM )
som i frekvensplanet ges av
Y (ejω) =1
M
M−1∑
k=0
X(ej(ω−2πk)/M).
Detta uttryck tolkas som att resulterande spektrum är en sum-ma av M ursprungliga spektra men där bredden skalats om medfaktorn 1/M och skiftats till olika lägen längs med frekvensaxeln.
181
-
Frekvenstolkning av nersampling
Exempel för M = 2 där det ursprungliga spektrumet inte leder
till överlappning efter det att nersampling gjorts.
182
-
Frekvenstolkning av nersampling – vikning
Exempel för M = 2 där det ursprungliga spektrumet är så pass
brett att det leder till överlappning efter nersampling – ett välkänt
fenomen som kallas vikningsdistorsion.
183
-
Kaskadkoppling och samplingsfrekvens
184
-
Interpolering & decimering – två byggblock
Digital lågpassfiltrering är nödvändig vid såväl interpolering som
decimering för att hantera de oönskade effekter som uppstår vid
dessa två operationer.
185
-
Interpolering och filterdesign
186
-
Interpolering och filterdesign
Specifikationerna på det lågpassfilter som krävs efter uppsamp-
ling vid interpolering (ta bort kopior) med faktorn L ges av
|H(ejω)| =
L, |ω| ≤ ωc/L0, π/L ≤ |ω| ≤ π,
där övergångszonen, bestämd av ωc, är bred nog att tillåta en
”rimlig” filterdesign.
För decimering med M gäller samma resonemang för det filter
som behövs före nedsampling (undvika vikning), dvs.
|H(ejω)| =
1, |ω| ≤ ωc/M0, π/M ≤ |ω| ≤ π.
187
-
Interpolering och decimering — Komplexitet
Tidigare har vi sagt att IIR-filter är mer beräkningseffektiva i
det att även om de kräver fler beräkningar per ordning så kan
samma prestanda som för ett FIR-filter åstadkommas med så
mycket lägre ordning att det lönar sig att använda IIR. Detta
gäller i single-rate system.
En intressant fråga är vilken av filtertyperna FIR och IIR som
passar bäst i system där samplingsfrekvensen varierar.
188
-
Interpolering och decimering – FIR-komplexitet
Vid t.ex. decimering med faktorn M ges utsignalen från ett FIR-
filter h(n) av
y[n] = v(nM) =N−1∑
m=0
h(m)x(nM −m).
Från detta uttryck kan vi se att filtreringen baseras på var M :te
sampel i insignalen. Detta gör att komplexiteten reduceras med
en faktor M .
189
-
Interpolering och decimering – IIR-komplexitet
Om vi jämför med IIR-filter så ges utsignalen där av
H(z) =V (z)
X(z)=P(z)
D(z)
och beskrivs av en differensekvation för täljaren v[n] och en dif-
ferensekvation för nämnaren w[n].
w(nM) = −d1w(nM − 1) − · · · − dKw(nM −K) + x(n)v(nM) = p0w(nM) + p1w(nM − 1) + · · · + pKw(nM −K).
Här ser vi att täljarekvationen kräver K+1 multiplikationer men
beräknas bara för var M :te sampel. Nämnarekvationen kräver K
multiplikationer oavsett när den beräknas.
190
-
Interpolering och decimering — FIR!
Antal multiplikationer per filtrerat sampel för
RM,FIR = N
RM,FIR−DEC = N/M
RM,IIR = (2K + 1)
RM,IIR−DEC = K + (K + 1)/M
FIR-filter leder till färre antal multiplikationer. På samma
sätt sparas en faktor L i beräkning vid interpolation eftersom
den uppsamplade signalen huvudsakligen består av nollor.
191
-
Decimering och interpolering i Matlab
• decimate – decimering
• interp – interpolering
• resample – ändring av samplingsfrekvensen med faktorn L/M .
192
-
Decimering i två eller tre steg - skillnad?
193
-
Polyfasuppdelning av signal
En signal kan ekvivalent representeras av M stycken nersamplade
(med en faktor M) signaler
194
-
Polyfasstruktur för effektiv decimering ochinterpolering
Vi har tidigare sett att alla FIR-filter kan realiseras i polyfasstruk-
tur. I vissa fall är det också möjligt att realisera IIR-filter i polyfas-
struktur. Denna struktur är lika komplex som direktstrukturerna
men det visar sig att den är speciellt lämplig vid decimering och
interpolering.
195
-
Polyfasstruktur för effektiv decimering ochinterpolering
196
-
Föreläsning 7:
–
Filterbankar
Leif Sörnmo
11 mars 2009
197
-
Översikt
• Filterbankar (14)
• Uniform DFT-filterbank (14.1.2)
• L-bandsfilter, spec. halvbandsfilter (13.6)
• ”Quadrature mirror filter (QMF)”-bank (14.2)
198
-
Vad är en filterbank?
Analys-filterbank Syntes-filterbank
Utsignalerna v0(n), . . . , vM−1(n) från analys-filterbanken behand-las på lämpligt sätt, tex med en kodningsalgoritm, för att senare
återskapas med syntes-filterbanken från v̂0(n), . . . , v̂L−1(n).
199
-
Filterbank för kodning/avkodning av audiosignal
Ofta innehåller en filterbank fler delband än vad den har som
visas ovan, dvs. flera frekvensband kodas/avkodas.
200
-
Kodning/avkodning av audiosignal (56 kbit/s)
Förstärkning för varje delbandsfilter (totalt 5 filter)
Summan av alla delbandsfilters förstärkning, dvs nästan konstant
201
-
Kodning/avkodning av audiosignal (56 kbit/s),forts
202
-
Uniform DFT-filterbank (14.1.2)
Lågpassfiltret H0(ejω) överst har ωp och ωs runt π/M .
203
-
Uniform DFT-filterbank – 2
De andra M − 1 filtren fås genom att skifta prototypfiltretH0(e
jω) längs med frekvensaxeln i steg om 2πk/M , dvs.
Hk(ejω) = H0(e
jωe−j2πk/M), 0 ≤ k ≤M − 1.I tidsplanet ges impulssvaret för hk(n) av
hk(n) = h0(n)ej2πkn/M , 0 ≤ k ≤ M − 1.
Om vi plottar |Hk(ejω)| för olika värde på k så erhålls diagrammetpå föregående sida. Den resulterande filterbanken kallas uniform
eftersom alla delbandsfilter ges av ekvidistanta frekvensskift av
H0(ejω), dvs.
|Hk(ejω)| = |H0(ej(ω−2πk/M))|
204
-
Uniform DFT-filterbank med polyfasstruktur
Detta är ett effektivt sätt att implementera DFT-filterbanken
eftersom det visar sig att polyfasuppdelningen av H0(ejω) kan
användas också för att skapa de olika Hk(ejω). Hur de olika po-
lyfaskomponenterna ska kombineras anges av en invers DFT-
matris.
205
-
DFT analys-filterbank med polyfasstruktur – 2
Vi utgår ifrån H0(z) uttryckt som ett M-bands polyfasfilter, dvs.
H0(z) =
M−1∑
l=0
z−lEl(zM)
där El(z) är den l:te polyfaskomponenten,
El(z) =
∞∑
n=0
el(n)z−n =
∞∑
n=0
h0(l+ nM)z−n, 0 ≤ l ≤M − 1
Polyfasform för filtren Hk(z) erhölls med frekvensskift, som i z-planet svarar mot att z ersätts med ze−j2πk/M , dvs.
Hk(z) =M−1∑
l=0
z−lej2πkl/MEl(zMe−j2πkM/M)
=M−1∑
l=0
z−lej2πkl/MEl(zM)
206
-
DFT analys-filterbank med polyfasstruktur – 3
För specialfallet M = 2 så blir
H0(z) = E0(z2) + z−1E1(z2)
och H1(z) blir
H1(z) =1∑
l=0
z−lej2πl/2El(z2e−j2πk)
= E0(z2) − z−1E1(z2)
207
-
DFT analys-filterbank med polyfasstruktur – 4
Z-transformen för alla M olika filter i banken kan skrivas som
en produkt av två vektorer, och därefter samlas ihop i följande
matrisekvation
H0(z)H1(z)
...HM−1(z)
=
1 1 . . . 11 ej2π/M . . . ej2π(M−1)/M... ... . . . ...1 ej2π(M−1)/M . . . ej2π(M−1)
2/M
E0(zM)z−1E1(zM)
...z−(M−1)EM−1(zM)
eller mera kompakt uttryckt som vektorer och matris,
H(z) = MD−1E(z).
Anledningen till att matrisen D här skrivs som inverterad beror
på att D definierar den M ×M matris som används vid beräkningav en DFT; se mera om detta på nästa sida.
208
-
DFT och IDFT i matrisform
Transformparet för DFT:n ges av
X(k) =
M−1∑
n=0
x(n)e−j2πnk/M ↔ x(n) = 1M
M−1∑
k=0
X(k)ej2πnk/M
Med beteckningarna x =[
x(0) x(1) . . . x(M − 1)]T
,
X =[
X(0) X(1) · · · X(M − 1)]T
, och
D =
1 1 . . . 1
1 e−j2π/M · · · e−j2π(M−1)/M... ... . . . ...
1 e−j2π(M−1)/M · · · e−j2π(M−1)2/M
så kan transformparet även uttryckas som
X = Dx ↔ x = D−1X
209
-
DFT analys-filterbank med polyfasstruktur —prestanda
För ett prototypfilter med N koefficienter så kräver denna typ av
filterbank vid
• direkt implementering: N ·M multiplikationer
• polyfas-implementering: (M/2) log2M +N multiplikationer.
Alltså, en dramatisk förbättring av prestanda!
210
-
DFT syntes-filterbank med polyfasstruktur
211
-
L-bandsfilter (13.6)
Detta är en grupp av filter som
• är beräkningsmässigt attraktiva eftersom ett stort antalkoefficienter är lika med noll,
• bevarar de ursprungliga samplens värde vid interpolering (dvsdessa går opåverkade genom interpolationsfiltret).
Ett annat namn på dessa filter är Nyquistfilter.
212
-
Egenskaper hos L-bandsfilter
Ett L-bandsfilters systemfunktion ges på polyfasform av
H(z) = E0(zL) + z−1E1(zL) + · · · + z−(k−1)Ek−1(zL) + αz−k
+ z−(k+1)Ek+1(zL) + · · · + z−(L−1)EL−1(zL)
där en polyfaskomponent är konstant, dvs. Ek(zL) = αz−k.
Vid interpolering erhålls utsignalen som Y (z) = H(z)X(zL), eller
Y (z) = αz−kX(zL) +L−1∑
l=0l 6=k
z−lEl(zL)X(zL)
som i tidsplanet innebär att
y(nL+ k) = αx(n),
dvs. insignalens sampel återfinns odistorderade i utsignalen, me-dan de övriga samplen i utsignalen interpoleras fram.
213
-
Impulssvar för L-bandsfilter
Allmänt:
h(Ln) =
α, n = 0
0, för övrigt.
L = 3
214
-
Frekvenssvar för skiftade L-bandsfilter
Om det är den första polyfaskomponenten E0(zL) som är lika
med α så kan man visa att∑L−1k=0H(zW
kL) = Lα.
215
-
Halvbandsfilter — specialfall av L-bandsfilter
Om L = 2 så kallas filtret för halvbandsfilter och ges då av
H(z) = E0(z2) + z−1E1(z2) = α+ z−1E1(z2)
där vi utnyttjat att E0(z2) är den konstanta polyfaskomponenten,
oftast vald med α = 12. Följaktligen är impulssvaret (varannat
sampel) lika med
h(2n) =
12, n = 0
0, för övrigt.
För alla halvbandsfilter kan man visa att
H(z) +H(−z) = 12
+ z−1E1(z2) +1
2− z−1E1(z2) = 1
vilket har en intressant tolkning i frekvensplanet...
216
-
Halvbandsfilter — specialfall av L-bandsfilter
Om vi sätter z = ejω så erhålls
H(ejω) +H(−1 · ejω) = H(ejω) +H(ej(π−ω)) = 1som kan tolkas enligt nedan (h(n) antas vara FIR med N = 11).
obs! varannan nolla obs! reell funktion obs! skiftad obs! summan=1
h(n), N = 11h(n), N = 11 H(ejω) H(ej(π−ω)) H(ejω) +H(ej(π−ω))
Eftersom flera koefficienter (ibland uppåt 50%) är noll sparasmånga multiplikationer. (N = 101 ger endast 25 mult.)
217
-
Frekvenssvar för halvbandsfilter — detaljbild
218
-
Linjär-fas L-bandsfilter (13.6.3)
Lågpass, linjär-fas, L-bandsfilter med brytfrekvens ω = πL kan de-
signas med fönstermetoden. Om hLP (n) = 0 för n = ±L,±2L, ...så är det ett s.k. Nyquist-filter.
219
-
”Quadrature-mirror filter bank” — QMF-bank
Samma samplingshastighet på in- och utsignalen.
220
-
QMF-bank — överföringsfkn för analysdelen
De två filtrerade signalerna bestäms av V0(z) = X(z)H0(z) re-
spektive V1(z) = X(z)H1(z). Nedsampling med en faktor 2 leder
till följande in-/utsamband (se föreläsning 6)
U0(z) =1
2X(z1/2)H0(z
1/2) +1
2X(−z1/2)H0(−z1/2)
U1(z) =1
2X(z1/2)H1(z
1/2) +1
2X(−z1/2)H1(−z1/2)
som på matrisform blir[
U0(z)U1(z)
]
=1
2
[
H0(z1/2) H0(−z1/2)
H1(z1/2) H1(−z1/2)
] [
X(z1/2)
X(−z1/2)
]
221
-
QMF-bank — egenskaper hos delbandssignaler
efter lågpassfiltrering av insignal
efter nersampling med faktorn 2
efter högpassfiltrering av insignal
efter nersampling med faktorn 2
Observera att vikningsdistorsion introduceras
222
-
QMF-bank — överföringsfkn för syntesdelen
Utsignalerna från syntesdelen av filterbanken ges av följande sam-
band (se föreläsning 6)
Y (z) = G0(z)U0(z2) +G1(z)U1(z
2)
som på matrisform blir
Y (z) =[
G0(z) G1(z)]
[
U0(z2)
U1(z2)
]
Notera att lågpassfiltret G0(z) eliminerar det mesta av frekvens-
innehållet i π/2 ≤ ω ≤ π, medan högpassfiltret G1(z) eliminerardet mesta av innehållet i 0 ≤ ω ≤ π/2. Eftersom frekvenssvarenhos de två filtren överlappar så sker ingen total elimination.
223
-
QMF-bank — total överföringsfunktion
Tidigare samband kombinerade leder till överföringsfunktionen
för hela QMF-banken
Y (z) =[
G0(z) G1(z)]
· 12
[
H0(z) H0(−z)H1(z) H1(−z)
] [
X(z)X(−z)
]
Detta uttryck kan också skrivas som
Y (z) = T(z)X(z) +A(z)X(−z)där de två funktionerna
T(z) =1
2[G0(z)H0(z) +G1(z)H1(z)]
A(z) =1
2[G0(z)H0(−z) +G1(z)H1(−z)]
beskriver egenskaper m.a.p. överföring respektive vikning.
224
-
QMF-bank — egenskaper
För att eliminera vikningsdistorsion i filterbanken önskar vi att:
A(z) = 0
Funktionen T(z) beskriver hur pass väl en signal kan rekonstrue-
ras: vi säger att filterbanken åstadkommer perfekt rekonstruk-
tion om
T(z) = z−k
dvs. en ren fördröjning.
Dessa två, mycket önskvärda egenskaper sammanfattas med
1
2
[
G0(z) G1(z)]
[
H0(z) H0(−z)H1(z) H1(−z)
]
=
[
z−k0
]T
.
225
-
QMF-bank — standardversionen
Om vi väljer följande analys- och syntesfilter:
H0(z) = H(z), H1(z) = H(−z), G0(z) = H(z), G1(z) = −H(−z)så elimineras vikningsdistorsionen, dvs. A(
top related