İşaretler ve Süzgeçleme Zaman Domeni Süzgeç Genlik V in C R V out Zaman Frekans Domeni Yok edilen : f f 2 Genlik Genlik Geçen : f 3 f 4 f 5 f f 2 f 3 f 4 f 5 Frekans f f 2 f 3 f 4 f 5
Faz A A Zaman 9 Faz kayması t on-linear faz yanıtı Müzik Video Veri haberleşmesi İstenmez. 8 faz kayması t 2
Analog Süzgeçler I Yüksek geçiren H(ω) = V out V in H(ω) = R + R jωc C R V out Re [H(ω)] φ A Im[H(ω)] X C = jωc ω = 2πf j = - V in = I ( R + ) jωc Kazanç= A = Re [H(ω)] 2 + Im[H(ω)] 2 V out = I*R Faz = φ = tan - Im [H(ω)] Re [H(ω)] 3
Yüksek Geçiren Süzgeç yanıtı A Yüksek Geçiren A = R R 2 + (ωc) 2 f Faz (derece) f c f c köşe frekansı A = (/ 2 ) A f c = 2πRC φ = tan - ( ) ωrc f c f 4
V in Alçak-Geçiren Süzgeç Yanıtı R C V out H(ω) = R + jωc jωc A f c Faz (derece) f A = f c = 2πRC + ω 2 R 2 C 2-3 -6 φ = tan - ( ) ωrc -9 f c f 5
Geçirme bandı Dalgalanması Performans Kriteri Genlik Yanıtı 2 log A = Kazanç db f 3dB oktası c = Kesim frekansı f c Durdurma bandı Dalgalanması f 3dB noktasında kazanç (f c frekansında) = A 2 Geçirme Bandı Durdurma bandı 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ı 6
Faz yanıtı 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. f f 2 f f vef 2 frekanslarındaki zaman gecikmeleri eşittir Zaman gecikmesi Doğrusal Fazlı bir süzgeçin Üniform zaman gecikmesi 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. f f 2 f Doğrusal faz yanıtı yalnızca geçiş bandında önemlidir Küçük non-lineerlikler göz ardı edilebilir. 7
KÖTÜ İYİ 8
A Analog Süzgeçler - Butterworth Süzgeci... n=32 n=8 n=4 n= n=2 A = f + ( ) 2n f c. f / f c Maksimum düz genlik yanıtı Gecikme Kötü faz yanıtı Yeterli egim için çok yüksek süzgeç dereceleri. 2. f / f c 9
Chebyshev Diğer Süzgeç Türleri Butterworth dan daha iyi eğim Geçirme bandında daha yüksek dalgalanma Kötü faz yanıtı Bessel Maksimum düz faz yanıtı Daha kötü eğim
Modifiye edilmiş bir Sallen-Key süzgeci. k ve k2 parametrelerinin seçimi ile Butterworth, Chebysev ve Bessel süzgeçleri gerçeklenebilir. 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 2
Sayısal süzgeçlerde, basamak yanıtının her iki ucunda taşma oluşur. Analogda sadece 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 dan büyük iken, 6 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. Hz den KHz e kadar frekansları sorunsuz işliyorsa (7 dekad a denk düşer), aynı durumdaki bir sayısal sistem için 2KHz örnekleme frekansında,. Hz lik bir cycle lı tamamlamak için 2 örnek saklamak gerekir. Bu nedenle sayısal süzgeçler daima lineer skalada, analoglar ise logaritmik skalada gösterilir. 3
Tipik Sayısal süzgeç Giriş x(n) Z - x(n-) Z - x(n-2) Tap b b b 2 Ağırlık Σ Σ Toplama noktası y(n) çıkış x(n) örneklenmiş dalga şekli, x() t =, x() t = t s, x(2) t = 2 t s... t s = Örnekleme peryodu f s = örnekleme frekansı b n = Ağırlıklar (Katsayılar) Z - Birim zaman gecikmesi = Bir örnek aralığı y(n) = b x(n) + b x(n - ) + b 2 x(n - 2) 4
Tipik DSP Algoritmaları: FIR Süzgeçler(on-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 y( i) = k= x giriş dizisi y çıkış dizisi h( k) x( i k) = h( n)* x( n) h İmpuls yanıtı(filtre katsayıslar) Filtredeki katsayıların sayısı dır. Çıkış dizisi yalnızca giriş dizisi ve impuls yanıtına bağlıdır. 5
x(n) Z - Z - b b b 63 64 taps Σ Σ y(n) 6
Pencerelenmiş SIC ile FIR süzgeç gerçeklenmesi 7
Spektrumun yumuşatılması 8
9 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 = = + = ) ( ) ( ) ( ) ( ) ( k M k k i x k b k i y k a i y
Giriş b Çıkış x(t) + y(t) Z - b a Z - Z - b 2 a 2 Z - y(t) = b x(t) + b x(t - ) + b 2 x(t - 2) + a y(t - ) + a 2 y(t - 2) }Moving Average kısmı }Auto Regressive kısmı Geri besleme yolu Doğrusal olmayan faz yanıtı FIR göre daha az ağırlık Kararsızlığa dikkat 2
İKİCİ DERECE IIR SÜZGECİ BIQUAD YAPIDA GERÇEKLEMESİ (KAOİK FORM) 2
BİRİCİ DERECEDE BİR FİLTRE ÖREĞİ VE GERÇEKLEMESİ y(n)= αx(n) + (- α)y(n-) 22
Program yapısı (.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-) i al (- α) yı hesapla (- α) yı y(n-) ile çarp (çarpım) α x i (- α)y(n-) 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 23
Burada dikkat edilirse komut kullanılmaktadır. Günümüzde alt sınıftaki bir DSP için işlemci hızı MIPS civarındadır. Bu durumda filtre çıkış hızı 8.8 MS/s olacaktır. 6 bit bir yazılım çarpıcı, bir dizi öteleme ve toplama işlemi ile gerçekleştirilir. Bu da ortalama olarak komut gerektirir (çevrimler dahil )yukarıdaki örneği dikkate alacak olursak 2 adet çarpım vardır. Toplam komut sayısı 2 olacaktır. Böylece filtre çıkış hızı 48 KS/s lere düşer 24
Tarak Süzgeçler Giriş x(t) Σ Z - Z - Σ w(t) k birim fecikme - Çıkış y(t) kazanç a y(t) = x(t) + aw(t k) w(t k) f s /k 2f s /k 3f s /k f 25
Frekans Domeni, Fourier Serileri Orijinal işaret x p (t) Fourier serisinin ilk 4 terimi İlk 4 terimin toplanması orjinal x p (t) T p Peryodik işaret sonsuz sayıda sinüsün toplamı ile ifade edilebilir x c k p ( t) = = T p k = T p c x k p e jkω t ( t) e, burada jkω t dt 26
Fourier Dönüşümü x(t) = C k e j(k ω t) k=- Burada C k = T p T p /2 x(t) e - j(kω t) dt -T p /2 T P = Peryodu artır Τekrarlanma yok T P Ayrık frekans değişkeni sürekli olur T p = ω 2π k ω ω dω 2π Ayrık katsayılar C k sürekli olur C(ω) C(ω) = dω 2π x(t) e- jω t dt normalize C(ω) dω / 2π = X(ω) = FT Çifti x(t) e - jωt dt Ters x(t) = 2π X(ω) e j ωt dω 27
Ayrık zamanlı Fourier Dönüşümü Fourier Dönüşümü x( ω) = x(t)e t j ω dt Ayrık zamanlı Fourier Dönüşümü x( Ω) = n= x(n)e j Ω n t, T s n olur Sürekli x(t) ayrık x(n) olur Ayrık örnek değerleri integral yerine toplanır Ters Fourier Dönüşümü x(t) = 2π x( ω)e ωt j dω Ters Ayrık zamanlı Fourier Dönüşümü π x(n) = 2π π x( Ω)e (nω ) j dω İ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 28
Tipik DSP Algoritmaları: Ayrık Fourier Dönüşümü DTFT çiftini hatırlayalım: X( Ω) = n= x(n)e jnω = x(n) 2π Sonsuz sayıda zaman domeni örneği vardır. Ω süreklidir 2π X( Ω)e DTFT yi uygulanabilir hale getirmek için Yalnızca zaman domeni örneği alınır jn Ω d Frekans domeni örneklenir, örneğin x(ω) ayrık noktada örneklenir. oktalar arasında eşit boşluk vardır Ω = 2π/ Sonuç Ayrık Fourier Dönüşümü çiftidir: Ω 29
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 y( k) = n= W nk x( n) W = e k =,,, -, burada x, zaman domenindeki giriş dizisi y, frekans domenindeki çıkış dizisidir. Ters Ayrık Fourier Dönüşümü x( n) = W k= nk y( k), for 2 jπ şeklindedir. Hızlı Fourier Dönüşümü (FFT), AFD nin hesplanması için etkin bir yol sağlar. j = n =,,..., n- 3
DFT İlişkileri Zaman domeni Frekans Domeni X(n) Örnek x(k) Örnek T s 2T s 2 3T s (-)T s t 2 /2-2 - F 3 - s F F s 2 s F s n F 2 s 2 k f 3
Pratikteki durumlar Standart DFT X (k) = n= X n (k)w kn, k 8 noktalı bir DFT 7 kn X n (k ) = X n (k )W 7, k = n =,,2,..., 7 k k k7 Xn (k) = x()w7 + x()w 7 +... + x(7)w7,k =,,...,7 k x()w 7 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 gerektirir -noktalı DFT 2 = milyon çarpım gerektirir ve bütün bunlar toplanmalıdır 32
Hızlı Fourier Dönüşümü (FFT) Simetri Özelliği W k+ / 2 = W k Peryodiklik özelliği k+ W = W k DFT yi iki parçaya ayırır X (k) = 2 r= x(2r).w 2rk + 2 r= x(2r + ). W (2r+ )k or X 2 2 2 rk k 2 rk (k) = x(2r).(w ) + W x(2r + ).(W ) r= r= Döndürme faktörü üzerinde oynayarak 2 2π j( 2) 2π j( / ) 2 W = e = e = W / 2 Hızlı Fourier Dönüşümü X n (k ) = 2 r = x(2r )W rk 2 + W k 2 r = x(2r + ) W rk 2 33
x (k) = 2 r = Zaman Kazanımı x(2r)w rk / 2 + W 2 k r = x(2r + ) W rk / 2 (/2) 2 Çarpım (/2) 2 Çarpım /2 Çarpım 8-noktalı bir FFT, 4 2 + 4 2 + 4 = 36 çarpım gerektirir. Bu da 64-36 = 28 çarpım azaltır noktalı FFT, 5 2 + 5 2 + 5 = 5,5 çarpım.,, - 5,5 = 945, çarpım kurtarır Zaman kazanımı : 5ns cycle süresi için 8-noktalı FFT de.2 µs -noktalı FFT de 47.25ms kurtarır 34
Zamanda Azaltma Orijinal seriyi ikiye bölmeye zamanda azaltma denir = 8 gibi kısa bir dizi alalım Bir kere azaltma Radix-2 olrak adlandırılır, çünkü 2 ye bölünür n = {,, 2, 3, 4, 5, 6, 7} n = {, 2, 4, 6 } and {, 3, 5, 7 } tekrar azaltalım n = {, 4 } { 2, 6 } {, 5 } and { 3, 7 } Sonuç 2 (/2)log 2 çarpımdan kurtarmadır 24 noktalı DFT =,48,576 çarpım 24 noktalı FFT = 52 çarpım Zamanda azaltma matematiği basitleştirir, ancak daha fazla döndürme faktörü hesaplanmalıdır 35
=4 için bir örnek düşünelim: 4-oktalı FFT 3 X x(n) 4 (k) = W 4 kn zamanda azaltalım n = {, 2} and {, 3} X 4 (k) = r= x(2r) rk W 2 + k W 4 r= x(2r+) rk W 2 k k k = [ x() + x(2) W 2 ] + W 4 [ x() + x(3) W 2 ] İki döndürme faktörü var ilişkilendirirsek Hatırla: 2π 2 k W = e 2π -j 2π k -j k W 2 = e * = W 4 k -j 2k 2k = e 4 * yeni FFT ifadesi: 2k k 2k = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W 4 ] 36
İki DFT: Akış diyagramı X 4 (k) 2k k 2k = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W 4 ], k=,,2,3 Yalnızca k= için yazarsak X 4 () = [ x() + x(2) W 4 ] + W [ x() + x(3) ] 4 W 4 Akış diyagramı: x() x(2) x 2 X 4 () W 4 = x() x(3) x 3 Bu diyagram tüm diyagramın 4 te biridir 37
Tam akış diyagramı K nı tüm değerleri için yazarsak: = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W ] 4 2 2 = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W 4 ] hatırlayalım W 4 4 = e -j 2π 4 * 4 = = W 4 2 = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W 4 ] 2 3 2 = [ x() + x(2) W 4 ] + W 4 [ x() + x(3) W 4 ] W 4 6 = e -j 2π 4 * 6 2 = - = W 4 x() x(2) 2 X 4 () X 4 () Kelebek yapı? x() 2 X 4 (2) x(3) 2 3 X 4 (3) 38
Kelebek yapısı Tipik kelebek k x X = x + W x2 X Döndürme faktörleri W 4 = W 4 = -j x 2 W k X 2 X 2 = x W k x2 W 4 2 = - W 4 3 = j yada 4 noktalı FFT eşitlikleri x W k - X = (x + x 2 ) + W 4 (x +x 3 ) X = (x x 2 ) + W 4 (x x 3 ) X 2 = (x + x 2 ) W 4 (x +x 3 ) X 3 = (x x 2 ) W 4 (x x 3 ) 39
Genlik Pratik bir örnek Zaman Domeni Frekans Domeni Genlik 2 2 2 2 2 3 Zaman (nt s ) -5. 2-2.5 2.5 5. 3 2 Frekans khz x k = {,,,} FFT hesabı fs=khz T s = us X =x + x 2 +x +x 3 = + + + = 2 X =x x 2 + -j(x x 3 ) = + -j( ) = + j F = T s = Frekans aralığı X 2 =(x + x 2 ) (x + x 3 ) = ( + ) - ( + ) = X 3 =(x x 2 ) -j (x x 3 ) = ( ) -j( ) = j X in genliği= 2 +j 2 = 2 4
8 oktalı DIT FFT diyagramı 4
FIR SÜZGEÇLERİ FFT İLE GERÇEKLEMESİ (FFT KOVOLÜSYO) y(t)=x(t)*h(t) =IFFT[X(f).H(f)] Hızdaki iyileşme, filtre çekirdeğinin uzunluğuna bağlıdır. 42
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. (2 + ) ( ) = ( ) n kπ y k e k cos[ ] x( n), for k =,,...- n= 2 2 (2 + ) ( ) = n kπ x n e( k)cos[ ] y( n), for k =,,...- k= 2 burada e(k) = /karekök(2) dir. Eğer k = ; diğer e(k) =. noktalı, D-DCT 2 MAC işlemi gerektirir. 43
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 r k vektörünün bulunması Uzaklık tipik olarak aşağıdaki şekilde tanımlanır: Ortalama mutlak fark (L norm) d = i= x ( i ) r k( i ) Karesel Ortalama hata (MSE or L 2 norm) d = i= [ x ( i ) r k( i )] 2 44
Tipik DSP Algoritmaları: Uyarlamalı Süzgeçler Uyarlamalı süzgeçlerin en tipik örneklerinden, LMS algoritmasının işleyişi 45
Hesap Oranları Gerekli donanımsal kaynakları belirleyebilmek için aşağıdaki eşitlik kullanılabilir R C = R S n op Burada R c Hesap oranı R s Örnekleme hızı n op Her bir örnek için ortalama işlem sayısı Örneğin, -B FIR n op = 2 ve Bir 2-B FIR n op = 2 2. operasyon gerektirir. 46
FIR süzgeçleme için hesap oranları İşaret Türü Frekans Tap Performans Sayısı Konuşma 8 khz =28 2 MOPs Müzik 48 khz =256 24 MOPs Video phone 6.75 MHz * = 8,9 MOPs TV 2 MHz * = 8,94 MOPs HDTV 44 MHz * = 8 23,3 MOPs 47