Uke 10: Diskret Fourier Transform, II

Like dokumenter
Dagens temaer. Endelig lengde data. Tema. Time 11: Diskret Fourier Transform, del 2. Spektral glatting pga endelig lengde data.

Uke 9: Diskret Fourier Transform, I

Bruk av tidsvindu. Diskret Fourier-transform. Repetisjon: Fourier-transformene. Forelesning 6. mai 2004

Eksempel 1. Frekvensene i DFT. Forelesning 13. mai På samme måte har vi at. I et eksempel fra forrige uke brukte vi sekvensen

Uke 6: Analyse i frekvensdomenet

Uke 6: Analyse i frekvensdomenet

UNIVERSITETET I OSLO

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo

Repetisjon. Jo Inge Buskenes. INF3470/4470, høst Institutt for informatikk, Universitetet i Oslo

Repetisjon: Spektrum for en sum av sinusoider

UNIVERSITETET I OSLO

3UDNWLVN DQYHQGHOVH DY ')7

UNIVERSITETET I OSLO

Uke 4: z-transformasjonen

UNIVERSITETET I OSLO

STE 6219 Digital signalbehandling Løsningsforslag

Fasit, Eksamen. INF3440/4440 Signalbehandling 9. desember c 0 + c 1z 1 + c 2z 2. G(z) = 1/d 0 + d 1z 1 + d 2z 2

Uke 6: Analyse i frekvensdomenet

UNIVERSITETET I OSLO

Repetisjon: LTI-systemer

Forelesning, 23.februar INF2400 Sampling II. Øyvind Ryan. Februar 2006

Uke 4: z-transformasjonen

Forelesning, 17.februar INF2400 Sampling II. Øyvind Ryan. Februar 2005

Basisbilder - cosinus. Alternativ basis. Repetisjon Basis-bilder. INF april 2010 Fouriertransform del II. cos( )

LØSNINGSFORSLAG TIL SIGNALBEHANDLING 1 JUNI 2010

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

STE 6146 Digital signalbehandling. Løsningsforslag til eksamen avholdt

Uke 12: FIR-filter design

Uke 5: Analyse i z- og frekvensdomenet

Dagens temaer. Tema. Time 6: Analyse i frekvensdomenet. z-transformasjonen. Fra forrige gang. Frekvensrespons funksjonen

Sampling ved Nyquist-raten

Generell informasjon om faget er tilgjengelig fra It s learning.

Uke 12: FIR-filter design

Repetisjon: Eksempel. Repetisjon: Aliasing. Oversikt, 26.februar Gitt. Alle signaler. Ettersom. vil alle kontinuerlig-tid signaler.

UNIVERSITETET I OSLO

Dagens temaer. Definisjon av z-transformasjonen. Tema. Time 5: z-transformasjon og frekvens transformasjon. Fra forrige gang

pdf

Uke 4: z-transformasjonen

Fourier-Transformasjoner IV

Uke 4: z-transformasjonen

Transformanalyse. Jan Egil Kirkebø. Universitetet i Oslo 17./23. september 2019

HØGSKOLEN - I - STAVANGER. Institutt for elektroteknikk og databehandling

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi


HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Generell informasjon om faget er tilgjengelig fra It s learning.

Basisbilder - cosinus v Bildene

INF mars 2017 Diskret Fouriertransform del II

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

EKSAMEN STE 6219 Digital signalbehandling

Uke 4: z-transformasjonen

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

FFT. Prosessering i frekvensdomenet. Digital signalprosessering Øyvind Brandtsegg

f(t) F( ) f(t) F( ) f(t) F( )

TMA Matlab Oppgavesett 2

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Tidsdomene analyse (kap 3 del 2)

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

INF mars 2017 Fourier I -- En litt annen vinkling på stoffet i kapittel 4

Hjelpemidler/hjelpemiddel: D - "Ingen trykte eller håndskrevne hjelpemidler tillatt. Enkel kalkulator tillatt."

UNIVERSITETET I OSLO

Fasit til midtveiseksamen

sin(2 ui/n) starter på 0 og repeteres u ganger per N samples. cos(2 ui/n) starter på 1 og repeteres u ganger per N samples

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

Introduksjon. «Diskret» sinus/cosinus i 1D. Funksjonen sin(θ) INF april 2010 Fourier -- En annen vinkling på stoffet i kapittel 4

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004

Løsningsforslag til hjemmeeksamen i INF3440 / INF4440

MAT-INF 2360: Obligatorisk oppgave 1

Bedømmelse: Ved bedømmelse vektlegges oppgavene I, II og III likt.

'HQ GLVNUHWH )RXULHU-WUDQVIRUPHQ (')7)

UNIVERSITETET I OSLO

( x+ π 2) Bakgrunn: Sinus og cosinus. Bakgrunn: Samplet sinus i 1D. Bakgrunn: Samplet sinus i 2D. Bakgrunn: Sinus i 2D. sin( x)=cos.

Fourier-Transformasjoner II

Eksempel: Ideelt lavpassfilter

Noen presiseringer mhp Diskret Fourier Transform. Relevant for oblig 1.

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen

Dagens temaer. 3 domener. Tema. Time 4: z-transformasjonen. z-dometet; ett av tre domener. Andreas Austeng@ifi.uio.no, INF3470

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Tidsdomene analyse (kap 3 del 2)

UNIVERSITETET I OSLO

Dagens mål. Det matematiske fundamentet til den diskrete Fourier-transformen Supplement til forelesning 8 INF Digital bildebehandling

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET Side 1 av 5

Konvolusjon og filtrering og frevensanalyse av signaler

TMA Kræsjkurs i Matlab. Oppgavesett 3 Versjon 1.2


Forkunnskapskrav. Hva handler kurset om. Kontaktinformasjon. Kurset er beregnet på en student som kan

LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN STE 6219 Digital signalbehandling

Ghost amplitude spectrum. d=6 m V=1500 m/s c= 1

INF Stikkord over pensum til midtveis 2017 Kristine Baluka Hein

Utkast med løsningshint inkludert UNIVERSITETET I OSLO

MAT-INF 2360: Obligatorisk oppgave 1

UNIVERSITETET I OSLO

Introduksjon/motivasjon I. FOURIER-TRANSFORM I Ole Marius Hoel Rindal, foiler av Andreas Kleppe. Introduksjon/motivasjon II. Bakgrunn: Frekvens

UNIVERSITETET I OSLO

Bildetransformer Lars Aurdal

Aliasing: Aliasfrekvensene. Forelesning 19.februar Nyquist-Shannons samplingsteorem

Filter-egenskaper INF Fritz Albregtsen

Transkript:

Uke 10: Diskret Fourier Transform, II Jo Inge Buskenes Institutt for informatikk, Universitetet i Oslo INF3470/4470, høst 011

/38 Dagens temaer Spektral glatting pga endelig lengde data Bruk av DFT en Frekvensestimering FFT

3/38 Tema Spektral glatting pga endelig lengde data Spektral glatting Diskret tid vinduer

4/38 Endelig lengde data Hvis vi definerer et vindu w[n] = { 1, n 0, 1,..., N 1 0 ellers og et periodisk signal x p [n], n... så vil produktet av disse x[n] = x p [n] w[n] beskrive en tidsbegrenset versjon av x p [n]. Tar vi DFT en av x[n] vil vi kunne få problemer med: Spektral lekkasje (når N kts, k Z 0 ) Glatting

1.5 1.0 Endelig lengde data Forskjellige utsnitt fra det periodiske signalet x p [n] = 0.5 sin(πf 0 n): 1 5/38 FDF T {x[n]} = X[k] Amplitude 0.5 0.0 0.5 Magnitude 1 4 1.0 1.5 N = 3 Fs F0 0 0 0 40 60 0 - Fs -F0 0 F0 Fs 1.5 1.0 1 FDF T {x[n]} = X[k] Amplitude 0.5 0.0 0.5 Magnitude 1 4 1.0 N = 3 Fs F0-5 1.5 0 0 0 40 60 0 - Fs -F0 0 F0 Fs 1.5 1.0 1 FDF T {x[n]} = X[k] 0.5 Amplitude 0.0 0.5 Magnitude 1 4 1.0 N = 11 Fs F0-5 1.5 0 100 00 300 400 500 0 - Fs -F0 0 F0 Fs

1.5 1.0 Endelig lengde data Forskjellige utsnitt fra det periodiske signalet x p [n] = 0.5 sin(πf 0 n) + 0.5 sin(πf 1 n): 1 6/38 FDF T {x[n]} = X[k] Amplitude 0.5 0.0 0.5 Magnitude 1 4 1.0 1.5 N = 3 Fs F0 0 0 0 40 60 0 - Fs -F0 0 F0 Fs 1.5 1.0 1 FDF T {x[n]} = X[k] Amplitude 0.5 0.0 0.5 Magnitude 1 4 1.0 N = 3 Fs F0-5 1.5 0 0 0 40 60 0 - Fs -F0 0 F0 Fs 1.5 1.0 1 FDF T {x[n]} = X[k] 0.5 Amplitude 0.0 0.5 Magnitude 1 4 1.0 N = 11 Fs F0-5 1.5 0 100 00 300 400 500 0 - Fs -F0 0 F0 Fs

7/38 Spekter til tidsbegrenset sinusfunksjon Gitt et vindu w[n] = med DTFT W(Ω) = { 1, n 0, 1,..., N 1 0 ellers sin NΩ/ sin Ω/ e ȷ(N 1)Ω/ 1 > N = 14; > omega = linspace(-pi,pi,51); 3 > W = (sin(n*omega/)./ sin(omega/))... 4.* exp(-j*(n-1)*omega/); 5 > plot(omega,real(w)); 6 7 > h = fvtool(ones(n,1)/n,1,... 8 'frequencyrange','[-pi, pi)'); 9 10 > print -dpng WindowedSin

. 1 > N = 14; > omega = linspace(-pi,pi,51); 3 > W = (sin(n*omega/)./ sin(omega/))... 4.* exp(-j*(n-1)*omega/); 5 > plot(omega,real(w)); 6 7 > h = fvtool(ones(n,1)/n,1,... 8 'frequencyrange','[-pi, pi)'); 9 10 > print -dpng WindowedSin.011-10-6 Spektral glatting pga endelig lengde data Spektral glatting Spekter til tidsbegrenset sinusfunksjon { 1, n 0, 1,..., N 1 Gitt et vindu w[n] = 0 ellers med DTFT W(Ω) = sin NΩ/ sin Ω/ e ȷ(N 1)Ω/ Fourier transformen til et diskret aperiodisk windu { 1, n 0, 1,..., N 1 Gitt et diskret aperiodisk vindu w[n] = 0, ellers Da finner vi frekvensresponsen ved DTFT:.. W(Ω) = k= N 1 w[n] e ȷΩn = k=0 = 1 e ȷΩN 1 e ȷΩ ( e ȷ ΩN ȷ ΩN ) e e ȷ ΩN = ( e ȷ Ω e ȷ Ω ) e ȷ Ω = = ȷ sin ΩN ȷ sin Ω ȷ ΩN e e ȷ Ω ΩN sin Ω(N 1) ȷ sin Ω e e ȷΩn Her gjenkjenner vi amplitude- og fasedelen lett: W(Ω) = W(Ω) e ȷΘ W(Ω) ΩN sin W(Ω) = sin Ω Ω(N 1) Θ W (Ω) =

. 1 > N = 14; > omega = linspace(-pi,pi,51); 3 > W = (sin(n*omega/)./ sin(omega/))... 4.* exp(-j*(n-1)*omega/); 5 > plot(omega,real(w)); 6 7 > h = fvtool(ones(n,1)/n,1,... 8 'frequencyrange','[-pi, pi)'); 9 10 > print -dpng WindowedSin.011-10-6 Spektral glatting pga endelig lengde data Spektral glatting Spekter til tidsbegrenset sinusfunksjon { 1, n 0, 1,..., N 1 Gitt et vindu w[n] = 0 ellers med DTFT W(Ω) = sin NΩ/ sin Ω/ e ȷ(N 1)Ω/ Analyse av W(Ω) for det rektangulære vinduet Toppverdien i Ω = 0: W(0) =?.. sin ΩN W(0) = lim ω 0 sin Ω Avstanden fra Ω = 0 til nullpunktene: = lim ω 0 ΩN Ω = N W(0) = dvs. sin ΩN sin Ω = 0 når sin ΩN = 0 ΩN = πfn = kπ k Z 1 Første nullpunkt ved Ω = 1. Dette tilsvarer halve hovedlobebredden. Gang med N for å få hele. Høyden på første sidelobe: Vanskelig å finne en eksplisitt løsning for dette. Bruker en numerisk løsning.

Respons for typisk vindu; kvalitetsmål 8/38 Kvalitetsmål, vinduer; Maks verdi; Peak value (P) Maks sidelobe verdi, Peak Sidelobe Level (PSL) -3dB bredde (W 3 ), / P -6dB bredde (W6 ), 0.5P Bredde 1. nullpkt (W M ) Bredde for å nå max-sl nivå (WS )

9/38 Noen typiske vinduer De forskjellige vinduene gir oss forskjellig kompromiss mellom oppløsning og lekkasje

10/38 Noen typiske vinduer...

Oppløsning til vinduer 11/38 Hvor nære kan to frekvenser være uten at vi får problemer med å skille dem? Frekvensoppløsning: f = W M F s, der W M er avhengig av vinduet og angir avstand til første nullpunkt i magnitudespekteret. Eksempel 8.13: Gitt: x(t) = A 1 cos πf 0 t + A cos π(f 0 + f)t A 1 = A = 1 f 0 = 30 Hz F s = 18 Hz (a) Hva er minste f som kan bli oppløst ved bruk av Boxcar og Hanning når: i N = 56, N FFT = 048 ii N = 51, N FFT = 048 iii N = 56, N FFT = 4096

Oppløsning til vinduer Svar: (a) Hva er minste f som kan bli oppløst ved bruk av Boxcar og Hanning når: i N = 56, N FFT = 048 Rect: F = N F s = 56 Hann: F = 4 F N s = 4 56 ii N = 51, N FFT = 048 Rect: F = N Fs = 51 Hann: F = 4 N Fs = 4 51 iii N = 56, N FFT = 4096 Rect: F = N F s = 56 Hann: F = 4 N F s = 4 56 18Hz = 1Hz 18Hz = Hz 18Hz = 0.5Hz 18Hz = 1Hz 18Hz = 1Hz 18Hz = Hz Rektangulært vindu gir best oppløsning, men har størst sidelober / mest lekkasje. Bedre oppløsning ved å øke N. Null-utvidelse har ingen effekt. Hanning gir halvparten av oppløsningen, men mindre lekkasje. 1/38

Oppløsning til vinduer 13/38 Frekvens oppløsning: Kriterie for oppløsning av to nabofrekvenser

14/38 Oppløsning til vinduer... Dynamisk område oppløsning

15/38 Tema Bruk av DFT en Lineær konvolusjon med lange sekvenser Bånd-begrenset interpolasjon

16/38 Konvolusjon av lange sekvenser Gitt h[n] med lengde N 1, og x[n] med lengde N. 1. Nullutvider h[n] og x[n] til lengde N N 1 + N 1.. Finner N-punkts DFT av h[n] og x[n]. 3. Multipliserer sammen Y[k] = H[k] X[k]. 4. Finner invers av Y[k] y[n] = h[n] x[n]. Beregningsbyrde: En N samples konvolusjon krever N komplekse multiplikasjoner. Algoritmen over krever 3Nlog (N) + N komplekse multiplikasjoner v/fft. Gitt N = m : 3Nlog (N) + N = 3 m log ( m ) + m = m (3m + 5) m = 5: m (3m + 5) = 640 m = 10: m (3m + 5) = 35 840 Lange sekvenser blir fort veldig beregningstunge! Løsning: Blokk-konvolusjon. To typer: Overlap-add Overlap-save

Overlap-add 17/38 1. Splitt x[n] i m sekvenser x i [n] med lengde M.. Nullutvid x i [n] til -potens 3. Beregn X i [k] = F DFT {x i [n]} ved å bruke FFT 4. Legg sammen alle X i [k] X[k] = M 1 X i [k] i=0

Overlap-save 18/38 Hvis x[n] er den lange sekvensen: 1. Nullutvid x[n] med N 1 nuller i front.. Del i k overlappende segmenter (N 1 overlapp) av med lengde M (typisk M = N) 3. Nullutvid h[n] til lengde M. 4. Beregn periodisk konvolusjon for hver del og kutt overlapp.

19/38 Interpolasjon i frekvens Ønsker å interpolere opp et signal med lengde N til lengde NM: 1. x[n] DFT X[k]. Nullutvid X[k] til X i [k] på følgende måte: { {X[0],..., X[N/ 1],... (M 1)N0 er... X[N/],..., X[N 1] X i [k] = {X[0],..., 0.5X[N/],... (M 1)N 10 er... 0.5X[N/],..., X[N 1] 3. x i [n] IDFT X i [k] hvis N odde hvis N like Det hadde vært identisk å nullutvide x[n] med nuller mellom samplene, ta DFT en, legge på et LP-filter, og inverstransformere.

0/38 Tema Frekvensestimering Periodogram og dets avarter Spektrogram

Periodogrammet Effekt tetthets spekteret (Power Spectral Density, PSD) er definert ved R xx (f) = F {r xx (t)} det r xx (t) er autokorrelasjonen av x(t), r xx (t) = x(t) x(t + t )dt Problem: Vi har ikke x(t) men en samplet endelig tidssekvens x[n]. Vi må estimere R xx (f). En mulighet er Periodogrammet: P[k] = 1 N X DFT[k] 1/38 Godt estimat for deterministiske, båndbegrensede power signaler samplet over Nyquist-raten. Dårlig estimat for støyfullt signal. Estimat ikke forbedret med økende N.

Forbedrede estimater Bartletts metode Del dataene opp i L ikke-overlappende deler. Beregn P for hver del og P B som et midlet estimat. Welchs metode Del dataene opp i K overlappende deler. Beregn P fra vektede utgaver av hver del og PW som et midlet estimat. Blackman-Tukeys metode Beregn estimatet for r xx (t) ved r xx [n]. Beregn PB T som DFT{w r xx }, der w[n] er et vindu (som har positivt FT). Kalles også smoothed periodogram. /38

3/38 Tid-frekvens plott Spektrogrammet definert ved X[k, n] = L 1 m=0 w[m]x[n+m] e ȷ(πk/N)m

4/38 Tid-frekvens plott... 1 Quadratic Chirp: start at 100Hz and cross 00Hz at t=1sec 0 I matlab: [s,f,t] = spectrogram(x,window,noverlap,nfft,fs) > t=0:0.001:; > y=chirp(t,100,1,00, q ); > plot(t,y); > xlabel( tid [sekunder] ); > title([ Quadratic Chirp: start at 100Hz,... and cross 00Hz at t=1sec ]); > spectrogram(y,18,10,18,1e3); > title([ Quadratic Chirp: start at 100Hz,... and cross 00Hz at t=1sec ]); 1 0 0. 0.4 0.6 0.8 1 1. 1.4 1.6 1.8 tid [sekunder] Time 1.8 1.6 1.4 1. 1 0.8 0.6 0.4 Quadratic Chirp: start at 100Hz and cross 00Hz at t=1sec 0. 0 100 00 300 400 500 Frequency (Hz)

5/38 Spektrogram, eksempel

6/38 Spektrogram, eksempel...

7/38 Spektrogram, eksempel...

8/38 Spektrogram, eksempel...

9/38 Spektrogram, eksempel...

30/38 Tema FFT DFT på matriseform Radix-

31/38 DFT på matriseform

.011-10-6. FFT DFT på matriseform DFT på matriseform Fra forrige foil så ser vi at DFT en og IDFT en er gitt som.. X = W N x og x = W 1 N X. Å regne den inverse til en matrise er i et generelt tilfelle ofte beregningstungt, men vi vet jo at forskjellen på DFT og IDFT er: 1. n og k bytter plass.. Fortegnet til fasen til den komplekse eksponentialen snus. 3. Den inverse transformen har en normalisering. (1) oppnår vi ved å transponere W, () ved så å konjugere, og (3) ved til slutt å normalisere: W 1 N Beregningsbyrden her er veldig lav. = 1 N (W ) T = 1 N WH

3/38 FFT Fast Fourier Transform (FFT) er en effektiv måte å regne DFT en av et signal på. Beregningsbyrden reduseres mye fordi: Den utnytter symmetri og periodiske egenskaper for å unngå unødvendige beregniner. Den bryter signalet opp i mindre segmenter med lengde N (typisk N =, kalles da radix-) og tar DFT en av disse i stedet. Like- og oddeindekser behandles hver for seg, noe som er beregningsmessig gunstig.

33/38 FFT - Radix- Vi prøver å ta DFT en av like- og odde-indekser hver for seg: X DFT [k] = = = = N 1 n=0 N/ 1 n=0 N/ 1 n=0 N/ 1 n=0 x[n] W nk N N/ 1 x[n] W nk N + x[n] W nk N n=0 + W k N x[n + 1] W (n+1)k N N/ 1 n=0 x[n + 1] W nk N N/ 1 x[n] W nk N/ + W k N x[n + 1] W nk N/ n=0 = X e [k] + W k N X o [k] X e [k] og X o [k] kan nå igjen splittes opp i like- og odde-indexer, og til slutt står man igjen DFT en av veldig små sekvenser.

FFT - Radix- DFT en av veldig små sekvenser: 34/38 1-punkt: FDFT{x[n]} = -punkt: F DFT {x[n]} = = N 1 n=0 N 1 n=0 x[n] e ȷπ k N n DFT av små sekvenser veldig enkelt. Det er dette FFT en utnytter. x[n] e ȷπ k N n = x[0] e 0 = x[0] { x[0] e 0 + x[1] e 0 = x[0] + x[1] k = 0 x[0] e 0 + x[1] e ȷπ 1 = x[0] x[1] k = 1

35/38 FFT - implementasjon

36/38 FFT, Decimation in frequency

37/38 FFT, Decimation in time

38/38 FFT, Beregningsbyrde