Professional Documents
Culture Documents
Bi̇yomedi̇kal Si̇nyal İşleme Dersi̇ - 11
Bi̇yomedi̇kal Si̇nyal İşleme Dersi̇ - 11
HAFTA
Filtre (Süzgeç) Tasarımı
Amaç
Bu deneyin amacı sonlu dürtü yanıtlı (FIR) ve sonsuz dürtü yanıtlı (IIR) sayısal
filtrelerin tanıtılması ve frekans yanıtlarının incelenmesidir.
Giriş:
Sinyal işlemede filtereleme bir sinyalin rasgele gürültü gibi istenilmeyen bileşenlerinin
atılması veya sadece istenilen (ilgilenilen) kısmının çıkışta elde edilmesidir. Aşağıda
filtreleme işlemi blok diyagramı görülmektedir.
Filtreler, fiziksel yapıları ve çalışma prensipleri birbirlerinden oldukça farklı olan analog
ve sayısal filtreler olmak üzere ikiye ayrılabilir.
Analog bir filtre direnç, kapasite ve işlemsel kuvvetlendirici gibi elemanlardan oluşan
analog elektronik devre elemanları kullanılır; analog filtre devreleri gürültü süzme ve
video sinyali iyileştirmesi gibi birçok farklı alanda kullanılabilir. Analog filtrelere fiziksel
bir sistemden elde edilen analog elektriksel gerilim veya akım işareti uygulanır; sayısal
bir filtreye uygulanacak olan sinyal ise ayrık olmalıdır.
Sayısal işlemci ile hesaplama yapılabilmesi için örneklenmiş ayrık analog sinyal
değerleri kullanılmalıdır. Yukarıda blok diyagramı görülen sistemde elde edilen sayısal
sinyal bitleri hesaplamalarda kullanılmak üzere işlemciye gönderilir. İşlemci girişe gelen
bitleri bir sabit ile çarpma ve bazı değerleri toplama gibi işlemler yaptıktan sonra
filtrelenen sinyale ait değerleri çıkışa verir. İşlemci çıkışındaki sinyal, gerekirse bir
Sayısal - Analog Dönüştürücü (SAD) yardımıyla analog bir sinyale dönüştürülür.
Sayısal Filtre Kullanmanın Avantajları
1. Filtereleme fonksiyonları sayısal filtreteki işlemcinin belleğindeki bir program
kullanılarak değiştirilebilir. Analog bir filtreyi değiştirebilmek için ise, devrenin
yeniden tasarlanması ve donanımın değiştirilmesi gerekir.
2. Sayısal filtreler sıradan bir bilgisayar veya iş istasyonunda kolaylıkla gerçeklenip test
edilebilir.
3. Özellikle aktif bileşen içeren analog filtre devrelerinin karakteristikleri zamandan ve
sıcaklık değişimlerinden etkilenirken, sayısal filtreler bu tip sorunlardan etkilenmeden
kararlı bir şekilde çalışabilirler.
4. Sayısal filtreler analog sayıcı kısımları bulunmasına rağmen alçak frekanslı
sinyallerle doğru olarak çalışabilirler. Sayısal sinyal işleme hızı arttıkça, sayısal
filtreler RF (radyo frekans) yüksek frekanslı sinyallere de uygulanabilirler.
5. Sinyalleri farklı yöntemlerle işlemek için sayısal filtreler analog filtrelere göre çok
daha kullanışlıdır. Örnek olarak bazı sayısal filtre tipleri sinyal karakteristiklerine
göre filtreyi uyarlayabilirler.
İdeal Filtreler
Sayısal filtreler frekans spektrumu 0-2π aralığında olup periyodik özelliklerdedir. Alçak
frekans bölgesi 0 rad. civarında yüksek frekans gölgesi ise π rad. civarındadır. İdeal bir filtre
yapısı aşağıda yer almaktadır.
İdeal bir alçak geçiren filtrenin frekans karakteristiği aşağıdaki gibi görülmektedir.
1, |𝑤| < 𝑤𝑐
𝐻𝑎𝑔 (𝑒 𝑗𝑤 ) = {
0, 𝐷𝑖ğ𝑒𝑟
1 𝑤𝑐 𝑗𝑤𝑛 𝑠𝑖𝑛𝑤𝑐 𝑛
ℎ[𝑛] = ∫ 𝑒 𝑑𝑤 =
2𝜋 −𝑤𝑐 𝜋𝑛
İdeal alçak geçiren filtrenin dürtü yanıtı nedensel değil ve sonsuz uzunlukludur. Bu nedenle
sistemin dürtü yanıtını gerçekleştirmek mümkün değildir.
İdeal filtreler keskin geçişleri nedeniyle Gibs olayına sebep olmakta ve yeniden elde edilirken
ripple ortaya çıkmaktadır.
Bu nedenle pratikte frekanslar arası keskin olmayan geçiş gösteren filtreler kullanılmaktadır.
Sayısal Filtre İşlemleri
Sayısal olarak filtrelenecek sinyalin, t zaman olmak üzere, bir gerilim dalga şekliyle
tanımlandığını varsayalım.
V=x(t)
Bu sinyal h (örnekleme) zaman aralıklarında örneklenirse, t = ih zamanında örneklenmiş
değer xi olur.
xi=x(ih)
Bundan dolayı, Analog Sayısal Dönüştürücüden işlemciye gönderilen sayısal değerler, t = 0
anı örneklemenin başladığı zaman olmak üzere, t = 0, h, 2h, 3h, … anlarındaki sinyal dalga
şeklinin değerlerine uygun olarak aşağıdaki diziyle gösterilir.
x0, x1, x2, x3,….
t = nh (n pozitif tamsayı) anında, işlemci belleğindeki değerler şunlardır.
x0, x1, x2, x3,…,xn
Örneklenmiş xn+1, xn+2 değerlerinin mevcut olmadığına dikkat edilmelidir. İşlemciden sayısal
analog dönüştürücüye gönderilen değerler y0, y1, y2, y3, … yn dizisinden oluşmaktadır. yn
değeri genellikle x0, x1, x2, x3,…,xn değerlerinden hesaplanır. Sayısal filtrenin filtreleme
şeklini y’lerin x’lerden hesaplanma yolu ile belirlenmektedir.
Sayısal Filtre Örnekleri
(1) Birim Kazançlı Fitre: Her çıkış yn değeri giriş xn değerinin tam olarak aynısıdır. Bu ilişki
aşağıdaki eşitlik ile gösterilebilir.
yn=xn
Bu filtrenin sinyal üzerinde bir etkisi yoktur.
(2) Basit Kazançlı Filtre: Bu filtre basitçe her giriş değerini K kazanç katsayısı ile çarpar. K
bir sabittir; giriş ve çıkış arasındaki ilişki aşağıdaki eşitlik ile gösterilebilir.
yn=Kxn
K > 1 değeri süzgeci bir kuvvetlendirici, 0 < K < 1 değeri süzgeci bir zayıflatıcı ve K < 0
değeri ise filtreyi bir ters alıcı kuvvetlendirici yapar. K = 1 durumunda birim kazançlı filtre
olur.
(3) Saf Geciktirme Filtresi: t = nh anındaki çıkış değeri t = (n - 1)h anındaki giriş değeridir.
Filtre giriş çıkışı ilişkisi aşağıdaki eşitlik ile gösterilebilir.
yn=xn-1
y0 = x-1 ‘dir. x-1 sinyali tanımlı değildir, bu sebeple tanımlı olmayan x -1 anı 0 alınabilir. Bu
duruma oldukça sıkça rastlanır.
(4) İki–Terim Farkı Filtresi: t = n anındaki çıkış değeri, xn girişi ve bir önceki xn-1 girişi
arasındaki farka eşittir. Filtre giriş çıkışı ilişkisi aşağıdaki eşitlik ile gösterilebilir.
yn=xn-xn-1
Bu filtrenin analog türev alıcı devresine benzer etkiye sahiptir.
(5) İki–Terim Ortalama Filtresi: Çıkış o anki ve bir önceki girişin aritmetik ortalamasıdır.
Filtre giriş çıkışı arasındaki ilişki aşağıdaki eşitlik ile gösterilebilir.
𝑥𝑛 + 𝑥𝑛−1
𝑦𝑛 =
2
Yukarıdaki eşitlik ile ifade edilen sistem sinyalin yüksek frekanslı değişimlerini yumuşatarak
basit bir alçak geçiren süzgeç işlevi görmektedir.
(6) Üç–Terimin Ortalaması Filtre: Bir önceki örneğe benzemektedir, çıkış değerini bulmak
için filtre o anki ve önceki iki girişin ortalamasını alır. Filtre giriş çıkışı arasındaki ilişki
aşağıdaki eşitlik ile gösterilebilir. 13nnnn
𝑥𝑛 + 𝑥𝑛−1 + 𝑥𝑛−2
𝑦𝑛 =
3
y0 çıkış değerini bulmak için gerekli olan, ancak tanımlı olmayan x -1 ve x-2 giriş değerleri sıfır
alınır.
(7) Merkezi Fark Filtresi: Bu filtre İki–Terim Farkı filtresine benzemektedir. Çıkış o anki giriş
değeri ve iki örnekleme anı öncesindeki giriş değerinin farkının yarısına eşittir. Filtre giriş
çıkışı ilişkisi aşağıdaki eşitlik ile gösterilebilir.
𝑥𝑛 − 𝑥𝑛−2
𝑦𝑛 =
2
Bir Sayısal Filtrenin Derecesi
Bir sayısal filtrenin derecesi, çıkışı hesaplamak için kullanılan önceki girişlerin veya eğer
kullanılıyorsa (işlemci hafızasında saklanan) önceki çıkış değerlerinin sayısıdır.
- yn, sadece xn giriş değerine bağlı olduğudan örnek (1) ve (2) sıfırıncı derecelidir.
- yn çıkışı için xn-1 girişi gerekli olduğundan örnek (3), (4) ve (5) birinci-derecelidir.
- yn çıkışı için xn-1 ve xn-2 girişi gerekli olduğundan örnek (6) ve (7) ikinci-derecelidir.
Derecesi belli olmayan filtreler de benzer şekilde ifade edilebilir. Yukarıdaki ifadelerdeki b0,
b1, b2, sabitleri filtre karakteristiğini belirler ve FIR sistemler için filtre katsayıları olarak
adlandırılırlar.
Eğer fark denkleminde çıkıştan geri besleme alınmış olsa AR sistem için
Sıfırıncı derece a0yn=b0xn
Birinci derece a0yn+a1yn-1=b0xn
İkinci derece a0yn+a1yn-1+a2yn-2=b0xn
Eşitliği kullanılmaktadır.
Tablo 1 örneklerdeki filtrelerin katsayılarını göstermektedir.
𝑦𝑛 = ∑ 𝑏𝑘 𝑥[𝑛 − 𝑘]
𝑖=0
Özyineli filtre ise, giriş değerlerine ek olarak önceki çıkış değerlerini de kullanan bir filtredir.
Çıkışın geçmişteki değerleri girişin geçmişteki değerleri gibi işlemci belleğinde saklanır.
Özyineli kelimesi yn çıkış değeri bulunurken geçmişte hesaplanmış çıkış değerlerinin
kullanıldığını ifade eder. Özyineli filtre gösterilimi, sadece giriş terimlerinin şuandaki ve
geçmişteki değerlerini değil, çıkışın şuandaki ve geçmişteki değerlerini de içerir. Aşağdaki
fark denklemi ile gösterilmektedir.
𝑁 𝑀
∑ 𝑏𝑘 𝑦[𝑛 − 𝑘] = ∑ 𝑏𝑘 𝑥[𝑛 − 𝑘]
𝑘=0 𝑘=0
Bir filtre frekans yanıtı karakteristiği özyineli filtre kullanılarak eşdeğer bir özyinesiz filtreden
daha düşük derece ile gerçekleyebilir.
Özyinesiz filtreler FIR, özyineli filtreler ise IIR süzgeçler olarak bilinirler. FIR ve IIR
terimleri süzgeçlerin farklı dürtü yanıtları olduğunu gösterir. FIR filtre sonlu uzunluklu dürtü
yanıtına sahipken, IIR filtrenin dürtü yanıtı teorik olarak sonsuza kadar devam eder; çünkü
özyineli terimler (çıkışın önceki değerleri) filtre girişindeki değerlerden elde edilir ve süreç
aynı şekilde devam eder. IIR terimi pratikte doğru değildir, çünkü IIR süzgeçlerin hemen
hemen tümünün dürtü yanıtları sonlu sürede sıfır olur.
Özyineli Filtre Örneği:
Aşağıdaki eşitlik özyineli süzgece bir örnektir.
𝑦𝑛 + 0.2𝑦𝑛−1 = 𝑥𝑛
yn çıkış değeri, xn giriş değeri ve yn-1 çıkışın geçmişteki değerinin 0.2 ile çarpılarak farkının
alınması ile elde edilir. (y−1, x−1’e benzer şekilde) tanımsız ise genellikle sıfır alınır. Yani
sistem başlangıç şartları sıfır kabul edilir.
İfadesi elde edilmektedir ve frekans analizi için kullanılmaktadır. Eşitliktende görüldüğü gibi
birim geciktirme işlemi Z düzleminde Z-1 ile çarpıma karşılık gelmektedir. Sayısal bir filtrenin
transfer fonksiyonu (Aktarım işlevi) H(z) aşağıdaki eşitlikle elde edilmektedir.
𝑌(𝑧) ∑𝑀
𝑘=0 𝑏𝑘 𝑧
−𝑘
𝐻(𝑧) = = 𝑁
𝑋(𝑧) ∑𝑘=0 𝑎𝑘 𝑧 −𝑘
Örneğin ikinci dereceden bir filtrenin transfer fonksiyonu aşağıdaki gibi verilmektedir.
𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2
𝐻(𝑧) =
𝑎0 + 𝑎1 𝑧 −1 + 𝑎2 𝑧 −2
Özyinesiz FIR filtreler hiçbir payda terimi içermeyen aşağıdaki basit transfer fonksiyonuna
sahiptir. a0 katsayısı genellikle 1’e eşit alınır ve bütün diğer ak katsayıları sıfırdır.
𝐻(𝑧) = 𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2
𝑀−1
𝑗𝑤 −𝑗𝑤 −𝑗𝑤(𝑀−1)
𝐻(𝑒 ) = 𝑏0 + 𝑏1 𝑒 + ⋯ + 𝑏𝑀−1 𝑒 = ∑ 𝑏𝑘 𝑒 −𝑗𝑤𝑘
𝑘=0
Sonlu dürtü yanıtlı filtre tasarımı için Fourier Serisi, Frekans Örnekleme ve Pencere
Fonksiyonu Kullanımı gibi birçok yöntem kullanılmaktadır.
İdeal olmayan bir filtre parametreleri aşağıdaki şekilde görülmektedir.
Bu şekle göre [0-wp ] geçirme bandı frekansı değeridir, 𝛿1 geçirme bandındaki ripple değeri,
[ws-π] durudurma bandı frekans aralığı, [wp-ws] geçiş bandı frekans aralığıdır. Pratik filtreler
şekilde gösterildiği gibi geçirme bandı ( pass band ) geçiş bandı (transition band) ve söndürme
bandından (stop band ) oluşur. Pratik filtrelerin frekans yanıtında geçirme bandı ile söndürme
bandı arasında bir geçiş bandı bulunmaktadır. Pratikte geçirme ve söndürme bandında düz bir
frekans yanıtının elde edilmesi zor olduğundan hafif salınımlara müsaade edilmektedir.
Geçirme bandı wp ile gösterilen kesim frekansı ile tanımlanmaktadır. Filtrenin bu frekanstan
düşük frekansları geçirdiği kabul edilmektedir. Söndürme bandı ws ile gösterilen söndürme
frekansı ile tanımlanmaktadır.
Bu frekanstan büyük frekanslar bastırılmaktadır. Geçirme ile söndürme bandı arasındaki
bölge geçiş bandıdır.
Doğrusal zamanla değişmez bir sistemin frekans yanıtı 𝐻(𝑒𝑗w) ile gösterilirse çıkışın frekans
spektrumu Y(𝑒𝑗w) girişin frekans spektrumu X(𝑒𝑗w) ile sistemin frekans yanıtının 𝐻(𝑒𝑗w)
çarpımıdır. Genlik ve faz spektrumları ele alındığında
Grup gecikmesi toplam işaretin her frekansta maruz kaldığı ortalama gecikme miktarını
göstermektedir. Doğrusal faz cevabı olan sistem içi grup gecikmesi sabittir.
Faz gecikmesi işaretin her frekans bileşeninin maruz kaldığı gecikme miktarını gösterir.
a ve b sabit olmak üzere ∠𝐻(𝑒𝑗Ω)=−aΩ olan sistem sabit grup ve faz gecikmesine sahiptir.
Grup gecikmesi sabit olduğu için sistem işarette yalnızca gecikmeye sebep olur. Faz cevabı
∠𝐻(𝑒𝑗Ω)=b−aΩ olan sistem yalnızca sabit grup gecikmesine sabittir.
Frekans yanıtı Hd(ejω) (ωc < π band genişliğinde) ωc kesim frekansı ve α gecikme olmak
üzere şu şekildedir.
Hd(ejω) nın ters Fourier dönüşümünü alınırsa süzgecin dürtü yanıtı bulunur.
hd[n]α ile simetriktir, bu sebeple ideal filtrenin pencerelenmesiyle elde edilecek sonlu dürtü
yanıtlı süzgeç doğrusal fazlı olacaktır. M uzunluklu nedensel ve doğrusal fazlı sonlu dürtü
yanıtlı süzgecini bulabilmek için aşağıdaki eşitliğin kullanımı gereklidir. Bu işleme
‘pencereleme’ denir ve şu şekilde gösterilir.
H(ejω) nedensel sonlu dürtü yanıtlı süzgeç yanıtı, Hd(ejω) ve W(ejω) pencere yanıtının frekans
domeninde dairesel konvolüsyonu (evrişimi) sonucu elde edilir.
(1) W(n) pencere fonksiyonu sınırlı M uzunluğuna sahip olduğundan, frekans domeni ifadesi
tepe yapan ana loba ve daha küçük yükseklikli yan loblara sahip olur.
(2) Ana lob, H(ejω)’daki geçirme band genişliğinin ortaya çıkmasını sağlar. Ana lobun büyük
olması ile geçirme band genişliği de büyük olur.
(3) Yan loblar geçirme ve söndürme bandında birbirine benzer biçimleri olan dalgalanmalar
(ripples) ortaya çıkmasına sebep olur.
MATLAB’te pencere işlevi ile sonlu dürtü yanıtlı süzgeç tasarlayan fir1 adlı komut vardır.
Ayrıca, sayısal süzgeçlerin frekans bölgesindeki genlik ve faz yanıtlarını gösteren freqz
komutu da vardır. Aşağıda freqz komutu kullanılarak freqz_m adlı fonksiyon elde
edilmektedir. Bu fonksiyon (bağıl dB ölçeği ile) mutlak ölçekte genlik yanıtını hesaplar.
Örnek:
Aşağıdaki özellikleri sağlayan uygun bir pencere fonksiyonu seçerek alçak geçiren bir filtre
tasarlayınız. Bu filtrenin zaman domenindeki birim dürtü yanıtını ve frekans yanıtını (genlik
ve faz yanıtı olmak üzere) çizdiriniz.
ωp = 0.2 π, Rp = 0.25 dB
ωs = 0.3 π, As = 50 dB
wp = 0.2*pi;
ws = 0.3*pi;tr_width = ws - wp;
M = ceil(6.6*pi / tr_width) + 1 %tabloyu kullanarak
olması gereken süzgeç derecesi bulunur.
n = [0 : 1 : M-1];wc = ( ws+wp ) / 2 % ideal alçak
geciren süzgeç kesim frekansı
hd = ideal_lp(wc, M); % ideal alçak geçiren süzgeç
w_ham = (hamming(M))'; %hamming penceresi
h = hd .* w_ham;[db,mag,w] = freqz_m(h,[1]); %FIR
süzgeç tasarladığımız için [1] katsayısını
%kullanırız
delta_w = 2 * pi / 1000;Rp1 = -
(min(db(1:1:wp/delta_w+1))) % ana iletim bandı
dalgalanması
Rp2 = (max(db(1:1:wp/delta_w+1)))
As = -round(max(db(ws/delta_w+1:1:501))) % min
durdurma bandı zayıflatması
subplot(3,1,1); stem(n,hd); title('İdeal birim dürtü
yanıtı')
axis([0 M-1 -0.1 0.3]); xlabel('n');ylabel('hd(n)')
subplot(3,1,2);stem(n,w_ham); title('hamming
penceresi')
axis([0 M-1 0 1.1]); xlabel('n');
ylabel('w(n)')
subplot(3,1,3); stem(n,h); title('Tasarlanan süzgecin
birim dürtü yanıtı')
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)')
figure,
freqz(h,[1])
title('Tasarlanan alçak geçiren süzgecin genlik ve
faz yanıtı')
İdeal birim dürtü yanıtı
0.2
hd(n)
0.1
0
-0.1
0 10 20 30 40 50 60
n
hamming penceresi
1
w(n)
0.5
0
0 10 20 30 40 50 60
n
Tasarlanan süzgecin birim dürtü yanıtı
0.2
h(n)
0.1
0
-0.1
0 10 20 30 40 50 60
n
-50
-100
-150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)
0
Phase (degrees)
-500
-1000
-1500
-2000
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)
Örnek2.
48. derece sonlu dürtü yanıtlı 0.35 < ω < 0.65 frekansları arasında geçirme bandına sahip olan
bir filtre tasarlayınız?
b = fir1(48,[0.35 0.65]);
freqz(b,1,512)