Tidigare har vi gått igenom Fourierserierepresentation av periodiska signaler och Fouriertransform av icke-periodiska signaler. Fourierserierepresentationen av x(t) ges av: där a k = 1 T + T a k e jkω 0t, (1) x(t)e jkω 0t dt. (2) Mätteknik & Signalbehandling SME118 Johan Carlson EISLAB Luleå tekniska universitet Email: johanc@sm.luth.se Johan Carlson 3 Johan Carlson 1 Dagens meny Fouriertransformen och dess inverstransform (för icke-periodiska signaler) ges av: och F{x(t)} = X(ω) = F 1 {X(ω)} = 1 + + x(t)e jωt dt, (3) X(ω)e jωt dω. (4) Lite förberedande teori... Impulstågssampling Rekonstruktion Kvantisering Johan Carlson 4 Johan Carlson 2
Från föregående bilder har vi alltså: och F 1 { + a k δ(ω kω 0 ) a k e jkω 0t } = (9) a k e jkω 0t. (10) Slutsats: Fouriertransformen av en periodisk signal med Fourierseriekoefficienterna {a k } är ett pulståg där avståndet mellan pulserna är kω 0 och amplituden för varje puls är a k. Ok, så vi har en transform för icke-periodiska signaler och en serierepresentation av periodiska signaler. Hur skulle transformen X(ω) av en periodisk x(t) se ut? Betrakta följande X(ω): Motsvarande x(t) ges då av F 1 {X(ω)} = 1 (Enligt formelsamlingen). X(ω) = δ(ω ω 0 ). (5) δ(ω ω 0 )e jωt dt = e jω 0t. (6) Johan Carlson 7 Johan Carlson 5 Exempel 1 En periodisk fyrkantvåg x(t), med perioden T, definieras enligt 1, t < T 1 0, T 1 < t < T/2. (11) Vid en tidigare föreläsning bestämde vi Fourierseriekoefficienterna {a k } till x(t), enligt a k = 2 sin(kω 0T 1 ) kω 0 T = sin(kω 0T 1 ) πk (12) Om vi generaliserar X(ω) till en summa av enhetspulser, förskjutna så att de står på avståndet kω 0 från varandra, var och en med höjden a k, enligt X(ω) = + så får vi, p.g.a. linjäriteten hos Fouriertransformen, ( 1 ) a k δ(ω kω 0 )e jkωt dω = a k δ(ω kω 0 ), (7) a k e jkω 0t. (8) Johan Carlson 8 Johan Carlson 6
Impulstågssampling Exempel 1 (forts.) Antag att vi vill läsa av den tidskontinuerliga signalen x(t) i vissa diskreta tidpunkter nt, enligt figuren nedan. x( t) x( nt) nt x( t) x( t) p( t) X p( t) Fouriertransformen av x(t) ges då av X(ω) = = + + a k δ(ω kω 0 ) = (13) 2 sin(kω 0 T 1 ) δ(ω kω 0 ). (14) k där p(t) är ett pulståg med perioden T. Johan Carlson 11 Johan Carlson 9 Sampling Exempel 2 Några frågor... Kan man återvinna x(t) ur x(nt )? Vad händer om man samplar för glest? Hur täta sampel måste man ta för att kunna återskapa x(t)? Hur återskapar man x(t) från x(nt )? Ett annat viktigt exempel, som vi snart kommer att behöva, är Fouriertransformen av ett pulståg med perioden T, dvs p(t) = δ(t kt ), (15) Från formelsamlingen får vi P (ω) enligt P (ω) = T δ(ω kω s ), (16) där ω s = /T. Johan Carlson 12 Johan Carlson 10
Varför blir det problem? Exempel Vad händer i frekvensplanet då man samplar signalen x(t) i punkterna nt? Påminner om faltningsegenskapen för Fouriertransformen, som säger att följande gäller: F x(t)p(t) 1 [X(ω) P (ω)], (17) och att faltning med en impuls ger X(ω) δ(ω kω s ) = X(ω kω s ). (18) Amplitud 1 0.5 0 0.5 1 0 0.5 1 1.5 2 2.5 3 Tid, t (s) Johan Carlson 15 Johan Carlson 13 Problem... Exempel (forts.) Om vi samplar x(t) i punkterna nt (n heltal) genom att multiplicera x(t) med p(t), dvs x(t)p(t) = x(t) δ(t nt ), (19) n= får vi alltså F{x(t)p(t)} = 1 1 X(ω) P (ω) = X(ω) δ(ω nω s ) T n= (20) = 1 T X(ω nω s ) (21) där ω s = /T. n= Amplitud 1 0.5 0 0.5 1 0 0.5 1 1.5 2 2.5 3 Tid, t (s) Johan Carlson 16 Johan Carlson 14
Rekonstruktion Samplingssatsen Nu vet vi vilka villkor som gäller för att man ska kunna rekonstruera x(t) från sina sampel. Hur gör man? Vi tittar på tre olika rekonstruktionsmetoder: Ideal rekonstruktion Använder ett idealt lågpassfilter. Zero-order hold Behåller värdet på ett sampel tills nästa sampel anländer. First-order hold Interpolerar mellan två sampel med en rät linje. Låt x(t) vara en bandbegränsad signal, så att X(ω) = 0 för ω > ω m. Då bestäms x(t) fullständigt av sina sampel x(nt ) (n heltal) om där ω s > 2ω m, (22) ω s = T. (23) Givet dessa sampel {x(nt )} kan man sedan återskapa x(t). Johan Carlson 19 Johan Carlson 17 Kvantisering Vikning Pulstågssamplingen ger en tidsdiskret representation av signalen. Det betyder att vi känner signalen, endast vid diskreta tidpunkter, nt. I de punkterma känner vi signalens värde exakt. I digitala system kan vi inte representera reella tal exakt, utan vi måste beskriva den med ändlig precision, t.ex. med 8, 12 eller 16 bitar per tal. (MATLAB använder 64 bitar per tal, vilket ger 2 64 1.84 10 19 olika kvantiseringsnivåer) Om man samplar för glest (ω s 2ω m ) uppstår något som kallas vikning (eng. aliasing). Det innebär att högre frekvenser viker ner till det frekvensband man klarar att representera med den samlplingsfrekvens man använt. För att undvika vikning måste man alltså se till att signalen INTE innhåller några frekvenser 1 2 ω s. Detta måste man göra FÖRE sampling sker. Lösning: Låt signalen passera ett lågpassfilter med brytfrekvens ω c < 1 2 ω s. Ett sådant lågpassfilter kallas ofta antiviknigsfilter (eng. anti-aliasing filter). Johan Carlson 20 Johan Carlson 18
Kvantisering (forts...) Kvantisering med n bitar innebär att varje tal representeras med n bitar, vilket i sin tur innebär att man kan representera 2 n olika nivåer/värden. 8 bitar ger 256 nivåer. 12 bitar ger 4096 nivåer. 16 bitar ger 65536 nivåer. Johan Carlson 21