Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

BİYOMEDİKAL SİNYAL İŞLEME DERSİ 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.

Sayısal Süzgeç Katsayıları


Yukarıda verilen sayısal filtre örneklerinin tamamı aşağıdaki gibi ifade edilebilir:
Sıfırıncı derece yn=b0xn
Birinci derece yn=b0xn+ b1xn-1
İkinci derece yn=b0xn+ b1xn-1+ b2xn-2

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.

Özyineli (Recursive) ve Özyinesiz (Non recursive) Filtreler


Çıkış yn değeri, girişin o anki xn ve xn-1, xn-2, xn-3, önceki değerlerinden elde edilebilen bir
filtre özyinesiz sayısal filtre denir. Fark denklemi aşağıdaki gibi gösterilmektedir.
𝑀

𝑦𝑛 = ∑ 𝑏𝑘 𝑥[𝑛 − 𝑘]
𝑖=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.

Özyineli (IIR) Sayısal Filtrenin Derecesi


Bir sayısal filtrenin derecesi, bir çıkış değerini elde etmek için kullanılması gerekli olan
geçmişteki giriş ve çıkış değerlerinin sayısı olarak tanımlanmıştı. Bu tanım o anki çıkış
değerini hesaplamak için sadece o anki ve önceki girişleri kullanan özyinesiz (FIR) filtreler
için uygundur. Özyineli filtrenin derecesi ise, farklı olarak, o anki çıkışı hesaplamak için
gerekli olan önceki girişlerin ya da çıkış değerlerinin en büyük sayısıdır. Bu tanım hem FIR
hem de IIR filtreler için geçerli olabilir. Örneğin 𝑦𝑛 + 0.2𝑦𝑛−1 = 𝑥𝑛 eşitliğinde verilen
özyineli filtre birinci derece bir filtre olarak sınıflandırılır, çünkü önceki giriş değerlerine
ihtiyaç duyulmamasına rağmen bir önceki çıkış değerini yn-1 kullanır.
Uygulamada, özyineli filtreler genellikle eşit sayıda önceki giriş ve çıkış değerlerine ihtiyaç
duyarlar. Böylece, ikinci dereceden özyineli fltre önceki iki girişi (xn−1 ve xn−2) ve önceki iki
çıkışı (yn−1 ve yn−2) içerirken, birinci dereceden özyineli filtreler de önceki giriş xn−1 ile çıkış
yn−1 değerlerini kullanırlar. Özyineli (IIR) bir filtrenin en az birinci dereceden olması gerektiği
görülür, sıfırıncı dereceden özyineli bir filtre tasarımı ise olanaksızdır.
Özyineli (IIR) Sayısal Süzgeç Katsayıları
Birinci dereceden özyineli bir filtre aşağıdaki eşitlikte gösterilebilir.
𝑎0 𝑦𝑛 + 𝑎1 𝑦𝑛−1 = 𝑏0 𝑥𝑛 + 𝑏1 𝑥𝑛−1
𝑏0 𝑥𝑛 + 𝑏1 𝑥𝑛−1 − 𝑎1 𝑦𝑛−1
𝑦𝑛 =
𝑎0
İkinci dereceden bir süzgeç ise aşağıdaki eşitlikte gösterilmiştir.
𝑎0 𝑦𝑛 + 𝑎1 𝑦𝑛−1 + 𝑎2 𝑦𝑛−2 = 𝑏0 𝑥𝑛 + 𝑏1 𝑥𝑛−1 + 𝑏2 𝑥𝑛−2
𝑏0 𝑥𝑛 + 𝑏1 𝑥𝑛−1 + 𝑏2 𝑥𝑛−2 − 𝑎1 𝑦𝑛−1 − 𝑎2 𝑦𝑛−2
𝑦𝑛 =
𝑎0
Sayısal Filtrelerde Z dönüşümü ve Transfer fonksiyonları
Yukarıda bahsedilen LTI bir sistemin giriş çıkışını tanımlayan ve sayısal filtrelerde kullanılan
fark denkleminin Z dönüşümü alınırsa;
𝑁 𝑀
−𝑘
∑ 𝑏𝑘 𝑧 𝑦(𝑧) = ∑ 𝑏𝑘 𝑧 −𝑘 𝑥(𝑧)
𝑘=0 𝑘=0

İ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

Sonlu Dürtü Yanıtlı Süzgeçler (FIR)


Sonlu dürtü yanıtlı filtreler (Finite Impulse Response) sınırlı uzunluklu olan dürtü yanıtlarına
sahiptir. FIR filtre girişi ve çıkışı arasında ilişki aşağıdaki eşitlik ile gösterilebilir.
𝑀−1

𝑦𝑛 = 𝑏0 𝑥𝑛 + 𝑏𝑥𝑛−1 +. . . + 𝑏𝑀−1 𝑥𝑛−𝑀+1 = ∑ 𝑏𝑘 𝑥[𝑛 − 𝑘]


𝑘=0

FIR filtrelerin transfer fonksiyonu ise;


𝑀−1
−1 −𝑀+1
𝐻(𝑧) = 𝑏0 + 𝑏1 𝑧 + ⋯ + 𝑏𝑀−1 𝑧 = ∑ 𝑏𝑘 𝑧 −𝑘
𝑘=0

Olarak ifade edilmektedir. Frekans yanıtı ise transfer fonksiyonunda 𝑧 = 𝑒 𝑗𝑤 eşitliği


kullanılırsa aşağıdaki gibi elde edilmektedir.

𝑀−1
𝑗𝑤 −𝑗𝑤 −𝑗𝑤(𝑀−1)
𝐻(𝑒 ) = 𝑏0 + 𝑏1 𝑒 + ⋯ + 𝑏𝑀−1 𝑒 = ∑ 𝑏𝑘 𝑒 −𝑗𝑤𝑘
𝑘=0

Aşağıdaki şekilde bir FIR filtre yapısı görülmektedir.

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

olarak elde edilmektedir.


Sistem işaretin genliğinde veya fazında istenmeyen değişimlere genlik bozunumu ve faz
bozunumu denir. Filtrenin genel amacı bazı frekansların bastırılması olduğu için tasarımda
genlik cevabı dikkate alınır. Filtrenin genlik yanıtının birim genlik civarında olduğu frekans
bileşenleri aynen geçirilirken genlik cevabının küçük olduğu frekans bileşenleri
bastırılmaktadır. Sistemin sıfır faz cevabına sahip olması istenmektedir. Bu durum pratikte
mümkün olmadığı için doğrusal faz cevabı tercih edilmektedir.
•İşaretin şeklinde bozulma meydana gelmemesi için ayrık zamanlı filtreler dahil tüm ayrık
zamanlı sistemlerin doğrusal faz cevabının olması istenir. Yalnızca işaretin fazında belirli
değişikliğe sebep olması istenen sistemler hariç.
Filtrelerde faz cevabının süzgecin geçirme bandı boyunca doğrusal olması yeterlidir. Süzgecin
söndürme bandındaki frekansları bastırdığı düşünülürse bu banttaki faz yanıtının biçimi ihmal
edilebilir.
Faz cevabını doğrusallığı grup gecikmesi ile belirlenebilir.

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.

Pencere Fonksiyonu ile FIR Filtre Tasarım Yöntemi


Fourier dönüşümü alınacak olan işaretin başında ve sonundaki süreksizliklerin bastırılması
için kullanılan yöntemdir. Bu yöntemde ilk olarak nedensel olmayan sonsuz dürtü yanıtlı
uygun bir ideal frekans seçici filtre karakteristiği belirlenir, daha sonra doğrusal fazlı ve
nedensel sonlu dürtü yanıtlı bir filtre bulunabilmesi için başlangıçta seçilen filtrenin birim
dürtü yanıtı pencerelenir. Dolayısıyla, bu yöntemde uygun bir pencereleme işlevi ve ideal bir
filtre seçilmesi önemlidir. İdeal filtre, geçirme bandında birim genlik kazancı ve doğrusal faz
karakteristiği, durdurma bandında ise sıfır genlik kazancı olan bir filtredir. FIR filtrenin en
kullanışlı özelliklerinden biri de doğrusal fazı garantilemesidir. Doğrusal faz özelliği faz
bozunumlarının önemli olduğu ses analizi gibi uygulamalarda oldukça faydalıdır. Örneğin,
doğrusal fazla, sinüzoidal giriş bileşenlerinin tamamı aynı miktarda geciktirilir. Aksi takdirde,
harmonik bozunum oluşur. Doğrusal fazlı filtreler FIR filtrelerdir ancak, tüm FIR filtreler
doğrusal fazlı değildir. Gecikmeli bir giriş örneği x(n-k)’nın Fourier dönüşümü, fazı Ө=-wkT
yani w’nun doğrusal bir fonksiyonu
olan e-jwkX(jw)’dır. Fazın türevi olarak tanımlanan grup gecikme fonksiyonunun bir sabit
olduğuna ya da dӨ/dw=-k olduğuna dikkat edilmelidir.

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.

Burada W(n) pencere fonksiyonu olup aşağıdaki gibi ifade edilir.


Farklı özelliklere sahip olan bir filtre tasarlamak için değişik W(n) pencereleme fonksiyonları
kullanılmalıdır. Aşağıda “dikdörtgen pencere” pencere fonksiyonuna örnek görülmektedir.

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.

Bu işlem aşağıdaki şekilde gösterilmektedir

(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.

Pencereleme yönteminde farklı özellikleri olan çeşitli pencereler kullanılabilir: Dikdörtgen


pencere, Bartlett (üçgen) penceresi, Hanning penceresi, Hamming penceresi, Blackman
penceresi ve Kaiser penceresi gibi. Aşağıdaki tabloda bazı pencere fonksiyonlarının
özellikleri verilmektedir.

Bu pencere işlevlerini MATLAB yardımıyla oluşturmak için gerekli kodlar:


M noktalı dikdörtgen pencere işlevi üretmek için; “boxcar(M)”, diğer pencereleme
fonksiyonları kullanımı: Bartlett “triang(M)”, Hanning “hanning(M)”, Hamming
“hamming(M)”, Blackman “blackman(M) ” ve beta değerli M noktalı dikdörtgen “kaiser(M,
beta) ”
MATLAB pencereleme fonksiyonları kullanılarak pencereleme yöntemi ile sonlu uzunluklu
dürtü yanıtı olan filtreler tasarlanabilir. Sonlu uzunluklu dürtü yanıtlı filtre tasarlanırken ideal
alçak geçiren birim dürtü yanıtlı hd[n] kullanılacağı için hd[n] ifadesinin de elde edilmesi
gerekir. Aşağıdaki kod ile elde edilebilir.

function hd = ideal_lp(wc, M);


% Ideal alçak geçiren süzgeç hesaplaması
%------------------------------------------------
% [hd] = ideal_lp(wc, M)
% hd = 0 ile M-1 arasındaki ideal birim dürtü yanıtı
% wc = radyan cinsinden kesim frekansı
% M = ideal süzgecin uzunluğu
alpha = (M-1) / 2;
n = [0 : 1 : (M-1)];
m = n - alpha + eps; % sıfıra bölme hatasını önlemek
için en küçük sayıyı ekler
hd = sin(wc*m) ./ (pi*m);

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.

function [dB, mag, w] = freqz_m(b, a);


% freqz komutunun değiştirilmişali ----------
h% [db, mag, w] = freqz_m(b, a);
% db = 0 – pi radyan arasında hesaplanmış dB
cinsinden bağıl genlik
% mag = 0 – pi radyan arasında hesaplanmış mutlak
genlik
% w = 0 – pi radyan arasında 501 frekans örneği
% b = H(z) nin pay polinomu (FIR icin b = h)
% a = H(z) nin payda polinomu (FIR icin a = [1])
% [H,W] = FREQZ(B,A,N,'whole') %Matlab help: uses N
points around the whole unit circle.-----
[H,w] = freqz(b, a, 1000, 'whole');
H = (H(1:1:501))'; w = (w(1:1:501))';
mag = abs(H);
db = 20*log10((mag+eps)/max(mag));

Ö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

Hamming ve Blackman pencereleri söndürme bandında 50 dB’den daha fazla zayıflatma


sağlar. Daha küçük geçiş bandı ve dolayısıyla daha küçük dereceye sahip olan hamming
penceresini seçebiliriz. Rp = 0.25 dB geçirme bandı dalgalanma değerini kullanmamamıza
rağmen tasarladığımız süzgecin ana dalgalanma değeri kontrol edilmelidir. Böylece istenilen
toleransın da sağlandığı doğrulanır. Tasarım adımları aşağıdaki MATLAB kodunda
görülebilir.

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

Tasarlanan alçak geçiren süzgecin genlik ve faz yanıtı


50
Magnitude (dB)

-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)

“ fir1 ” MATLAB komutu ile sayısal filtre tasarlanması


fir1 MATLAB komutu, pencere işlevi kullanım yöntemi ile doğrusal fazlı sayısal filtre
tasarımını sağlar. Bu komut ile alçak geçiren, yüksek geçiren, band geçiren ve band durduran
filre tasarlanabilir. En basit halinde filtrenin geçirme bandının merkez frekansındaki genlik
yanıtı 0 dB’dir.
Komutun kullanım örnekleri:
b = fir1(n, ωn); n-inci dereceden alçak geçiren sonlu dürtü yanıtlı filtrenin n + 1 adet
katsayısını döndürür. fir1 komutu bu örnekte Hamming penceresi kullanır ve 0 – π arasında
değerler alan ωn kesim frekansına sahiptir.
b = fir1(n, ωn); komutundaki ωn iki elemanlı bir vektör ise, fir1 komutu ω1 < ω < ω2 arası
geçirme bandı olan band geçiren filtre katsayılarını döndürür.
b = fir1(n, ωn, ‘ftype’); komutu filtre tipini tanımlar:
- ‘high’; kesim frekansı ωn olan yüksek geçiren filtre için
- ‘stop’; band söndüren filtre için (ωn = [ω1, ω2] ise band söndürme frekans aralığıdır).
b = fir1(n, ωn, window); komutu istenen pencere fonksiyonunu kullanarak alçak geçiren filtre
katsayılarını döndürür.
b = fir1(n, ωn, ’ftype’, window); komutu istenen pencere fonksiyonunu ve filtre türünü kabul
eder.

Ö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)

You might also like