Obrada signala 1 -...
Transcript of Obrada signala 1 -...
Obrada signala 1
31.10.2017.
Rotacioni faktori
• Eksponencijalni faktori WNnk nazivaju se
rotacioni faktori (twiddle factors)
• Periodičnost
• Simetrija
nNk
N
Nnk
N
nk
N WWW
nNk
N
kn
N WW
Re
Im
W80
W81
W87
W83
W85
W84
W82
W86
z ravan
Rotacioni faktori, primer N=8
kn 0 1 2 3 4 5 6 7
0 1 1 1 1 1 1 1 1
1 1 j 1 j
2 1 j 1 j 1 j 1 j
3 1 j 1 j
4 1 1 1 1 1 1 1 1
5 1 j 1 J
6 1 j 1 j 1 j 1 j
7 1 j 1 j
1 2j
1 2j
1 2j
1 2j 1 2j
1 2j
1 2j
1 2j 1 2j
1 2j
1 2j
1 2j 1 2j 1 2j
1 2j 1 2j
FFT
• FFT Fast Fourier Transform odnosno brza Furijeova transformacija
• FFT je familija algoritama za efikasnije izračunavanje DFT-a
• S obzirom da su izrazi za DFT i IDFT praktično isti, FFT algoritmi se koriste i za IDFT
FFT
• FFT algoritmi se zasnivaju na dekompoziciji niza u vremenu ili spektru tako što se niz deli na podnizove
• Najpoznatiji su FFT algoritmi s osnovom 2 što znači da se niz deli na dva podniza, pa oba podniza na dva podniza i proces se nastavlja dok se ne stigne do podnizova dužine 2
• Da bi ovakav način podele niza bio moguć, originalan niz mora biti dužine 2k
FFT
• Ukoliko je dužina niza 2k primenom FFT algortima dobija se isti rezultat koji bi se dobio i ako bi računali DFT “po definiciji” samo što je broj računskih operacija manji
Radix 2 DIT FFT
• FFT algoritam sa podelom niza u vremenu (Decimation in Time DIT) sa osnovom 2 (radix 2)
1
0
N
n
nk
NWnxkX
7
8
0
0 2 3 4 5 6 7
8 8 8 8 8 8 8 8
0 2 4 6
8 8 8 8
3 5 7
8 8 8 8
0 1 2 3 4 5 6 7
0 2 4 4
1 3 5 7
nk
n
k k k k k k k
k k k
k k k k
X k x n W
X k x W x W x W x W x W x W x W x W
X k x W x W x W x W
x W x W x W x W
Primer N=8
12/
0
1212/
0
2 122N
l
kl
N
N
l
lk
N WlxWlxkX
Radix 2 DIT FFT
12/
0
2/2
12/
0
2/1
N
m
mk
N
k
N
N
m
mk
N WmxWWmxkX
12/
0
1212/
0
2 122N
l
kl
N
N
l
lk
N WlxWlxkX
mk
N
NmkjNmkjmk
N WeeW 2
2//2/222
0 2 4 6
8 8 8 8
3 5 7
8 8 8 8
0 2 3
1 4 1 4 1 4 1 4
0 1 2 3
8 2 4 2 4 2 4 3 4
0 2 4 6
1 3 5 7
0 1 2 3
0 1 2 3
k k k
k k k k
k k k
k
X k x W x W x W x W
x W x W x W x W
X k x W x W x W x W
W x W x W x W x W
12/
0
2/222/
12/
0
11 iN
m
mk
N
mk
N
N
m
WmxkXWmxkX
3
0
422
4
3
0
11
m
mk
mk
m
WmxkX
WmxkX
Primer N=8
Radix 2 DIT FFT
kXWkXkX k
N 21
kXWkXkX k
281 Primer N=8
DFT je periodičan sa periodom NDFT X1[k] i X2[k] su dužine N/2 pa su periodični sa periodom N/2
4
4
22
11
kXkX
kXkXPrimer N=8
Radix 2 DIT FFT
kXWkXkX k
N 21
.2/
,2/
22
11
NkXkX
NkXkX
kXWkX
NkXWNkXNkX
k
N
Nk
N
21
2
1 2/2/2
k
N
jNkjNNjNkjNNkjNk
N WeeeeeW /2/2/2/2/2/22
1 8 2/ 2 kX k N X k W X k Primer N=8
Radix 2 DIT FFT
12/0,2/
12/0,
21
21
NkkXWkXNkX
NkkXWkXkX
k
N
k
N
337
226
115
004
333
222
111
000
2
3
81
2
2
81
2
1
81
2
0
81
2
3
81
2
2
81
2
1
81
2
0
81
XWXX
XWXX
XWXX
XWXX
XWXX
XWXX
XWXX
XWXX
Radix 2 DIT FFT
kXWkXkX k
N 21
kXWkXNkX k
N 212
Radix 2 DIT FFT
• DFT dužine 2k sveden je na dva DFT-a dužina 2k-1.
• Postupak se ponavlja za DFT dužine 2k-1.
• Na kraju ostaje DFT od dva elementa.
Radix 2 DIT FFT
.4/
,
12
2
111
12
2
111
kXWkXNkX
kXWkXkX
k
N
k
N
kXWkXNkX
kXWkXkX
k
N
k
N
22
2
212
22
2
212
4
,
Radix 2 DIT FFT
DIT “leptir” (N=8)
Radix 2 DIT FFT
Bit-inverzno adresiranje
Indeks ulazau DFT algoritam
Binarno Bit-inverzno Indeks niza iz vremenskog domena
0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7
Ušteda u broju račnuskih operacija
• DFT
• Realnih sabiranja– Za svako k – 4N-2– Ukupno 4N2-2N
• Realnih množenja– Za svako k – 4N– Ukupno 4N2
,ReImImRe
ImImReRe1
0
nk
N
kn
N
N
n
kn
N
kn
N
WnxWnxj
WnxWnxkX
Ušteda u broju račnuskih operacija
• DFT
• FFT
NN
Cm 2log2
NNCadd 2log
2NCm
1 NNCadd
FFT DIF
1
0
N
n
nk
NWnxkX
12/
0
212/
0
2N
n
kNn
N
N
n
nk
N WNnxWnxkX
12
0
2 2N
n
nk
N
kN
N WNnxWnxkX
12
0
222N
n
nl
NWNnxnxlX
12
0
2212N
n
nl
N
n
NWWNnxnxlX
FFT DIF
Radix 2 DIF FFT
DIF “leptir”
FFT DIF
FFT skaliranje
Spektralna analiza
• Dužina niza
• Dodavanje nula
• Prozorske funkcije
Dužina niza
• Rezolucija u spektru 2π/K
• K=N obično se podrazumeva, ako nije drugačije naglašeno
1
0
, 0,1, , 1N
nk
K
n
X k x n W k K
Dužina niza – curenje spektra
fs=8000;
f1=200;
f2=1675;
N=1000;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t);
Δf=fs/N=8 Hz
Dužina niza – curenje spektra
fs=8000;
f1=200;
f2=1675;
N=8000;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t);
Δf=fs/N=1 Hz
Dužina niza
• K>N
1
0
, 0,1, , 1N
nk
K
n
X k x n W k K
1 1 1
0
0 0
0
0
, 1
0, 1
N K Knk nk nk
K K d K
n n N n
d
X k x n W W x n W
x n n Nx n
N n K
Dopunjavanje nulama
Dužina niza – dopunjavanje nulama
fs=8000;
f1=201;
f2=1675;
N=1000;
Nfft=1024*8;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t);
Δf=fs/Nfft
Signal i šum
fs=8000;
f1=200;
f2=1675;
N=1000;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t)+5*randn(size(t));
Signal i šum
fs=8000;
f1=201;
f2=1675;
N=1000;
Nfft=8000;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t)+5*randn(size(t));
Signal i šum
fs=8000;
f1=200;
f2=1675;
N=8000;
Nfft=8000;
t=(0:N-1)/fs;
x=cos(2*pi*f1*t)+2*sin(2*pi*f2*t)+5*randn(size(t));
Primena prozorskih funkcija
• Pri analizi signala velikog trajanja (real-time analizi) uvek se posmatra deo-po-deo signala
• Možemo zamisliti da signal množimo tkzv. prozorskom funkcijom, što znači da signal odsečemo (skratimo na konačnu dužinu) i, eventualno, uobličimo na neki pogodan način
• U spektralnoj analizi, od interesa su različite prozorske funkcije, pogodne za različite vrste signala i različite vrste analiza
• Osim pravougaone (kojom samo skraćujemo signal na konačnu dužinu, u spektralnoj analizi se koriste i brojne druge funkcije, na primer, Hanova, Hammingova…)
Primena prozorskih funkcija
• Prozorske funkcije uobličavaju odbirke signala tako da se oni „smanjuju“ kako se ide ka krajevima segmenta
• Ovo, na neki način smanjuje diskontinuitete između pojedinih „prozora“, čime se smanjuje curenje spektra
Primena prozorskih funkcija
Linearna konvolucija
• Za dva niza istih dužina N
1
0
11
N
n
njj enxeX
1
0
22
N
n
njj enxeX
1 2
j j jY e X e X e
1
1 2
0
N
LK
m
y n x m x n m
Proizvod Furijeovih transformacija
Linearna konvolucija
Ciklična konvolucija
• Za dva niza istih dužina N
Proizvod diskretnih Furijeovih transformacija
Ciklična konvolucija
1
0
11 10,N
n
nk
N NkWnxkX
1
0
22 10,N
n
nk
N NkWnxkX
1 2 , 0 1Y k X k X k k N
1
1 2
0
N
CK Nm
y n x m x n m
1
1 2
0
N
CK p p RN
m
y n x m x n m w n
Linerana konvolucija, preko ciklične konvolucije
• Za dva niza istih dužina NLK=Nx1+Nx2-1
Ciklična konvolucija
1
1 1 0
0
, 0 1LK
LK
Nnk
d N LK
n
X k x n W k N
1
2 2 0
0
, 0 1LK
LK
Nnk
d N LK
n
X k x n W k N
1 2 , 0 1LKY k X k X k k N
1
1 0 2 0
0
idftLK
LK
N
CK d d Nm
y n Y x m x n m
1 1
1 0
1
, 0 1
0, 1
x
d
x
x n n Nx n
n N
2 2
2 0
2
, 0 1
0, 1
x
d
x
x n n Nx n
n N
1
1 0 2 0
0
LK
LK
N
CK d p d p RN
m
y n x m x n m w n
Ciklična konvolucija
• Nama zapravo treba linerna konvolucija (odziv LTI sitema)
• Računa se tako što nizove dopunimo nulama do dužine linearne konvolucije
• Odredimo DFT za oba niza
• Odredimo proizvod DFT-ova
• Odredimo inverznu DFT proizvoda
Zadatak
• {x1[n]}=1, 1, 0, 0, 0, 0, 1, 1
• {x2[n]}=1, 1, 1, 1, 0, 0, 0, 0.