Tilbake
4.3

4.3 Diskret Fourier-transform (DFT)

Den nye sjangeren fra kontinuasjonssettene: DFT med enhetsrøtter, aliasing og skifteegenskapen.

55 min
12 oppgaver
Diskret Fourier-transform (DFT)
Din fremgang i kapitlet
0 / 12 oppgaver
Kapitlets plass i kurset
Forkunnskaper: kap. 1.1 — de NN enhetsrøttene, at summen av dem er null, og regning med komplekse tall. Og kap. 3.3 — den komplekse Fourier-rekka og konjugert symmetri.

Sist du var her — de to resultatene fra kap. 1.1 som hele kapitlet hviler på:

wN=e2πi/NoppfyllerwNN=1,k=0N1wNk=0  (N2).w_N = e^{2\pi i/N} \quad\text{oppfyller}\quad w_N^{\,N} = 1, \qquad \sum_{k=0}^{N-1} w_N^{\,k} = 0 \ \ (N\ge2).

Den første sier at potensene av ww gjentar seg med periode NN; den andre er den geometriske rekka med q=wNq = w_N, der telleren wNN1w_N^{\,N}-1 blir null.

Og fra kap. 3.3: et signal er reelt hvis og bare hvis koeffisientene har konjugert symmetri. Nøyaktig samme test dukker opp her, bare med endelig mange koeffisienter.

Dette kapitlet er ikke forutsetning for noe senere kapittel — det er en avsluttet enhet.

Når du bare har målepunkter

En Fourier-rekke krever en funksjon du kan integrere. En Fourier-transform krever det samme, over hele tallinja. Men det du faktisk har på en datamaskin, er tall: NN målinger, tatt med jevne mellomrom.

Den diskrete Fourier-transformen er Fourier-analysen for nettopp den situasjonen. Den tar inn NN tall og gir ut NN tall — ingen integraler, bare en endelig sum. Og den er én av de mest brukte algoritmene som finnes: hver gang du ser et frekvensspekter på en skjerm, en lydfil komprimeres eller et bilde lagres som JPEG, ligger det en DFT under.

Ideen er ren gjenbruk. I den komplekse Fourier-rekka fant vi koeffisienten ved å gange funksjonen med einxe^{-inx} og integrere. Her ganger vi datavektoren med wjkw^{-jk} og summerer. Integralet er blitt en sum, og den kontinuerlige eksponentialen er blitt en potens av en enhetsrot.

Prisen for å ha bare NN punkter er at du bare kan skille NN frekvenser. To svingninger som er raske nok, ser identiske ut i målepunktene — det heter aliasing, og det er grunnen til at et hjul i en film kan se ut til å gå baklengs.

Kapitlet gjør fire ting: definerer DFT-en og den inverse, tar reell-testen, beviser skifteegenskapen, og avslutter med aliasing og båndbegrensede signaler.

Flashcard-/repetisjonsstoff — hopp trygt over ved førstegangslesing. Definisjonsboksene er samtidig kortene i flashcard-bunken. Tidsanslaget på 55 minutter gjelder kjernestoffet.

Løkke 1 — Fra integral til sum (~15 min)

Samplingspunktene
De NN jevnt fordelte punktene der signalet måles. På intervallet [0,1)[0,1) er de

xj=jN,j=0,1,,N1.x_j = \frac{j}{N}, \qquad j = 0,1,\dots,N-1.

Avstanden mellom to nabopunkter kalles samplingsintervallet, her 1/N1/N. Jo flere punkter, jo finere oppløsning — men også jo mer regnearbeid.

Merk at xNx_N ikke er med. Signalet tenkes periodisk, så punktet xNx_N er det samme som x0x_0.

Datavektoren
De NN måleverdiene, samlet i en vektor:

f=(f0,f1,,fN1),fj=f(xj).f = \left(f_0, f_1, \dots, f_{N-1}\right), \qquad f_j = f(x_j).

Indeksene løper fra 0, ikke fra 1 — det er konvensjonen i hele DFT-litteraturen, og den gjør formlene enklere.

Datavektoren tenkes periodisk: fj+N=fjf_{j+N} = f_j. Det er den antagelsen som gjør at et syklisk skift gir mening.

Den NN-te enhetsroten ww
Grunnbyggeklossen i hele kapitlet:

w=e2πi/N.w = e^{2\pi i/N}.

Den ligger på enhetssirkelen med vinkel 2πN\displaystyle \frac{2\pi}{N}, og potensene w0,w1,,wN1w^0, w^1,\dots,w^{N-1} er nøyaktig de NN enhetsrøttene fra kap. 1.1NN punkter jevnt fordelt rundt sirkelen.

To egenskaper brukes hele tiden:

wN=1(potensene gjentar seg med periode N),w=w1=e2πi/N.w^N = 1 \quad\text{(potensene gjentar seg med periode } N\text{)}, \qquad \overline{w} = w^{-1} = e^{-2\pi i/N}.

For N=4N=4 er w=eiπ/2=iw = e^{i\pi/2} = i, og potensene er 1,i,1,i1, i, -1, -i.

Den diskrete Fourier-transformen (DFT)
Koeffisientene som beskriver frekvensinnholdet i datavektoren:

ck=1Nj=0N1fjwjk,k=0,1,,N1.c_k = \frac{1}{N}\sum_{j=0}^{N-1} f_j\,w^{-jk}, \qquad k = 0,1,\dots,N-1.

Resultatet er en ny vektor c^=(c0,,cN1)\hat{c} = \left(c_0,\dots,c_{N-1}\right) av komplekse tall.

Sammenlikn med den komplekse Fourier-rekka i kap. 3.3: der var det 12Lfeinπx/Ldx\displaystyle \frac{1}{2L}\int f e^{-in\pi x/L}dx. Her er integralet blitt en sum, 12L\displaystyle \frac{1}{2L} er blitt 1N\displaystyle \frac1N, og einπx/Le^{-in\pi x/L} er blitt wjkw^{-jk}. Samme oppskrift, endelig utgave.

Merk minustegnet i eksponenten — akkurat som i rekka og i transformen.

Normeringskonvensjonen i DFT

Valget av hvor faktoren 1/N1/N skal ligge. Tre vanlige konvensjoner:

KonvensjonDFTInvers
denne boka1Nfjwjk\displaystyle \frac1N\sum f_j w^{-jk}ckwjk\sum c_k w^{jk}
«fysisk»fjwjk\sum f_j w^{-jk}1Nckwjk\displaystyle \frac1N\sum c_k w^{jk}
unitær1Nfjwjk\displaystyle \frac{1}{\sqrt N}\sum f_j w^{-jk}1Nckwjk\displaystyle \frac{1}{\sqrt N}\sum c_k w^{jk}

Alle tre er riktige, og en besvarelse som bruker en annen enn boka, er ikke feil. Kravet er konsistens: bruker du 1N\displaystyle \frac1N foran DFT-en, skal den inverse ikke ha den. Skriv én setning om hvilken konvensjon du bruker — det tar fem sekunder og fjerner all tvil.
Boka velger den første fordi den gir c0=c_0 = middelverdien av dataene, som er lett å kontrollere.

Konstantleddet c0c_0
Sett k=0k=0 i definisjonen; da er w0=1w^0 = 1, og

c0=1Nj=0N1fj.c_0 = \frac{1}{N}\sum_{j=0}^{N-1} f_j.

Dette er middelverdien av dataene. Det er den enkleste kontrollen som finnes på et DFT-svar: regn ut gjennomsnittet av tallene i hodet og sammenlikn. Er c0c_0 noe annet, har du regnefeil.

For en reell datavektor er c0c_0 alltid reell.

Den inverse DFT-en
Veien tilbake fra koeffisienter til data:

fj=k=0N1ckwjk,j=0,,N1.f_j = \sum_{k=0}^{N-1} c_k\,w^{jk}, \qquad j=0,\dots,N-1.

Merk: ingen 1N\displaystyle \frac1N her (den ligger i DFT-en), og pluss i eksponenten. Nøyaktig samme mønster som i den komplekse Fourier-rekka: minus når du finner koeffisientene, pluss når du bygger funksjonen tilbake.

Formelen sier at datavektoren er en sum av NN rene diskrete svingninger, én for hver frekvens kk, med vekt ckc_k.

Ortogonalitetsrelasjonen for enhetsrøtter
Regnestykket som gjør at DFT og invers DFT virkelig er hverandres omvendte:

1Nj=0N1wj(mk)={1,m=k0,mk,\frac{1}{N}\sum_{j=0}^{N-1} w^{j(m-k)} = \begin{cases} 1, & m = k \\ 0, & m \ne k,\end{cases}

for m,km,k i {0,,N1}\{0,\dots,N-1\}.

Begrunnelse: for m=km=k er hvert ledd 1, og summen er NN. For mkm\ne k er q=wmkq = w^{m-k} en enhetsrot forskjellig fra 1, og den geometriske rekka gir
j=0N1qj=qN1q1=0,\sum_{j=0}^{N-1} q^{j} = \frac{q^N-1}{q-1} = 0,
siden qN=(wN)mk=1q^N = \left(w^N\right)^{m-k} = 1.

Dette er den diskrete versjonen av ortogonaliteten til einxe^{inx} fra kap. 3.3.

DFT-matrisen FNF_N
DFT-en er en lineær avbildning, så den kan skrives som en matrise:

c^=FNf,(FN)kj=1Nwjk.\hat{c} = F_N f, \qquad \left(F_N\right)_{kj} = \frac{1}{N}\,w^{-jk}.

For N=4N=4, med w=iw=i og dermed w1=iw^{-1} = -i:

F4=14(11111i1i11111i1i).F_4 = \frac14\begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & -i & -1 & i \\ 1 & -1 & 1 & -1 \\ 1 & i & -1 & -i \end{pmatrix}.

Nytten: matriseformen viser at DFT-en bare er NN skalarprodukter, og den gjør det lett å se at transformen er lineær. På eksamen regner du som regel koeffisientene enkeltvis — matrisen er en måte å organisere regningen på, ikke et krav.

✏️DFT av en kort datavektor

Regn ut DFT-en til f=(1,0,1,0)f = (1,\,0,\,-1,\,0) med N=4N=4.

Steg 1 — finn ww. Med N=4N=4 er
w=e2πi/4=eiπ/2=i,w = e^{2\pi i/4} = e^{i\pi/2} = i,
og potensene er w0=1w^0=1, w1=iw^1=i, w2=1w^2=-1, w3=iw^3=-i. Vi trenger de negative potensene: w1=iw^{-1} = -i, w2=1w^{-2} = -1, w3=iw^{-3} = i.

Steg 2 — sett opp summen. Formelen er ck=14j=03fjwjk\displaystyle c_k = \frac14\sum_{j=0}^{3}f_j w^{-jk}. Siden f1=f3=0f_1 = f_3 = 0, bidrar bare j=0j=0 og j=2j=2:
ck=14(1w0+(1)w2k)=14(1w2k).c_k = \frac14\left(1\cdot w^{0} + (-1)\cdot w^{-2k}\right) = \frac14\left(1 - w^{-2k}\right).

Steg 3 — regn ut for hver kk. Her er w2k=(1)kw^{-2k} = (-1)^{k}, siden w2=1w^{-2} = -1:
c0=14(11)=0,c1=14(1+1)=12,c_0 = \frac14(1-1) = 0, \qquad c_1 = \frac14(1+1) = \frac12,
c2=14(11)=0,c3=14(1+1)=12.c_2 = \frac14(1-1) = 0, \qquad c_3 = \frac14(1+1) = \frac12.

Svar:
c^=(0, 12, 0, 12).\hat{c} = \left(0,\ \tfrac12,\ 0,\ \tfrac12\right).

Kontroll 1 — middelverdien. c0c_0 skal være gjennomsnittet av 1,0,1,01,0,-1,0, som er 0. Stemmer.

Kontroll 2 — invers DFT. Bygg fj=kckwjk=12wj+12w3jf_j = \sum_k c_k w^{jk} = \tfrac12 w^{j}+\tfrac12 w^{3j}:
f0=12+12=1,f1=12i+12(i)=0,f_0 = \tfrac12+\tfrac12 = 1, \qquad f_1 = \tfrac12 i + \tfrac12(-i) = 0,
f2=12(1)+12(1)=1,f3=12(i)+12i=0.f_2 = \tfrac12(-1)+\tfrac12(-1) = -1, \qquad f_3 = \tfrac12(-i)+\tfrac12 i = 0.
Vi får tilbake (1,0,1,0)(1,0,-1,0). Stemmer.

Kontroll 3 — konjugert symmetri. Dataene er reelle, så vi må ha cNk=ckc_{N-k} = \overline{c_k}. Her er c3=12=c1c_3 = \tfrac12 = \overline{c_1}, og c2=0=c2c_2 = 0 = \overline{c_2}. Stemmer.

Tolkning. All energien ligger på k=1k=1 og k=3k=3, og de to hører sammen som et konjugert par. Regner du ut hva de svarer til i den inverse formelen, får du cos(2πj4)\displaystyle \cos\left(\frac{2\pi j}{4}\right) — altså er datavektoren nettopp én ren cosinussvingning, samplet i fire punkter. Og det stemmer: cos(2πj/4)\cos(2\pi j/4) for j=0,1,2,3j=0,1,2,3 gir 1,0,1,01,0,-1,0.

📝Oppgave 1

(Innstegsoppgave — ren avlesning.) La N=4N=4, slik at w=iw = i.

a) Skriv opp w0,w1,w2,w3w^0, w^1, w^2, w^3 og w4w^4.
b) Skriv opp w1,w2,w3w^{-1}, w^{-2}, w^{-3}.
c) Hva er w10w^{10}?

📝Oppgave 2
R

Regn ut DFT-en til

a) f=(2,0,2,0)f = (2,\,0,\,-2,\,0)
b) f=(1,1,1,1)f = (1,\,1,\,1,\,1)

og kontroller begge med middelverdien.

Løkke 2 — Reell-testen (~13 min)

Et fast delpunkt i denne sjangeren er: «avgjør om det inverse signalet er reelt». Testen er kort, og den er nøyaktig den samme som for den komplekse Fourier-rekka.

Periodisiteten ck+N=ckc_{k+N} = c_k
Koeffisientene gjentar seg med periode NN:

ck+N=1Njfjwj(k+N)=1Njfjwjk(wN)j=ck,c_{k+N} = \frac1N\sum_j f_j w^{-j(k+N)} = \frac1N\sum_j f_j w^{-jk}\left(w^{-N}\right)^{j} = c_k,

siden wN=1w^{-N} = 1.

Konsekvens: indeksen k-k betyr det samme som NkN-k. Det er praktisk i reell-testen, der man ellers måtte snakke om negative indekser i en vektor som bare har indeksene 00 til N1N-1.

📜Reell-testen (konjugert symmetri)
Datavektoren ff er reell hvis og bare hvis

cNk=ckfor alle k=0,1,,N1.c_{N-k} = \overline{c_k} \qquad \text{for alle } k = 0,1,\dots,N-1.

Spesielt må c0c_0 være reell (siden cN=c0c_N = c_0).

Bevis, den ene veien. Anta ff reell. Konjuger definisjonen. Siden fj=fj\overline{f_j} = f_j og wjk=wjk\overline{w^{-jk}} = w^{jk}, er
ck=1Njfjwjk=1Njfjwj(k)=ck=cNk,\overline{c_k} = \frac1N\sum_j f_j\,w^{jk} = \frac1N\sum_j f_j\,w^{-j(-k)} = c_{-k} = c_{N-k},
der siste likhet er periodisiteten. \blacksquare

Den andre veien følger av at den inverse DFT-en da parer sammen leddene kk og NkN-k til ckwjk+ckwjk=2Re(ckwjk)c_kw^{jk}+\overline{c_k}\,\overline{w^{jk}} = 2\operatorname{Re}\left(c_kw^{jk}\right), som er reelt.

Praktisk bruk. Testen sparer deg halve regnearbeidet: for en reell datavektor trenger du bare regne ut ckc_k for kN/2k \le N/2, resten følger ved konjugering. Og motsatt: får du oppgitt en koeffisientvektor og skal avgjøre om det inverse signalet er reelt, sjekker du symmetrien i stedet for å regne ut den inverse.

Testen må kunnes — den står ikke på formelarket.

Midtfrekvensen k=N/2k = N/2

For like NN er indeksen k=N/2k=N/2 spesiell: den er sin egen speiling, siden NN/2=N/2N - N/2 = N/2.

Reell-testen krever da at cN/2=cN/2c_{N/2} = \overline{c_{N/2}}, altså at cN/2c_{N/2} må være reell for en reell datavektor.

Frekvensen k=N/2k=N/2 svarer til den raskeste svingningen NN punkter kan representere: annethvert punkt opp og annethvert ned. Den kalles ofte Nyquist-frekvensen, og den setter grensen for hva som kan måles med NN punkter.

Amplitudespekteret ck\lvert c_k\rvert

Absoluttverdien av koeffisientene, tegnet mot kk.

For en reell datavektor er spekteret speilsymmetrisk: cNk=ck=ck\left|c_{N-k}\right| = \left|\overline{c_k}\right| = \left|c_k\right|. Derfor viser programvare som regel bare den halvparten som svarer til kN/2k \le N/2 — den andre halvparten inneholder ingen ny informasjon.

✏️Er det inverse signalet reelt?

To koeffisientvektorer med N=4N=4 er gitt:

a) c^=(1, i, 0, i)\hat{c} = \left(1,\ i,\ 0,\ -i\right)
b) c^=(1, i, 0, i)\hat{c} = \left(1,\ i,\ 0,\ i\right)

Avgjør i hvert tilfelle om det inverse signalet er reelt, og finn signalet.

a) Test symmetrien. Vi trenger c4k=ckc_{4-k} = \overline{c_k}:

- k=0k=0: c4=c0=1c_4 = c_0 = 1, og c0=1\overline{c_0} = 1. I orden.
- k=1k=1: c3=ic_3 = -i, og c1=i=i\overline{c_1} = \overline{i} = -i. I orden.
- k=2k=2: c2=0c_2 = 0, og c2=0\overline{c_2} = 0. I orden. (Merk at k=2=N/2k=2 = N/2 er midtfrekvensen, og den må være reell — 0 er reell.)

Signalet er reelt.

Finn det. Den inverse DFT-en er fj=kckwjkf_j = \sum_k c_k w^{jk} med w=iw=i:
f0=1+i+0i=1,f_0 = 1+i+0-i = 1,
f1=1+ii+0ii3=1+i2i(i)=111=1,f_1 = 1 + i\cdot i + 0 - i\cdot i^{3} = 1 + i^2 - i(-i) = 1-1-1 = -1,
f2=1+ii2+0ii6=1ii(1)=1i+i=1,f_2 = 1+i\cdot i^{2}+0-i\cdot i^{6} = 1 - i - i(-1) = 1-i+i = 1,
f3=1+ii3+0ii9=1+i(i)ii=1+1+1=3.f_3 = 1+i\cdot i^{3}+0-i\cdot i^{9} = 1 + i(-i) - i\cdot i = 1+1+1 = 3.
(Her brukte vi i6=i4i2=1i^6 = i^4i^2 = -1 og i9=i8i=ii^9 = i^8 i = i.)

f=(1,1,1,3).f = (1,\,-1,\,1,\,3).
Alle reelle, slik testen lovet.

Kontroll: middelverdien er 11+1+34=1=c0\displaystyle \frac{1-1+1+3}{4} = 1 = c_0. Stemmer.

b) Test symmetrien. For k=1k=1: c3=ic_3 = i, mens c1=i\overline{c_1} = -i. De er ulike, så symmetrien brytes, og signalet er ikke reelt.

Finn det likevel, som kontroll:
f0=1+i+0+i=1+2i,f_0 = 1+i+0+i = 1+2i,
f1=1+ii+0+ii3=11+1=1,f_1 = 1+i\cdot i+0+i\cdot i^{3} = 1-1+1 = 1,
f2=1+ii2+0+ii6=1ii=12i,f_2 = 1+i\cdot i^2+0+i\cdot i^6 = 1-i-i = 1-2i,
f3=1+ii3+0+ii9=1+11=1.f_3 = 1+i\cdot i^3+0+i\cdot i^9 = 1+1-1 = 1.
f=(1+2i, 1, 12i, 1).f = \left(1+2i,\ 1,\ 1-2i,\ 1\right).
To av komponentene er komplekse. Testen stemmer.

Poenget med oppgaven. I a) kunne vi svart «ja, reelt» på tjue sekunder uten å regne ut den inverse i det hele tatt. Det er hele nytten av testen — og det er den ferdigheten delpunktet er ute etter.

Merk forskjellen mellom de to vektorene: bare fortegnet på c3c_3 er endret. Én fortegnsfeil er alt som skal til for å ødelegge symmetrien — og det er også derfor testen er en så god kontroll på egen regning.

📝Oppgave 3
R

Regn ut DFT-en til f=(1,2,3,4)f = (1,\,2,\,3,\,4), og kontroller resultatet med reell-testen.

📝Oppgave 4
R

Avgjør for hver koeffisientvektor med N=4N=4 om det inverse signalet er reelt. Begrunn med reell-testen, uten å regne ut den inverse.

a) (2, 1, 0, 1)\left(2,\ 1,\ 0,\ 1\right)
b) (0, 1+i, 3, 1i)\left(0,\ 1+i,\ 3,\ 1-i\right)
c) (i, 1, 0, 1)\left(i,\ 1,\ 0,\ 1\right)
d) (1, 2i, 1, 2i)\left(1,\ 2i,\ 1,\ 2i\right)

— naturlig pausepunkt (~28 min brukt) —

Du har definisjonen, den inverse og reell-testen. Resten av kapitlet er de to egenskapene som gjør DFT-en anvendelig: skifteegenskapen og aliasing.

Løkke 3 — Skifteegenskapen (~14 min)

Dette er den ene egenskapen som er blitt bedt bevist i arkivet, så beviset er verdt å kunne — ikke bare resultatet.

Syklisk skift
Å flytte alle dataene ett hakk, med den som faller av i den ene enden satt inn i den andre:

f~j=fj+1,j=0,,N1,\tilde{f}_j = f_{j+1}, \qquad j=0,\dots,N-1,

der indeksen regnes modulo NN, slik at f~N1=fN=f0\tilde{f}_{N-1} = f_N = f_0.

For f=(3,1,1,1)f = (3,1,-1,1) er f~=(1,1,1,3)\tilde{f} = (1,-1,1,3).

Hvorfor «syklisk»? Fordi datavektoren tenkes periodisk. Skiftet er som å rotere en tallrekke lagt rundt en sirkel.

📜Skifteegenskapen
La f~j=fj+1\tilde{f}_j = f_{j+1} (syklisk skift ett hakk fram), og la ckc_k og c~k\tilde{c}_k være DFT-ene til ff og f~\tilde{f}. Da er

c~k=wkck,k=0,,N1.\tilde{c}_k = w^{k}\,c_k, \qquad k=0,\dots,N-1.

Bevis. Sett inn definisjonen og substituer m=j+1m = j+1:
c~k=1Nj=0N1f~jwjk=1Nj=0N1fj+1wjk=1Nm=1Nfmw(m1)k.\tilde{c}_k = \frac1N\sum_{j=0}^{N-1}\tilde{f}_j\,w^{-jk} = \frac1N\sum_{j=0}^{N-1}f_{j+1}\,w^{-jk} = \frac1N\sum_{m=1}^{N}f_m\,w^{-(m-1)k}.
Faktoren wkw^{k} er uavhengig av mm og kan settes utenfor:
c~k=wk1Nm=1Nfmwmk.\tilde{c}_k = w^{k}\cdot\frac1N\sum_{m=1}^{N}f_m\,w^{-mk}.
Summen går fra 1 til NN i stedet for fra 0 til N1N-1, men leddet m=Nm=N er det samme som leddet m=0m=0: både fN=f0f_N = f_0 (periodisitet i dataene) og wNk=1w^{-Nk} = 1. Summen er altså uendret, og lik NckN c_k. Dermed
c~k=wkck.\tilde{c}_k = w^{k}c_k. \qquad \blacksquare

Konsekvens. c~k=wkck=ck\left|\tilde{c}_k\right| = \left|w^k\right|\left|c_k\right| = \left|c_k\right|, siden wk=1\left|w^k\right| = 1. Amplitudespekteret er upåvirket av et skift — bare fasen endres.

Motsatt retning. Skifter du den andre veien, f~j=fj1\tilde{f}_j = f_{j-1}, får du c~k=wkck\tilde{c}_k = w^{-k}c_k. Samme utledning, motsatt fortegn i eksponenten. Si alltid hvilken retning du bruker — det er der fortegnet avgjøres.

Sammenlikn med kap. 4.1: forskyvningsregelen for den kontinuerlige transformen sier f(xb)^=eibωf^\widehat{f(x-b)} = e^{-ib\omega}\hat{f}. Samme innhold, samme konsekvens for amplituden, endelig utgave.

✏️Skifteegenskapen på et konkret eksempel

La f=(3,1,1,1)f = (3,\,1,\,-1,\,1) med N=4N=4.

a) Regn ut c^\hat{c}.
b) Regn ut DFT-en til det sykliske skiftet f~j=fj+1\tilde{f}_j = f_{j+1} direkte, og kontroller skifteegenskapen.

a) w=iw=i, så w1=iw^{-1}=-i, w2=1w^{-2}=-1, w3=iw^{-3}=i.

c0=14(3+11+1)=1.c_0 = \frac14\left(3+1-1+1\right) = 1.
c1=14(3+1(i)+(1)(1)+1i)=14(3i+1+i)=1.c_1 = \frac14\left(3+1\cdot(-i)+(-1)(-1)+1\cdot i\right) = \frac14\left(3-i+1+i\right) = 1.
c2=14(3+1(1)+(1)1+1(1))=14(3111)=0.c_2 = \frac14\left(3+1\cdot(-1)+(-1)\cdot 1+1\cdot(-1)\right) = \frac14\left(3-1-1-1\right) = 0.
c3=c1=1(etter reell-testen, siden dataene er reelle).c_3 = \overline{c_1} = 1 \qquad \text{(etter reell-testen, siden dataene er reelle)}.

c^=(1, 1, 0, 1).\hat{c} = \left(1,\ 1,\ 0,\ 1\right).

Kontroll: middelverdien av 3,1,1,13,1,-1,1 er 44=1=c0\displaystyle \frac{4}{4}=1 = c_0. Stemmer.

b) Skiftet. f~=(1,1,1,3)\tilde{f} = (1,\,-1,\,1,\,3).

c~0=14(11+1+3)=1.\tilde{c}_0 = \frac14\left(1-1+1+3\right) = 1.
c~1=14(1+(1)(i)+1(1)+3i)=14(1+i1+3i)=4i4=i.\tilde{c}_1 = \frac14\left(1+(-1)(-i)+1\cdot(-1)+3\cdot i\right) = \frac14\left(1+i-1+3i\right) = \frac{4i}{4} = i.
c~2=14(1+(1)(1)+11+3(1))=14(1+1+13)=0.\tilde{c}_2 = \frac14\left(1+(-1)(-1)+1\cdot1+3\cdot(-1)\right) = \frac14\left(1+1+1-3\right) = 0.
c~3=c~1=i.\tilde{c}_3 = \overline{\tilde{c}_1} = -i.

c~^=(1, i, 0, i).\hat{\tilde{c}} = \left(1,\ i,\ 0,\ -i\right).

Kontroll mot skifteegenskapen. Teoremet sier c~k=wkck\tilde{c}_k = w^k c_k med w=iw=i:

kkwkw^kckc_kwkckw^kc_kc~k\tilde{c}_k regnet direkte
011111111
1ii11iiii
21-1000000
3i-i11i-ii-i

Alle fire stemmer. \blacksquare
Legg merke til amplitudene. Før skiftet: ck=(1,1,0,1)\left|c_k\right| = (1,1,0,1). Etter: c~k=(1,1,0,1)\left|\tilde{c}_k\right| = (1,1,0,1). Identiske — bare fasene er endret. Det er nøyaktig det teoremet lover, og det er en gratis kontroll på at du ikke har regnefeil.
Merk også at f~=(1,1,1,3)\tilde{f} = (1,-1,1,3) er den samme datavektoren vi fant i eksempel 2a. Det er ikke tilfeldig: koeffisientvektoren der var (1,i,0,i)(1,i,0,-i), som er nøyaktig c~^\hat{\tilde{c}} her.
📝Oppgave 5
R

La f=(3,0,1,0)f = (3,\,0,\,-1,\,0) med N=4N=4.

a) Regn ut c^\hat{c}.
b) Bruk skifteegenskapen til å skrive opp DFT-en til f~j=fj+1\tilde{f}_j = f_{j+1}, uten å regne på nytt.
c) Kontroller b) ved å regne ut c~1\tilde{c}_1 direkte.

📝Oppgave 6
R
Vis at et syklisk skift bakover, f~j=fj1\tilde{f}_j = f_{j-1} (indeks modulo NN), gir

c~k=wkck.\tilde{c}_k = w^{-k}\,c_k.

Forklar deretter hvorfor amplitudespekteret er uendret i begge skiftretninger.

Løkke 4 — Aliasing og båndbegrensede signaler (~13 min)

Til slutt den ene begrensningen ved å bare ha NN punkter — og den ene situasjonen der DFT-en gir det eksakte svaret.

Aliasing
At to ulike frekvenser gir identiske verdier i samplingspunktene, og derfor ikke kan skilles av DFT-en.

Konkret: frekvensene mm og m+Nm+N gir samme data, siden
wj(m+N)=wjm(wN)j=wjm.w^{j(m+N)} = w^{jm}\left(w^{N}\right)^{j} = w^{jm}.

Med NN punkter kan du altså bare skille NN frekvenser. En raskere svingning forkles som en langsommere — den får et «alias».

Hverdagseksempelet er hjul i film: filmes de med 24 bilder i sekundet, kan et hjul som roterer raskt se ut til å stå stille eller gå baklengs.

Båndbegrenset signal
Et signal som er en endelig sum av rene svingninger med frekvenser under en grense:

f(x)=mAme2πimx,m<N2.f(x) = \sum_{m} A_m\,e^{2\pi i m x}, \qquad |m| < \frac{N}{2}.

Poenget: er signalet båndbegrenset og du sampler i NN punkter, gir DFT-en eksakt de riktige koeffisientene — ingen aliasing, ingen tilnærming. Da kan du lese amplitudene rett av c^\hat{c}.

Er signalet derimot ikke båndbegrenset, folder de høye frekvensene seg ned på de lave, og koeffisientene blir forurenset. Det er derfor man alltid sampler «tett nok».

Avlesning av koeffisienter

For et båndbegrenset signal svarer koeffisientene direkte til leddene i signalet:

Ledd i signaletBidrag til c^\hat{c}
konstanten AAc0=Ac_0 = A
Ae2πimj/NA\,e^{2\pi imj/N}cm=Ac_m = A
Acos(2πmj/N)A\cos\left(2\pi mj/N\right)cm=cNm=A/2c_m = c_{N-m} = A/2
Asin(2πmj/N)A\sin\left(2\pi mj/N\right)cm=A/(2i)c_m = A/(2i), cNm=A/(2i)c_{N-m} = -A/(2i)

Begrunnelse: skriv cosinus og sinus med Eulers formler, og bruk at e2πimj/Ne^{2\pi imj/N} har DFT lik 1 i indeks mm og 0 ellers (ortogonalitetsrelasjonen).
Dette gjør at en oppgave av typen «les av koeffisientene» kan besvares uten å regne ut en eneste sum.

Rask Fourier-transform (bør kjenne til)

Direkte utregning av DFT-en krever NN summer med NN ledd hver, altså i størrelsesorden N2N^2 operasjoner. Den raske Fourier-transformen (FFT) utnytter symmetriene i potensene av ww til å gjøre det samme i størrelsesorden NlogNN\log N operasjoner.

For N=106N = 10^6 er forskjellen mellom 101210^{12} og rundt 21072\cdot10^{7} operasjoner — altså mellom umulig og øyeblikkelig.

Dette er «bør kjenne til»-stoff. Algoritmen er ikke pensum i dette emnet, og du blir ikke bedt om å utføre den. Men navnet er verdt å kjenne, siden all praktisk bruk av DFT går gjennom den.

✏️Eksamensnivå: les av koeffisientene til et båndbegrenset signal
Et signal er samplet i N=8N=8 punkter xj=j/8x_j = j/8, og verdiene er

fj=1+2cos ⁣(2πj8)+cos ⁣(4πj8).f_j = 1 + 2\cos\!\left(\frac{2\pi j}{8}\right) + \cos\!\left(\frac{4\pi j}{8}\right).

a) Avgjør om signalet er båndbegrenset for N=8N=8.
b) Finn c^\hat{c} uten å regne ut noen sum.
c) Kontroller svaret ved å regne ut c0c_0 og f0f_0 direkte.

Før løsningen som en toppbesvarelse.

a) Båndbegrensning. Skriv leddene med Eulers formler:
2cos ⁣(2πj8)=e2πij/8+e2πij/8,cos ⁣(4πj8)=12(e2πi2j/8+e2πi2j/8).2\cos\!\left(\frac{2\pi j}{8}\right) = e^{2\pi ij/8}+e^{-2\pi ij/8}, \qquad \cos\!\left(\frac{4\pi j}{8}\right) = \tfrac12\left(e^{2\pi i\cdot2j/8}+e^{-2\pi i\cdot 2j/8}\right).

Signalet inneholder altså frekvensene m=0,±1,±2m = 0, \pm1, \pm2. Alle oppfyller m<N/2=4|m| < N/2 = 4, så signalet er båndbegrenset for N=8N=8. Ingen aliasing, og koeffisientene kan leses av eksakt.

Uttelling her: begrunnelsen er selve poenget. Å skrive at «alle frekvenser er mindre enn 4 i tallverdi» er det som gjør resten av besvarelsen gyldig.

b) Avlesning. Etter ortogonalitetsrelasjonen har leddet e2πimj/Ne^{2\pi imj/N} DFT-koeffisient 1 i indeks mm og 0 ellers. Med w=e2πi/8w = e^{2\pi i/8}, og med negativ indeks m-m oversatt til NmN-m:

- konstanten 1 gir c0=1c_0 = 1;
- e2πij/8e^{2\pi ij/8} gir c1=1c_1 = 1, og e2πij/8e^{-2\pi ij/8} gir c7=1c_{7} = 1;
- 12e2πi2j/8\tfrac12 e^{2\pi i\cdot 2j/8} gir c2=12c_2 = \tfrac12, og 12e2πi2j/8\tfrac12 e^{-2\pi i\cdot2j/8} gir c6=12c_{6} = \tfrac12.

Alle øvrige er null:
c^=(1, 1, 12, 0, 0, 0, 12, 1).\hat{c} = \left(1,\ 1,\ \tfrac12,\ 0,\ 0,\ 0,\ \tfrac12,\ 1\right).

Kontroll av reell-testen. Dataene er reelle, så vi må ha c8k=ckc_{8-k} = \overline{c_k}. Her er alle koeffisientene reelle, og c7=c1=1c_7 = c_1 = 1, c6=c2=12c_6 = c_2 = \tfrac12, c5=c3=0c_5 = c_3 = 0, og c4=0c_4 = 0 er reell. Stemmer.

(At alle ckc_k er reelle, henger sammen med at signalet bare består av cosinusledd — altså at det er en like funksjon av jj. Samme regel som for Fourier-koeffisienter i kap. 3.3.)

c) Kontroll ved direkte regning.

Middelverdien. Regn ut alle åtte fjf_j:
f0=1+2+1=4,f1=1+2+0=1+2,f2=1+01=0,f3=12+0=12,f_0 = 1+2+1 = 4, \quad f_1 = 1+\sqrt2+0 = 1+\sqrt2, \quad f_2 = 1+0-1 = 0, \quad f_3 = 1-\sqrt2+0 = 1-\sqrt2,
f4=12+1=0,f5=12+0,f6=1+01=0,f7=1+2+0.f_4 = 1-2+1 = 0, \quad f_5 = 1-\sqrt2+0, \quad f_6 = 1+0-1 = 0, \quad f_7 = 1+\sqrt2+0.
(Her er 2cos(2πj/8)=2cos(πj/4)2\cos(2\pi j/8) = 2\cos(\pi j/4), som for j=1j=1 gir 222=2\displaystyle 2\cdot\frac{\sqrt2}{2} = \sqrt2.)

Summen er 4+2(1+2)+2(12)+0+0+0+0=4+2+2=84 + 2(1+\sqrt2) + 2(1-\sqrt2) + 0+0+0+0 = 4+2+2 = 8, så
c0=88=1.c_0 = \frac{8}{8} = 1.
Stemmer med avlesningen.

Første datapunkt. Den inverse DFT-en gir f0=kckw0=kck=1+1+12+0+0+0+12+1=4f_0 = \sum_k c_k w^{0} = \sum_k c_k = 1+1+\tfrac12+0+0+0+\tfrac12+1 = 4. Og direkte fra formelen er f0=1+2cos0+cos0=1+2+1=4f_0 = 1+2\cos0+\cos0 = 1+2+1 = 4. Stemmer.

Hva sjangeren tester. Tre ting: at du kan skrive om cosinus til eksponentialer, at du vet hvilken indeks en negativ frekvens havner på (m-m blir NmN-m), og at du kan begrunne båndbegrensningen. Ingen av delene krever regning — men alle tre må stå.

Og hva som skjer uten båndbegrensning. Hadde signalet inneholdt et ledd med m=5m=5, ville det gitt bidrag i indeks 55 — men også vært umulig å skille fra m=3m=-3, altså indeks 5 igjen. Da er avlesningen ikke lenger entydig, og du må si det.

📝Oppgave 7
R

Et signal samples i N=4N=4 punkter xj=j/4x_j = j/4.

a) Vis at cos(6πx)\cos(6\pi x) og cos(2πx)\cos(2\pi x) gir nøyaktig de samme fire måleverdiene.
b) Forklar hva det betyr for DFT-en, og hvilken av de to frekvensene DFT-en «rapporterer».

📝Oppgave 8
R
Et signal med N=8N=8 er gitt ved
fj=34sin ⁣(2πj8).f_j = 3 - 4\sin\!\left(\frac{2\pi j}{8}\right).

a) Finn c^\hat{c} ved avlesning.
b) Kontroller svaret med reell-testen og med middelverdien.
c) Hva blir c^\hat{c} hvis alle dataene skiftes ett hakk fram, f~j=fj+1\tilde{f}_j = f_{j+1}?

Repetisjonsoppgaver
Din fremgang
0 / 4 oppgaver
Symbol- og formelliste

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.

Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.