İşaretler ve Süzgeçleme - yildiz.edu.trkunal/dspdsy/Bolum2.pdf · Günümüzde alt sınıftaki...
Transcript of İşaretler ve Süzgeçleme - yildiz.edu.trkunal/dspdsy/Bolum2.pdf · Günümüzde alt sınıftaki...
1
İşaretler ve SüzgeçlemeSüzgeçZaman Domeni
Vin VoutC
R
Genlik
Zaman
Frekans DomeniGenlik Geçen : f3 f4 f5
Yok edilen : f1 f2
Genlik
Frekansf1 f3f2 f4 f5 f1 f2 f3 f4 f5
2
Faz
Zaman
|A|
t
t
|A|
900 Faz kayması
1800 faz kayması
Non-linear faz yanıtı
MüzikVideoVeri haberleşmesi
İstenmez.
3
Analog SüzgeçlerH(ω) =
Vout
VinH(ω) =
R
R + 1jωC
Yüksek geçiren
VoutC
R
I
Im[H(ω)]
Re [H(ω)]
|A|
φ
ω = 2πfXC =
1jωC
-1j =
Kazanç= |A|= Re [H(ω)]2 + Im[H(ω)] 2Vin= I ( R + )1
jωC
= tan-1Faz =Im [H(ω)]
Re [H(ω)] φ
Vout = I*R
4
Yüksek –Geçiren Süzgeç yanıtıYüksek Geçiren
|A| = R
R 2 +1
(ωC)2
|A|
f
φ = tan-1( )ωRC
1
fc
fc
Faz (derece)
f0
fc =1
2πRCfc köşe frekansı |A| = (1/ ) |A|2
5
Alçak-Geçiren Süzgeç Yanıtı
Vin VoutC
R
|A| = 1
1 + ω2R2C2
H(ω) =R + 1
jωC
1jωC
|A|
ffc
fc
- 30
- 60
- 90
Faz (derece)
f
0 fc =1
2πRC
φ = tan -1( ) ωRC
6
f
Geçirme Bandı
Durdurma bandı
Geçirme bandıDalgalanması
Durdurma bandı Dalgalanması
3dB Noktası
Genlik Yanıtı
fc
3dB noktasında kazanç (fc frekansında) = |A|
2
fc = Kesim frekansı
20 log10 |A| = Kazanç dB
Performans Kriteri
Geçirme bandı dalgalanması istenmez
Dalgalanmasız tasarım mümkündür
Durdurma bandı dalgalanması çok önemli değildir.
Eğimi dB/Decade
Durdurma bandı zayıflatması
7
Faz yanıtı
f
φDoğrusal bir süzgecin faz yanıtı Faz yanıtı farklı frekanslarda farklı
gecikmeleri temsil eder.
Doğrusal faz yanıtı tüm frekans bileşenlerinin aynı biçimde gecikmesini gerektirir.
f1 vef2 frekanslarındaki zaman gecikmeleri eşittir
Doğrusal-Olmayan Faz yanıtıFarklı frekansları farklı miktarlarda geciktirir.Orijinal işaretin bozulmasına neden olur. Müzikte duyulabilir Görüntüde algılanabilir.
Doğrusal faz yanıtı yalnızca geçiş bandında önemlidir
Küçük non-lineerlikler göz ardı edilebilir.
f
Doğrusal Fazlı bir süzgeçinÜniform zaman gecikmesi
Zaman gecikmesi
f1 f2
f1 f2
8KÖTÜ İYİ
9
Analog Süzgeçler - Butterworth Süzgeci|A|
1.0
0.1
0.01
1 10f / fc
0.1
0f / fc
1.0 2.0
Gecikme
n=32 n=8
n=1
n=2n=4
|A|=
ffc
( )2n
1+
1
Maksimum düz genlik yanıtı
Kötü faz yanıtı
Yeterli egim için çok yüksek süzgeç dereceleri
10
Diğer Süzgeç Türleri
ChebyshevButterworth’dan daha iyi eğim
Geçirme bandında daha yüksek dalgalanma
Kötü faz yanıtı
BesselMaksimum düz faz yanıtı
Daha kötü eğim
11
Modifiye edilmiş bir Sallen-Keysüzgeci. k1 ve k2 parametrelerinin seçimi ile Butterworth, Chebysev ve Bessel süzgeçleri gerçeklenebilir.
1 Khz kesim frekanslı 6. derece Bessel süzgeci
Sayısal Süzgeçler•Aynı donanım , istenilen ihtiyaçlara göre biçimlendirilebilen yapı
•Maksimum düz faz yanıtı (yuvarlatma hataları sınırlar),
•Çok yüksek roll-off ‘a sahip süzgeçler. (analogda neredeyse imkansız)
Analog eşdeğeri yok
12
13
Sayısal süzgeçlerde, basamak yanıtının her iki ucunda taşma oluşur. Analogda sadece 1 uçta iki katı düzeyde bir taşma oluşur.
•Analog süzgeçler, sayısal süzgeçlere göre daha hızlıdır.
•Dinamik bölge açısından analog daha avantajlıdır. Örneğin düşük gürültülü bir opamp için dinamik bölge 10000000 dan büyük iken, 16 bitlik bir ADC için 65536 dır.
•Frekanstaki dinamik bölge analog sistemler için yine oldukça büyüktür. Örneğin bir opamp 0.01 Hz den 100KHz e kadar frekanslarısorunsuz işliyorsa (7 dekad’ a denk düşer) , aynı durumdaki bir sayısal sistem için 200KHz örnekleme frekansında, 0.01 Hz lik bir cycle’lı tamamlamak için 20000000 örnek saklamak gerekir. Bu nedenle sayısal süzgeçler daima lineer skalada , analoglar ise logaritmik skalada gösterilir.
14
Tipik Sayısal süzgeç
Σ Σ
Z-1Z-1
b0 b1 b2
x(n)x(n-1) x(n-2)
Tap
Ağırlık
Toplama noktası
Giriş
y(n) çıkış
x(n) örneklenmiş dalga şekli, x(0) t = 0, x(1) t = ts, x(2) t = 2 ts ...
ts = Örnekleme peryodu fs = örnekleme frekansı
bn = Ağırlıklar (Katsayılar)
Z-1 Birim zaman gecikmesi = Bir örnek aralığı
y(n) = b0 x(n) + b1 x(n - 1) + b2 x(n - 2)
15
Tipik DSP Algoritmaları:FIR Süzgeçler(Non-Recursive)
• Süzgeçler, istenmeyen frekansları yok ederek görüntü, işaret kalitesini artırırlar.
• Finite Impulse Response (FIR) Süzgeçler:
Burada– x giriş dizisi– y çıkış dizisi– h İmpuls yanıtı(filtre katsayıslar)– N Filtredeki katsayıların sayısı dır.
• Çıkış dizisi yalnızca giriş dizisi ve impuls yanıtına bağlıdır.
)(*)()()()(1
0nxnhkixkhiy
N
k=−= ∑
−
=
Σ
Z-1Z-1x(n)
y(n)
b0 b63
Σ
b1
64 taps
16
17
Pencerelenmiş SINC ile FIR süzgeç gerçeklenmesi
18Spektrumun yumuşatılması
19
Tipik DSP Algoritmaları:IIR Süzgeçler (Recursive)
• Infinite Impulse Response (IIR) Süzgeçler:
• Çıkış dizisi, giriş, geçmiş yada gelecekteki çıkış dizisi ve impuls yanıtına bağlıdır.
• FIR ve IIR Süzgeçlerin her ikiside– Çarpma ve toplama işlemleri gerektirir.– Sabit katsayılar kullanırlar
∑∑−
=
−
=−+−=
1
0
1
1)()()()()(
N
k
M
kkixkbkiykaiy
20
Giriş Çıkış
x(t) y(t)
Z-1
Z-1
Z-1
Z-1
b0
b1
b2
a1
a2
+
y(t) = b0x(t) + b1x(t - 1) + b2x(t - 2) + Moving Average kısmıa1y(t - 1) + a2y(t - 2) Auto Regressive kısmı
Geri besleme yoluDoğrusal olmayan faz yanıtıFIR’ göre daha az ağırlıkKararsızlığa dikkat
21
İKİNCİ DERECE IIR SÜZGECİN BIQUAD YAPIDA GERÇEKLENMESİ(KANONİK FORM)
22
BİRİNCİ DERECEDEN BİR FİLTRE ÖRNEĞİ VE GERÇEKLENMESİ
y(n)= αx(n) + (1- α)y(n-1)
23
Program yapısı (1.Derece LPF için)
LOOP:
Bufferleri işaretle
X’i A/D den ACC kayıtçısına al
X’i belleğe yaz
α* x i hesapla belleğe yaz (çarpım)
Son y(n-1) ‘i al
(1- α) yı hesapla
(1- α) yı y(n-1) ile çarp (çarpım)
α x i (1- α)y(n-1) ile topla
y (n) yi diğer döngü için belleğe yaz
y(n) yi D/A ye gönder
LOOP a git
≈
24
Burada dikkat edilirse 11 komut kullanılmaktadır. Günümüzde alt sınıftaki bir DSP için işlemci hızı 100 MIPS civarındadır. Bu durumda filtre çıkış hızı 8.8MS/s olacaktır.
16 bit bir yazılım çarpıcı, bir dizi öteleme ve toplama işlemi ile gerçekleştirilir.Bu da ortalama olarak 100 komut gerektirir (çevrimler dahil )yukarıdaki örneği dikkate alacak olursak 2 adet çarpım vardır.
Toplam komut sayısı 210 olacaktır. Böylece filtre çıkış hızı 480 KS/s leredüşer
25
•Tarak Süzgeçler
Giriş Çıkış
Z-1x(t) y(t)
a
Σ Z-1 Σw(t)
-1
k birim fecikme
y(t) = x(t) + aw(t–k) – w(t–k)
kazanç
ffs/k 2fs/k 3fs/k
Frekans Domeni, Fourier Serileri
Tp
Orijinal işaret xp(t) Fourier serisinin ilk 4 terimiİlk 4 terimin toplanması
orjinal xp(t)
Peryodik işaret sonsuz sayıda sinüsün toplamı ile ifade edilebilir
dtetxT
c
buradaectx
pT
tjkp
pk
k
tjkkp
∫
∑−
∞
−∞=
=
=
0
0
)(1
,)(
ω
ω
26
27
Fourier Dönüşümü
∫Ck =1Tp
Tp/2
-Tp/2
x(t) e-j(kω0t) dtBuradax(t) = ∑ Ckej(kω0 t)∞
k=- ∞
1Tp
=ω2π
dω2π
TP = Peryodu artır Τekrarlanma yokTP ∞
k ω0 ωAyrık frekans değişkeni sürekli olur
Ayrık katsayılar Ck sürekli olur C(ω)
∫x(t) e -jωt dt
∞
− ∞
C(ω)dω / 2π = X(ω) =
∫X(ω) e jωt dω
∞
− ∞
x(t) =1
2π
normalize
Ters
FT Çifti
C(ω) = dω2π ∫x(t) e-jω t dt
∞
− ∞
28
Ayrık zamanlı Fourier DönüşümüFourier Dönüşümü
Ayrık zamanlıFourier Dönüşümü
dte)t(x)(xtj∫
∞
∞−
− ω
=ω ∑∞
−∞=
− Ω
=Ωn
j n
e)n(x)(x
t , Tsn olurSürekli x(t) ayrık x(n) olur
Ayrık örnek değerleri integral yerine toplanır
ωωπ
= ∫∞
∞−
ω
de)(x21)t(x
tj ΩΩπ
= ∫π
π−
Ω
de)(x21)n(x
)n(j
Ters Fourier Dönüşümü
Ters Ayrık zamanlıFourier Dönüşümü
İntegrasyon sınırlarının ±p yi geçmesi gerekmez, çünküspektrum 2π ile peryodiktir
İntegrasyon ters dönüşümde korunur çünkü X(w) süreklidir
29
Tipik DSP Algoritmaları: Ayrık Fourier Dönüşümü
DTFT çiftini hatırlayalım:ΩΩ
π= ∫
π
Ω de)(X21)n(x
2
jn
∑∞
−∞=
Ω−=Ωn
jne)n(x)(X
Sonsuz sayıda zaman domeni örneği vardır.
Ω süreklidir
DTFT yi uygulanabilir hale getirmek için
Yalnızca N zaman domeni örneği alınır
Frekans domeni örneklenir, örneğin x(Ω) N ayrık noktada örneklenir. Noktalar arasında eşit boşluk vardır ∆Ω = 2π/N
Sonuç Ayrık Fourier Dönüşümü çiftidir:
30
Tipik DSP Algoritmaları:Ayrık Fourier Dönüşümü
•Ayrık Fourier Dönüşümü (AFD (DFT)) frekans domeninde spektral analizi sağlar.
•Aşağıdaki gibi hesaplanır
k = 0, 1, … , N-1, burada
x , zaman domenindeki giriş dizisi
y , frekans domenindeki çıkış dizisidir.
•Ters Ayrık Fourier Dönüşümü
şeklindedir.
•Hızlı Fourier Dönüşümü (FFT) , AFD nin hesplanması için etkin bir yol sağlar.
1 )()(21
0−===
−−
=∑ jeWnxWky N
j
N
N
n
nkN
π
1-n , ... 1, 0, n for ,)()(1
0== ∑
−
=
−N
k
nkN kyWnx
DFT İlişkileri
Frekans DomeniZaman domeni|x(k)|
N Örnek
00
Ts
12Ts
23Ts
3 N-1(N-1)Ts 1 2 N/2 N-2 N-1
31
00
NFs
NF2 s
2Fs
NF2 s−
NFs−
≈ ≈ ≈
N ÖrnekX(n)
t
n
k
f
32
Pratikteki durumlar
1Nk0,W)k(X)k(X1N
0n
knNnN −≥≤= ∑
−
=Standart DFT
8 noktalı bir DFT
7,...,2,1,0k,W)k(X)k(X7
0n
kn7nn == ∑
=
7,...,1,0k,W)7(x.......W)1(xW)0(x)k(X 7k7
1k7
0k7n =+++=
0k7W)0(x gibi herbir terim 8 çarpım gerektirir
Toplam çarpım sayısı 64 olur ve kompleks dir.
8-noktalı DFT 8 2 = 64 kompleks çarpım gerektirir1000-noktalı DFT 10002 = 1 milyon çarpım gerektirirve bütün bunlar toplanmalıdır
33
Hızlı Fourier Dönüşümü (FFT)kN
2/NkN WW −=+Simetri Özelliği
kN
NkN WW =+Peryodiklik özelliği
∑∑−
=
+
−
=
++=1
2N
0r
k)1r2(N
12N
0r
rk2NN W).1r2(xW).r2(x)k(XDFT yi iki parçaya ayırır
∑∑−
=
−
=
++=1
2N
0r
rk2N
12N
0r
kN
rk2NN )W).(1r2(xW)W).(r2(x)k(Xor
2/N
)2/N
2(j)2N2(j2
N WeeW ===π
−π
−Döndürme faktörü üzerinde oynayarak
Hızlı Fourier Dönüşümü
∑ ∑−
=
−
=
++=1
2N
0r
12N
0r
rk2N
kN
rk2Nn W)1r2(xWW)r2(x)k(X
34
Zaman Kazanımı
N/2 Çarpım
(N/2) 2 Çarpım (N/2) 2 Çarpım
∑∑−
=
−
=
++=1
2N
0r
rk2/N
kN
12N
0r
rk2/NN W)1r2(xWW)r2(x)k(x
8-noktalı bir FFT, 42 + 42 + 4 = 36 çarpım gerektirir. Bu da 64 - 36 = 28çarpım azaltır
1000 noktalı FFT, 5002 + 5002 + 500 = 50,500 çarpım. 1,000,000 - 50,500 = 945,000 çarpım kurtarır
Zaman kazanımı : 50ns cycle süresi için8-noktalı FFT de 1.2 µs1000-noktalı FFT de 47.25ms kurtarır
35
Zamanda Azaltma
Bir kere azaltma Radix-2 olrak adlandırılır, çünkü 2 ye bölünür
Orijinal seriyi ikiye bölmeye zamanda azaltma denir
n = 0, 1, 2, 3, 4, 5, 6, 7 n = 0, 2, 4, 6 and 1, 3, 5, 7
N = 8 gibi kısa bir dizi alalım
tekrar azaltalımn = 0, 4 2, 6 1, 5 and 3, 7
Sonuç N2 – (N/2)log2N çarpımdan kurtarmadır
1024 noktalı DFT = 1,048,576 çarpım1024 noktalı FFT = 5120 çarpım
Zamanda azaltma matematiği basitleştirir, ancak daha fazla döndürme faktörü hesaplanmalıdır
36
4-Noktalı FFTx(n)
0X4(k) =∑ W4
kn3N=4 için bir örnek düşünelim:
zamanda azaltalımn = 0 , 2 and 1, 3
+x(2r)r=0
X4(k) =∑1 rk
W2 W4k
x(2r+1)r=0∑1 rk
W2
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W2k
W4k
W2k
İki döndürme faktörü varilişkilendirirsek
WN = e2πN
-jk kHatırla:
2kW2k
= e2π2
-j k* = W4= e2π4
-j 2k*
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W42k
W4k
W42kyeni FFT ifadesi:
37
Akış diyagramıİki DFT:
= [ x(0) + x(2) ] + [ x(1) + x(3) ], k=0,1,2,3W42k
W4k
W42k
X4(k)
Yalnızca k=0 için yazarsak
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W40
W40 W4
0X4(0)
Akış diyagramı:x(0)
x(1)
x(2)
x(3)
X4(0)0
0
0x02
x13
0 W40
=
Bu diyagram tüm diyagramın 4 te biridir
38
Tam akış diyagramı
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W42
W41
W42
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W40
W42
W40
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W42
W43
W42
= [ x(0) + x(2) ] + [ x(1) + x(3) ]W40
W40
W40
K nı tüm değerleri için yazarsak:hatırlayalım
W44
W40
2π4
-j= e *4
= 1 =
W46
W42
2π4
-j= e *6
= -1 =
x(0)
x(1)
x(2)
x(3)
X4(0)
X4(1)
X4(2)
X4(3)
0
2
0
2 3
2
1
0
Kelebek yapı ?
39
Kelebek yapısıDöndürme faktörleri
X1
X2x2 WNk
x1 x1X1 = + WNk
x2
x1X2 = – WNk
x2
Tipik kelebek
W43 = j
W42 = -1
W41
= -j
W40
= 1
yada4 noktalı FFT eşitlikleri
x
WNk
X0 = (x0 + x2) + W40
(x1+x3)
X1 = (x0 – x2) + W41
(x1–x3)
X2 = (x0 + x2) – W40
(x1+x3)
X3 = (x0 – x2) – W41
(x1–x3)
-1
Pratik bir örnek
X0=x0+ x2 +x1+x3
X1=x0–x2 + -j(x1–x3) = 1–0 + -j(0–1) = 1 + j
X2=(x0+ x2) – (x1+ x3) = (1 + 0) - (0 + 1) = 0
X3=(x0–x2)– -j (x1–x3) = (1–0)– -j(0–1) = 1– j
= 1 + 0 + 0 + 1 = 2
FFT hesabı
fs=10kHzTs= 100 uS
1NTs
=F =
xk = 1,0,0,1
Genlik
Zaman0
1
2
(nTs)0 1 2 3
Zaman DomeniGenlik
Frekans
1
2
kHz
√2√2
Frekans Domeni
03 1 220-2.5 2.5 5.0-5.0
Frekans aralığı
X1 in genliği = √12+j2 = √240
41
8 Noktalı DIT FFT diyagramı
42
FIR SÜZGEÇLERİN FFT İLE GERÇEKLENMESİ(FFT KONVOLÜSYON)
y(t)=x(t)*h(t) =IFFT[X(f).H(f)]
Hızdaki iyileşme, filtre çekirdeğinin uzunluğuna bağlıdır.
43
Tipik DSP Algoritmaları:Ayrık Kosinüs Dönüşümü
• Ayrık kosinüs dönüşümü (DCT) görüntü sıkıştırmada sıklıkla kullanılır (örneğin MPEG-2, MPEG-3).
• DCT ve Ters DCT (IDCT) aşağıdaki gibi hesaplanır.
burada e(k) = 1/karekök(2) dir. Eğer k = 0; diğer e(k) = 1. • N noktalı, 1D-DCT N2 MAC işlemi gerektirir.
1-N ... 1, 0, k for ,)(]2
)12(cos[)()(1
0=
+= ∑
−
=
N
nnx
Nknkeky π
1-N ... 1, 0, k for ,)(]2
)12(cos[)(2)(1
0=
+= ∑
−
=
N
kny
Nknke
Nnx π
44
Tipik DSP Algoritmaları:Uzaklık Hesaplamaları
• Uzaklık hesaplamaları, örüntü (Pattern) tanıma, kodlama, hareket kestirimi gibi uygulamalalarda sıklıkla kullanılır.
• Problem: Giriş vektörü x den minimum uzaklığa sahip rk vektörünün bulunması
• Uzaklık tipik olarak aşağıdaki şekilde tanımlanır:– Ortalama mutlak fark (L1 norm)
– Karesel Ortalama hata (MSE or L2 norm)
|)()(|1 1
0∑
−
=−=
N
ik irix
Nd
∑−
=−=
1
0
2)]()([1 N
ik irix
Nd
45
Tipik DSP Algoritmaları:Uyarlamalı Süzgeçler
Uyarlamalı süzgeçlerin en tipik örneklerinden, LMS algoritmasının işleyişi
46
Hesap Oranları• Gerekli donanımsal kaynakları belirleyebilmek için
aşağıdaki eşitlik kullanılabilir
Burada– Rc Hesap oranı– Rs Örnekleme hızı– nop Her bir örnek için ortalama işlem sayısı
• Örneğin , 1-B FIR nop = 2N ve Bir 2-B FIR nop = 2N2.
operasyon gerektirir.
opSC nRR ⋅=
47
FIR süzgeçleme için hesap oranları
İşaret Türü Frekans Tap Sayısı
Performans
Konuşma 8 kHz N =128 2 MOPs
Müzik 48 kHz N =256 24 MOPs
Video phone 6.75 MHz N*N = 81 1,090 MOPs
TV 12 MHz N*N = 81 1,94 MOPs
HDTV 144 MHz N*N = 81 23,300 MOPs