# AYRIK ZAMANLI ISARETLER VE SISTEMLER

Document Sample

```					ÖNSÖZ ................................................................................................................... 2

BÖLÜM 2 AYRIK ZAMANLI İŞARETLER VE SİSTEMLER .................... 3
2.1 İŞARETLERİN SINIFLANDIRILMASI ................................................................. 3
2.1.1 İŞARETİN BOYUTU ...................................................................................... 3
2.1.3 ANALOG İŞARETLER ................................................................................... 4
2.1.4 SAYISAL İŞARETLER ................................................................................... 5
2.1.5 AYRIK ZAMANLI İŞARETLER VE DİZİLER .................................................... 5
2.2 AYRIK ZAMANLI SİSTEMLER VE ÖZELLİKLERİ .............................................. 7
2.2.1 LİNEERLİK .................................................................................................. 7
2.2.2 ZAMANLA DEĞİŞMEMEK ............................................................................ 8
2.2.3 NEDENSELLİK ............................................................................................. 8
2.2.4 KARARLILIK ............................................................................................... 8
BÖLÜM 3 FIR FİLTRE TASARIMI ................................................................ 9
3.1 FİR FİLTRENİN ÖZELLİKLERİ ......................................................................... 9
Recursive olmayan nedensel bir filtrenin transfer fonksiyonu ........................ 9
H(z)=∑ h(n)z -n ........................................................................................... 9
3.2 FIR FİLTRENİN AVANTAJLARI ........................................................................ 9
3.3 MATLAB İLE FIR FİLTRE TASARIMI .............................................................. 10
3.4 MATLAB’DA FİR FİLTRE TASARIMI İÇİN KULLANILAN
KOMUTLAR ....................................................................................................... 10
Bu komutun genel formu [H,F]=freqz(B,A,N,Fs) şeklindedir. Bu komut z
düzleminde sayısal filtrenin frekans cevabını bulmak için kullanılmaktadır. 12
BÖLÜM4               SAYISAL FİLTRELERİN GERÇEKLEŞTİRİLMESİ .......... 13

4.1 SAYISAL FİLTRE YAPILARI VE ÖZELLİKLERİ .............................. 14

4.1.1 EVRİK SİSTEMLER ............................................................................... 15
5.1 DİJİTAL SİSTEMLERİ KAVRAMA ................................................................... 17
5.3 DOĞAL FORM .............................................................................................. 19
5.4 IIR FİLTRELERİN KASKAT KAVRAMI............................................................ 20
5.5.2 BİR ANALOG FİLTREDEN IIR FİLTRENİN TASARIMI .................................. 24
5.5.3 IMPULSE-INVARİANT DÖNÜŞÜM ............................................................... 25
Denklem 5.19................................................................................................. 27
5.6 MATLAB DE IIR FİLTRE TASARLANMASI ......................................... 43
5.6.1. BUTTERWORTH FİLTRE TASARIMI : .......................................................... 43
5.6.2. CHEBYSHAVE TİP I FİLTRE TASARIMI : .................................................... 44
5.6.3. CHEBYSHAVE TİP II FİLTRE TASARIMI : ................................................... 44
5.6.4. ELİPTİK FİLTRE TASARIMI : ...................................................................... 45
5.6.5. YULEWALK (DİREKT DİZAYN) FİLTRE TASARIMI : ................................... 45
6.1 DİKDÖRTGEN METODU :............................................................................... 46
BOXCAR(M): M NOKTALI DİKDÖRTGEN PENCERE OLUŞTURUR. N. DERECEDEN
BİR FİR FİLTRE İÇİN M=N+1 OLMALIDIR. ............................................................ 46

BÖLÜM 7 MATLAB DE TASARLANAN FIR FİLTRE
FONKSİYONLARININ KARŞILAŞTIRILMASI .......................................... 51

1
7.1 FİR1 İLE TASARLANAN FİLTRENİN ÖZELLİKLERİ : ......................................... 51
7.2 FİR2 İLE TASARLANAN FİLTRENİN ÖZELLİKLERİ : ......................................... 51
ŞEKİL 7.2 FİR2 İLE FİLTRE EDİLMİŞ SİNYAL ........................................................ 52
7.3 FİRLS İLE TASARLANAN FİLTRENİN ÖZELLİKLERİ :........................................ 52
7.3 REMEZ İLE TASARLANAN FİLTRENİN ÖZELLİKLERİ : ..................................... 53
BÖLÜM 8 MATLAB DE TASARLANAN IIR FİLTRE
FONKSİYONLARININ KARŞILAŞTIRILMASI .......................................... 53

BÖLÜM 9 MATLAB DE YAZILAN PROJEFİLTRE PROGRAMI ........... 55
9.1 PROGRAMIN KULLANILMASI ......................................................................... 55
ÖZGEÇMİŞ ...................................... ERROR! BOOKMARK NOT DEFINED.63

ÖNSÖZ

Dijital filtreler işaret işlemede ve onun uygulamalarında çok önemli bir yer tutar.
Dijital filtrelerin amacı, elde edilmesi gereken sinyali diğer sinyallerden süzmek
ve sesleri elemektir. Dijital filtreler, farklı ver sonuçların sinyal karakteristiklerini
gösteren katsayılara değiştirmek için uygulandı. Bu bölümde dijital sistemlerin
IIR dijital filtre tasarımlarını anlamaya çalışacağız. Pratikte, dijital filtre
özellikleri, analog filtre özelliklerinden tahmin edilebilir. Dijital filtre frekansı,
birim devre boyunca tasarlanan açı olan radyan frekansı dönemlerinde
açıklanabilir. Dikkat edilmesi gereken birim devredeki Z=-1 noktasının örnek
alınan yarım frekanslardan birine uymasıdır.
Bu çalışmada FIR ve IIR filtreler ve matlab de filtre tasarımları incelenmiştir.
Alanındaki eksikleri gidermesini umuyoruz.

2
Arda ÖZGÜN
e-mail : ardaozgun@usa.net
web : ardaozgun.8m.com
Mehmet ÖNDER
e-mail : m_onder@usa.net
web : mehmetonder.8m.com

BÖLÜM 2 AYRIK ZAMANLI İŞARETLER VE SİSTEMLER

2.1 İşaretlerin Sınıflandırılması
Bu projenin sayısal filtre tasarımı olduğu için öncelikle karşılaştırılan
işaretlerin tanımlarının yapılması doğru olur. Genellikle fiziksel bir sistemin
davranışına ya da durumuna ilişkin bilgi taşıyan her şey işaret olarak tanımlanır.
Bu tarife göre elektrokardiyografi (ekg) konuşma ve telgraf işarete örnek
gösterilebildiği gibi bir ülkedeki işsizlik oranı, bankaların faiz oranları ve uzay
araçlarından yeryüzüne gönderilen görüntüler de işaret olarak kabul edilir.

2.1.1 İşaretin Boyutu
İşaret bir, iki veya N bağımsız değişkenin fonksiyonu olabilir. Örneğin
konuşmalar, bankaların faiz oranları bir bağımsız değişkenin yani zamanın
fonksiyonudur. Bu tür işaretler bir-boyutlu işaretler olarak adlandırılır.
2.1.2 İşaretin Türleri
İşaretlerin zamana göre değişimleri dikkate alınarak iki büyük grupta
toplamak mümkündür.
Sürekli-zamanlı işaret
Ayrık-zamanlı işaret

X(t)                                           X(T)

3
t                                          t

Şekil 2 .1 Sürekli-zaman işaretleri

Şekil 1.1’deki gibi sürekli bir zaman aralığı içinde tanımlama yapılırsa
sürekli-zaman işareti olarak adlandırılır. Örneğin, konuşma,ısı fonksiyonları
sürekli-zamanlı işaretlerdir. Şekil 1.2’deki işaretler zamanın sadece belirli
anlarında tanımlanmış olduklarından ayrık-zamanlı işaretlerdir. Örnek olarak
İstanbul’da kayıt edilen hava sıcaklığı ayrık-zamanlı işaret olmuştur. Ayrık-zaman
aralıkları milisaniye, dakika veya gün olabilir.

X(nT)

T 2T 3T 4T 5T 6T                  nT

Şekil 0-1 .2 Ayrık-zamanlı işaret

2.1.3 Analog İşaretler

Hem zaman hem de genliğe göre sürekli olan işaretler analog işaret olarak
adlandırılır. Klasik devreler ve sistemler teorisinde karşılaştırılan akım ve gerilim
türündeki işaretler analog işaretlerdir. Burada, sürekli-zamanlı işaret sürekli bir
aralık içinde herhangi bir değeri alabilir.

4
2.1.4 Sayısal İşaretler

Ayrık zamanlı işaretin genliği sadece ayrık değerler alabiliyorsa bu işarete
sayısal işaret adı verilir. Telgraf ile gönderilmiş bir mesaj sayısal işaret olabilir.
Alfabe karakterleri, sayılar, nokta ve virgül gibi sembollerden oluşmuştur. Pratikte
bu simgeler çizgiler ve noktalardan veya eşdeğer olarak 1’ler ve 0’lardan
oluşmuştur. Şekil 1.2 de görüldüğü gibi sayısal işaret x(nT)=, n=0,1,2,..... ile
gösterilebilir. Burada T, örnekleme periyodu veya örnekleme aralığı olarak

2.1.5 Ayrık Zamanlı İşaretler ve Diziler

Ayrık-zamanlı işaret x bir dizi sayıda oluşur ve dizinin sayıları Xn,X(n)
veya X(nT) biçiminde gösterilir. X(nT) gösteriminde, n tam bir sayı olup dizinin
sürekli-zamanlı x(t) işaretinin t=nT anlarında örneklenmesinden elde edildiğini
göstermektedir. Dizi sürekli-zamanlı bir örnekleme yoluyla elde edilmediği
durumlar dışında x(n) gösteriminde kullanılacaktır. Matematiksel olarak x
dizisinin n. Elemanı x(n) biçiminde gösterilirken { x(n) }, sonlu veya sonsuz tüm
diziyi gösterir. Ancak, burada genel uygulamaya uygun olarak x(n) hem dizinin
elemanı hem de dizinin tamamı için kullanılacaktır.
Sayısal işaret işlemede bazı önemli dizilere özel adlar ve notasyonlar
verilir. Birim örnek veya impulse dizisi şu şekilde tanımlanır.

1       n = 0 için
&(n) =
0      n ≠ 0 için

&(n) isminden anlaşılacağı üzere analog sistem teorisinde kullanılan dirac
delta fonksiyonuna benze. Ayrık-zamanlı sistem teorisinde önemli rol oynar.
Birim-basamak dizisi;

1     n0 için
u(n) =

5
0         n  0 için

biçiminde tanımlanır. u(n) dizisi birim-örnek dizisiyle ilgilenir.

n

u(n)   =      ∑ &(n)
k = -∞

veya
n

u(n)   =      ∑ &(n-k)
k = -∞

benzer şekilde &(n) dizisi de birim-basamak dizisinden elde edilebilir.
Birim basamak dizisi, üstel, dizi gibi diğer sayısal işaretlerin tanımında da
kullanılabilir.

an               n0 için
n
u(n) = a u(n)
0                n  0 için

2.1.6 Dizinin Ötelenmesi

Diziler üzerindeki en önemli işlem, x(n) dizisinin ötelenme operasyonudur.

y(n) = x(n-n0)

n0 kadar ötelenmiş x(n) dizisi yeni bir dizi oluşturur. Öteleme n0 ‘ ın pozitif olması
durumunda gecikme negatif, negatif olması durumunda ise ilerleme olarak
adlandırılır. Herhangi bir ayrık zamanlı işaret çarpılmış ve ötelenmiş birim örnek
dizilerinin toplamı biçiminde yazılabilir.

6
2.2 Ayrık Zamanlı Sistemler ve Özellikleri

Ayrık-zamanlı sistem, Şekil 1.5’de görüldüğü gibi, x(n) giriş işaretini
(dizisini) yeni çıkış işaretine dönüştüren dönüşüm kurallarıdır. Eğer x(n) ve y(n)
sonlu sayıda genlik değeri alabiliyorsa bu ayrık zamanlı sistem sayısal sistem

x(n)                                                    y(n)
SİSTEM

Şekil 2.3 x(n) girişli ve y(n)çıkışlı ayrık-zamanlı sistem

Sayısal işaret işlemede karşılaşılan sistemlerin çoğunluğu lineer, zamanla
değişmeyen, nedensel, kararlı olan sistem.

2.2.1 Lineerlik

Bir sistemin lineerliği süperpozisyon yada çarpımsallık ve toplamsallık
ilkesiyle tanımlanır. Buna göre, herhangi iki giriş dizisi x1(n) ve x2(n) sırasıyla
y1(n) ve y2(n)
y1(n) = T [x1 (n) ]

y2(n) = T [x2 (n) ]

dizisi üretiyorsa;
ayrıca, a ve b herhangi iki sabit sayı olduğuna göre T[.] sistemin lineer olabilmesi
için gerek ve yeter koşul olarak aşağıdaki koşulu sağlamayan sistemler lineer

7
T[ax1(n)+bx2(n)] = T[ax1(n)]+T[bx2(n)]
= aT[x1(n)]+ bT[x1(n)]
= ay1(n)+ by2(n)

2.2.2 Zamanla Değişmemek
Eğer sayısal bir filtrenin katsayıları zamanla değişmiyorsa filtre zamanla
değişmeyen olarak adlandırılır. Bu, sistem, uygulandığı zamandan bağımsız
olarak belirli bir x(n) giriş dizisi üretiyor demektir.

2.2.3 Nedensellik

Eğer herhangi bir anda sistemin çıkışı sadece o andaki ve geçmişteki
girişlerine bağlıysa o sisteme nedensel sistem denir. Daha açık bir anlatımla
nedensel sistemlerde sistemin çıkışının bulunmasında gelecekteki giriş değerine
ihtiyaç duyulmaz.
Analog sistemlerin gerçekleştirilmesi için nedensellik gerek şarttır. Oysa,
sayısal sistemlerde bellek elemanı kullanımı nedeniyle nedensellik daha az önem
taşır. Örneğin y(n)=T[x(n)]=x(n)+2x(n-1) fark denklemiyle ifade edilen sayısal
filtre nedensel iken y(n)=T[x(n)]=2x(n+1)+x(n)-x(n-1) fark denklemleriyle
gösterilen sayısal filtre n anında (n+1). girişi gerektirdiği için nedensel değildir.

2.2.4 Kararlılık

Sınırlı bir giriş dizisinin sınırlı bir çıkış dizisi ürettiği sistemlere kararlı
sistemler denir. Bu tanım sınırlı-giriş sınırlı-çıkış (SGSÇ) anlamında kararlılığı
ifade eder. Yani, M1 ve M2 sonlu sayılar olduğuna göre

│x(n)│≤ M1               tüm n için

olan herhangi bir giriş dizisine kararlı sistemin cevabı

│y(n)│≤ M2

8
olan bir çıkış dizisi olacaktır.

BÖLÜM 3 FIR FİLTRE TASARIMI

Sonlu impulse cevabı olan “finite-impulse response” FIR filtre olarak
adlandırılır. Her FIR filtrenin iki önemli özelliği vardır. Bunlar;
1) Daima kararlıdır.
2) Sonlu gecikme yardımı ile daima nedensel olması sağlanabilir.

3.1 Fir Filtrenin Özellikleri

Recursive olmayan nedensel bir filtrenin transfer fonksiyonu

n-1

H(z)=∑ h(n)z -n
n=0

3.2 Fır filtrenin Avantajları

Fır filtrenin avantajları şöyle sıralayabiliriz.

1) FIR filtreler tam olarak lineer fazlı ve önceden belirlenmiş genlik
frekans karakteristiğini sağlayacak şekilde kolaylıkla tasarlanabilir. Buna ek
olarak herhangi bir frekans karakteristiğini (hem faz hem de genlik) FIR
filtreler yaklaşık olarak sağlayabilirler.
2) FIR filtreler hem recursive hem de nonrecursive olarak
gerçekleşebilirler. Recursive gerçekleştirmede tarak filtresi ve rezenatör
bankası kullanılır. Nonrecursive gerçekleştirmede ise doğrudan konvülasyon
veya FFT kullanılarak hızlı konvolüsyon yöntemleri kullanılır.

9
3) Nonrecursive olarak gerçekleştirilen bir FIR filtre daima kararlıdır.
daima kararlıdır.
4) IIR filtrelerin gerçekleştirilmesinde doğal olarak kuvantalama ve
yuvarlatma hataları ortaya çıkar. Ancak, FIR filtrelerin nonrecursive
gerçekleştirilmesinde bu hatalar önemsizdir.
5) Keskin kesim frekanslı IIR filtre tasarımında filtre katsayılarından
gelen doğruluk problemi önemlidir. Ancak, aynı özellikle FIR filtre için
katsayı hataları daha az önemlidir.

3.3 Matlab ile Fır filtre Tasarımı
Günümüzde sembolik matematik işlemlerinden tutunda sayısal işaret
işleme gibi pek çok bilimsel alanda Matlab paket programı yaygın biçimde
kullanılmaktadır. Bu filtreleme işlemlerinin Pascal ve C programlama dilleri
kullanmak yerine Matlab ın tercih edilmesinin sebepleri şunlardır;

1) Matlab sayısal filtrelerin tasarlanması ve gerçekleştirilmesi için
hem içsel komutlara hemde işaret işleme modülüne sahiptir;
2) Tasarım çok basit bir biçimde (yalnızca birkaç komutla)
yapılabilmektedir.
3) Gerek gerçek zamanda gerekse kaydedilmiş veriler tasarlanan
filtreye       uygulanarak      çıkış    işareti   alınabilmekte     ve     bunlar
görselleştirilebilmektedir.

Matlab da FIR filtre tasarımı iki biçimde gerçekleştirilebilir : a) Matlab’ın
hazır fonksiyonları kullanılarak, b) FIR filtrenin tasarım formülleri ile
hesaplamalar yaptırılarak.
Biz bu projede matlab ın hazır fonksiyonlarını kullanacağız.

3.4 Matlab’da Fir Filtre Tasarımı İçin Kullanılan Komutlar

3.4.1 Fir1 :

10
B=Fir1(N,Wn) genel biçimine sahip bu komut pencere metodunu
N: filtrenin derecesi,
Wn: Filtrenin kesim frekansı. Değeri 0<Wn<1 arasında değişmektedir. 1
değeri Nyquist frekansına yani örnekleme frekansının yarısına karşı gelmektedir.
Eğer Wn tek elemanlı ise filtre geçirme bandı 0<W<Wn olan alçak geçiren filtre
olmaktadır. Eğer Wn=[W1 W2] şeklinde iki elemanlı bir vektör ise filtre geçirme
bandı W1<W<W2 olan band geçiren filtre olmaktadır. Bu komut ile yüksek
geçiren filtre tasarlamak için komut B=Fir1(N,Wn,’high’) biçimine getirmek
gerekmektedir. Durdurma bandı Wn=[W1 W2] olan bant durduran bir filtre
tasarlamak içinse bu komut B=Fir1(N,[W1 W2],’stop’) şeklinde kullanılmaktadır.

Fir1 komutu aksi belirtilmediği sürece pencere fonksiyonu olarak
Hamming’i kullanmaktadır. Eğer değişik pencere fonksiyonları kullanmak
isteniyorsa        bu       komut         şu        şekilde           kullanılmaktadır:
fonksiyonları ve bunların parametleri aşağıda belirtilmektedir.

3.4.2 Fir2 :

Bu fonksiyon ile FIR filtre tasarımı yapılır ama bu fonksiyon ile istenilen
kesme frekans yanıtı sağlanabilir. Fir1 ile kıyaslama yaparsak, fir2 ile standart
alçakgeçiren, yüksek geçiren, bandgeçiren ve banddurduran tasarlanabilir.
Fir2’nin kullanımı şu şekildedir.

N = 50;
F = [ 0 .4 .5 1 ];
M = [ 1 1 0 0 ];
B = fir2(N,F,M)

Bu şekilde kullanırsak; alçakgeçiren fir filtre tasarlamış oluruz. N ile filtre
derecesini belirtiriz. F ve M ile alçakgeçiren filtrenin karakteristiğini belirtmiş
oluruz. F vektörü, 0 dan 1 geçme durum frekansını belirtir. M vektörü, F’de

11
tasarlanan, kendine özgü değer yanıtının içeriğini tutar. Yani alçakgeçiren,
bandgeçiren, banddurduran, yüksek geçiren filtrenin tanımı M vektöründe yapılır.

3.4.3 Freqz :

Bu komutun genel formu [H,F]=freqz(B,A,N,Fs) şeklindedir. Bu komut z
düzleminde sayısal filtrenin frekans cevabını bulmak için kullanılmaktadır.
Fir filtre için denklemde A(z)=a(0)=1 olmaktadır. Buna göre fir filtrenin
frekans cevabı [H,W]=freqz(B,1,N,Fs) şeklinde hesaplatılabilir. Burada ;
H: N noktalı kompleks frekans vektörünü,
F: N noktalı frekans vektörü,
N: z düzleminde birim çemberin üst yarısının kaç eşit parçaya
bölündüğünü,
B: Pay polinomunun katsayılarını (fir filtrede filtre katsayıları olmaktadır),
Fs: Örnekleme frekansını göstermektedir.

Eğer Fs verilmezse F vektörü değeri 0f arasında değişen bir vektör
(sayısal frekans vektörü) olur.
N’nin verilmediği durumlarda N=512 olarak kabul edilir.

3.4.4 Fils ve remez :

Default modda, arzu edilen filtre tasarlama için firls ve remez
fonksiyonları kullanılır. Aşağıda, bir alçak geçiren örneği var. Bu örnekte radyan
olarak 0-0.4 değerleri 1; 0.5-1 arasında 0 dır. 0.4-0.5 geçiş aralığıdır.
n 20;
f = [0 .4 .5 1];
m = [1 1 0 0];
b = remez(n,f,m)

0.4-0.5 de remez performansında hatasız azalma olur, bu bir geçiş
bölgesidir. Bu geçiş hızlı olursa daha fazla hata olur. Yavaş geçişte ise hata oranı
düşer. Karşılaştırmada en küçük ölçekler için en küçük filtre tasarlanır, benzer bir

12
bb = firls(n,f,m);

ve karşılaştırma onların frekans eğrileriyle yapılır.

[H,w]=freqz(b)
[HH,w]=freqz(bb)
Plot(W/pi,abs(H),W/pi,abs(HH),'- -'), grid

firls filtre; yanıt zamanı olarak ban geçiren ve band durdurmada en iyidir ama
geçiş kenar zamanı (f=0.4 ve 0.5 ) olarak remez daha iyidir.
Remez filtre nin maxsimum hata taşması band geçiren ve band durduran
filtreler için azdır,bu gerçekte de böyledir. Filtre uzunluğu ve kenar biçimi için
mümkün olan en küçük tasarımdır.

3.4.5 Filter Komutu :
Y=Filter(B,A,X) komutu, B ve A vektörleriyle tanımlanmış olan sayısal
filtrenin girişine X vektörüyle belirtilen veri kümesini uygulayarak filtrenin Y
çıkış vektörünü hesaplar. B ve A sırasıyla transfer fonksiyonunun pay ve payda
polinomlarının katsayı vektörleridir. Öyleyse fir filtreler için A=1 olur ve B’de
filtrenin katsayılarını içerir. Bu komut Matlab ın içsel bir komutudur.

BÖLÜM4            SAYISAL FİLTRELERİN
GERÇEKLEŞTİRİLMESİ
Sayısal filtrelerin gerçekleştirilmesi yazılım ve donamın olmak üzere iki
biçimde olabilir. Yazılım yönteminde bir sayısal bilgisayar fitreyi simüle etmekte
kullanılır. Donanımda ise, sayısal filtrenin devre yapısı özel amaçlı bir aygıta
dönüştürülür.
Lineer zamanla değişmeyen nedensel filtreler konvolüsyon toplamı veya
fark denklemi ya da durum denklemleri ile tanımlanabilir. Bunlardan en yaygın
olarak kullanılan konvolüsyon toplamı
n               n

13
y(n)=∑ h(n-m)(m)= ∑ h(m) (n-m)                               (4.1)
m=0                  m=0

veya fark-denklemidir.

y(n)=a0x(n)+ a1x(n-1)+.....+ amx(n-m)- b1Y(n-1)- b2Y(n-2)-.....- bnY(n-N)        (4.2)
bu    denklem       matematiksel      olarak    eşdeğer   olmalarına     karşılık
gerçekleştirmede eşdeğer olmaları zorunlu değildir. Gerçekleştirmede, toplama ve
çarpma işlem sayısı gerekli bellek elemanı miktarı ve sınırlı kelime uzunluğuna
alan duyarlılık gibi faktörler dikkate alınmak zorundadır. Bu nedenle,
denklemlerden biri diğerine tercih edilebilir.

4.1 Sayısal Filtre Yapıları ve Özellikleri
Sayısal      filtrelerin     özel    amaçlı     bir   donanım       kullanılarak
gerçekleştirilmesinde,     devre     elemanları   ve   onların   bağlantıları   transfer
fonksiyonunu belirler. Uygun filtre yapısının seçilmesi işlem miktarında önemli
kazançlar sağlayabilir.

Gerçekleştirmede aşağıdaki yöntemler kullanılarak sağlanabilir:
1) Doğrudan
2) Kanonik
3) Seri
4) Paralel
5) Basamak
6) Lattice

Bu yöntemlerin sentez ve analizleri lineer işaret akış diyagramlarının temel
H(z)=H1(z)+ H2(z)
Olarak bulunur. Seri bağlı sistemin transfer fonksiyonu ise
H(z)=H1(z) H2(z)
Olarak elde edilir.

14
Transfer fonksiyonları E(z), F(z) ve G(z) olan üç filtre elemanı, Şekil
4.1’de görüldüğü gibi geri beslemeli olarak bağlanır ise, tüm sistemin transfer
fonksiyonu

W(n)                                            y(n)
X(n)

E(z)                          +                    F(z)

G(z)

Şekil 4.1 Geri beslemeli ayrık-zamanlı devre yapısı.

E(z)F(z)
H(z) = ———————
1-F(z)G(z)

olarak verilir.

4.1.1 Evrik sistemler
Ayrık- zamanlı bir sistemde tüm dallanma yönleri ters çevrilirse, elde
edilen evrik (tranpoz) sistemin tranpoz fonksiyonu orijinal devrenin aynıdır. Evrik
devrenin giriş ve çıkış sırasıyla, orijinal devrenin çıkış ve girişine karşı
düşmektedir. Orijinal devredeki tüm dal düğümleri, evrik devrede toplam
düğümlere dönüşmektedir. Aynı şekilde, toplam düğümlerde dal düğümü
olmaktadır. Bu durumda Şekil 4.2’de ikinci dereceden bir örnek üzerinde
gösterilmektedir.

x(n)                                a0              y(n)
+                                        +

z-1

15

z-1
-b1                         a1

-b2                           a1

X(n)        a0                                               y(n)
+

z-1

a1                                       -b1
+

z-1

a2                                      -b2

+

Şekil 4.2 İkinci dereceden sayısal filtrenin evriği

BÖLÜM 5 IIR FİLTRE TASARIMI

16
5.1 Dijital Sistemleri Kavrama

Lineer zamanla değişmeyen sistemler, farklı denklem ile sunulabilir.

Denklem 5.1

Resim 5.1

Bu denklemden, z dönüşümlü H(z) tahmin edilebilir.

Denklem 5.2

Z boyutundaki z-1 in Resim 5.1 de gösterilen farklı sinyallerdeki gecikmeye eşit
olduğuna dikkat edilmelidir.
y(n) çıktısı, önceden olan çıktı ve şu anki veya önceden olan örneklerinin
dönemlerinde 5.1 denkleminin açıklanmasıyla bulunabilir.

DENKLEM 5.3

17
Bu kavram tekrarlı kavram olarak bilinmektedir. Bu sistem IIR sistem olarak

5.2 Direkt Formlu IIR Filtrelerini Kavrama

Direkt olarak denklem 5.1 den bulunabilen bu kavrama direkt formlu IIR
filtre kavramı denir.

Denklem 5.1, 5.4 denkleminin bulunduğu yerde a0=1 alınmasıyla yazılabilir.

18
Denklem 5.4

Resim 1.2 N = M olduğu durumdaki denklem 5.1 in direkt formlu kavramı

Direkt formlu kavram farklı denklemlerle zaman boyutunda uygulanabilir.

Resim 1.2 N=M için IIR filtrenin direkt formlu kavramını göstermektedir.

5.3 Doğal Form

M=N için resim 5.3’de gösterilen doğal form farklı sistem denklemlerinin
uygulanmasıyla açıklanabilir.

vi(n) iç durumları, girdi örnekleri, x(n) ve vi(n) iç durumlarının ondan önce gelen
değerleri ve v(n) denkleminden tahmin edilebilir.
v(n) = x(n) – a1v(n-1) – a2v(n-2) - . . . . – aN(n-N)

19
y(n) çıktısı, vi(n) iç durumların önceki ve geçmişteki değerlerinin toplaması
kullanılarak bulunabilir.

y(n) = b0v(n) + b1v(n-1) + . . . . +bNv(n-N)

İç durumlar vi(n) = vn-i, i = 0 , 1 , 2 , 3 . . . , N olarak yazılabilir ve,
vi(n+1) = vi-1(n), i = 1 , 2 , 3 . . . , N ile güncelleştirilebilir.

Resim 5.3 N = M durumu için doğal formlu kavram

IIR filtrelerinin kaskat kavramları onun bileşen ürünlerinin           içinde
denklem 5.4 in bozulmasıyla bulunabilir.
L
H(z)   H l (z)  H1 (z).H 2 (z).... H L (z)
l 1

DENKLEM 5.5

filtrelerin a blok diyagramını çizer.

20
Resim 5.4 kaskat doğal kavramının blok diyagramını göstermektedir.

5.5 IIR Dijital Filtrelerinin Tasarımı

Çoğu    işaret      işleme   uygulamalarında     filtre   özellikleri   frekans
karakteristikleri terimlerinde verilir.

Gerçekte, analog filtre, dijital filtrelere temel alınarak tasarlanmıştır.

Sonradan dijital filtre gerekli dönüşümlerinin kullanılmasıyla tasarlanan analog
filtreden elde edilebilir.

Değişken dönüşüm teknikleri arasında değişmez itiş gücü ve iki doğrusal
dönüşümler çok daha geniş iş alanı bulabilmektedir. Bu bölümde detaylar
tartışıldı.

5.5.1 Filtreleri Tanıtma

21
Sinyalin diğer frekans parçaları bloke edilirken veya azaltılırken filtreleme
için ilk tahrik kesin sinyal frekanslarının üzerinde durulması ihtiyacındadır.

Filtrelerin transfer fonksiyonu H(ejw) genliğinin ve (w) aşamanın terimlerinde
verilebilir.

DENKLEM 5.6

Pratikte ideal filtre kavramı mümkün olmadığından filtre özellikleri resim

5.5’de gösterildiği gibi onların frekans durumlarında elde edilir.Geçişbandı,

stopbandı, bloke durumda iken sinyal frekanslarının geçişine izin verildiği

bölgedir.Geçiş bölgesi, frekans blokları için öncelikli azalımların bir itmesidir.

Resim 5.5’de kesikli çizgiler değişik geçişli filtre için arzu edilen özelliklerdir.

Geçiş bandı bölgesinde kabul edilebilir hatalar   olarak verilir.

1 - 1  H(ejw) 1 - 1  H(ejw)  1 + 1, wwp 1 + 1, wwp
Denklem 5.7

Stopband bölgesinde hata 2 olarak verilir.

Büyüklük karşılığı 2 den daha az bir hata ile yaklaşık olarak sıfır olmalıdır.

H(ejw)  2, w0  w  

22
Denklem 5.8

Pratikte, aşama özellikleri olmaksızın, geçiş ve stopband bölgelerinde filtre
özelliklerinin çoğu elde edilir.

RESİM 5.5 İDEAL VE PRATİKSEL DİJİTAL ALÇAK GEÇİŞ
FİLTRELERİ

Büyük karşılığı geçiş bandında düz olmalıdır. En popüler filtreler, Butterworth,
Chebyshev, inverse Chebyshev, ve oval filtreleri içeren bu bölgede onların düz
karşılığından yararlanılır.

Bazı uygulamalarda her ne kadar biçimi bozulmayan sinyaller arzu edildiğinde
çok önemli olmada bu evrenin karşılığı (w)

Sabit bir genlikle lineer aşama karşılığı ile nitelendirilen filtrenin, giriş sinyalini
zamanını genişletme ve geciktirme yöntemi ile farkına varılır.

Bu aşamanın karşılığı 0 nın sabit olması durumunda denklem 5.9 ile temsil edilir.

(w) = -0w

DENKLEM 5.9

23
Bir filtrenin grup fonksiyon gecikmesi (w), denklem 5.10 olarak bu aşamanın
karşılığında tanımlanabilir.

DENKLEM 5.10

Filtre lineer bir aşamaya sahip ise aşağıdaki denklem oluşur.

(w) = 0

DENKLEM 5.11

5.5.2 Bir Analog Filtreden IIR Filtrenin Tasarımı
IIR filtrelerin tasarımında ortak yaklaşım dijital filtre özelliklerini karşılasın
diye bir analog filtreye dönüşmesidir. Bu impulse-invariant ve iki doğrusal
dönüşüm aralığı ile başarılabilir. Daha sonra analog filtreler Butterworth veya
Chebyshev tasarım formülü temel alınarak tasarlanır. Tasarım işleminden sonra
analog filtre transfer fonksiyonu resim 5.6 de gösterilen arzu edilen dijital filtre
transfer fonksiyonuna dönüştürülür.
Bu dönüşüme göre s düzleminin sanal ekseninin z düzleminin birim çemberi
üzerine haritası çizildi. S düzleminin yalnızca sol yarımında kutupları olan analog
filtreler dijital filtre karakteristiklerinin z düzleminin bir çemberinde kutuplar
gösterdiği farzeder.

RESİM 5.6

24
Genellikle dijital filtre alçak geçiş analog filtre olarak tasarlanır. Dijital özellikler
analog filtre özelliklerine dönüştürülür. Son kavram, dijital boyutun geriye
dönüştürülmesidir. Bu sorun daha ileri detayla daha sonra tartışılacak.

5.5.3 Impulse-Invariant Dönüşüm

Dijital filtre impulse-invariant dönüşüm prosesleri kullanan bir analog
filtreden elde edilir. Bu işlem eşit olarak açılmış aralıklarda analog filtrenin
impulse karşılığı örnek verilmelidir. T nin örnek verilen peryot olduğunda

h(n) = ha(nT)

Denklem 5.12

Analog transfer fonksiyonu farklı kutuplar ile s düzleminde genel forma sahiptir.

DENKLEM 5.13

Denklem 5.13 ün impulse karşılığı, u(t)’nin birim adım fonksiyonu olduğu yerde,

DENKLEM 5.14

Dijital impulse karşılığı, denklem 5.14 den türetilebilir.

Denklem 5.15

25
Dijital filtre sistem fonksiyonu H(z), denklem 5.15 in z dönüşümü alınmasıyla
elde edilir.

Denklem 5.16

Özetle s = sp de analog kutup zp = espT de bir dijital kutup haline dönüştürülebilir.
Böylece, analog filtre kutupları z = esT bağlantısı ile dijital filtre denklemi tasarımı
ile ilgilidir.

Denklem 5.16 da dijital kutup zp = espT ye eşit olması ile s =  + j  olduğu yerde
 (  < 0 ) in negatif değeri için Z = eviT < 1
 = 0 için Z = 1 son olarak
 (  > 0 ) in pozitif değeri için Z = eviT > 1

Dönüşüm temelinde sol el düzleminde (<0) analog filtre kutupları z = 1 birim
çemberi içinde dijital filtre kutuplarına çevrilir. Analog sağ el düzlemi kutupların
(>0) birim çember dışına eşit olarak haritsı çizildi. Ekte (=0) sanal eksen
üzerinde uzanan anolog kutupların birim çember üzerine haritası çizilir.
h(n) in z dönüşümü H(z) denkleminde olduğu gibi ha(t) nin laplace dönüşüm
denklemlerinde olduğu gibi yazılabilir.

Denklem 5.17

z = esT ve w = T olduğu yerde, w dijital frekansı,  ise analog frekansı gösterir.
Eğer analog filtre sınırlandırma bandı ise denklem 5.17 digital filtre fonksiyonu

olur.

26
Denklem 5.18

S boyutundan z boyutuna impulse-invariant dönüşümü resim 5.7 da gösterilmiştir.
S düzleminde 2 / T genişliğinin alanı birim çember içine sistemli bir şekilde
çizilir.

Pratikte örnek verilen T peryodu küçük olursa, w = 0 da filtre kazancı geniştir.
Bu ilişki denklem 5.18 deki 1 / T faktöründe açıkca anlaşılır.

Resim 5.7

Bilineer Dönüşüm

İmpuls-ınvarıant dönüşümüne alternatif , analog filtre fonksiyon [2.6.8.19]den
dijital filtrelerin tasarımında genişce        kabul edilen bılınear   dönüşümüdür.
Dönüşümün bu tipi , sayısal tamamlama dayanılır . Analog sıra yanın türevi (t)
as- verildiğini farzederiz. Her iki alanı tamamlamak için elde etme formülü

Denklem 5.19

Bu ayrılmaz , ikizkenar yamuk kuralını kullanarak basitleştirilebilir .

27
Denklem 5.20

Bu denklem ayrık ortamda verilen sinyal içindir.

Denklem 5.21

Denklem 5.21 hangi analog düzlemdeyse ayrı düzlemlerde verilenlerle yazılırsa;

Denklem 5.22

Aşağıda 5.22 nin z transformu görülmektedir.

Denklem 5.22

Burada ise 5.19 un laplace dönüşümü görülür

Denklem 5.23

Z domeninde verilen 5.22 denklemi ile laplace domeninde verilen 5.23 denklemi
kullanılarak kısaca analog ortamdan dijital ortama geçiş sağlanır.

28
Denklem 5.24

Özetle dijital filtre fonksiyonu H(z) aşağıdaki gibi analog transfer fonksiyonu
H a (s) dan basitce verilebilir.

H(z)  [H a (s)]s ( 2 / T)[(1Z1 ) /(1Z1 )]

Denklem 5.25

Denklem 5.24 dan z değeri türetilebilir.

Denklem 5.26

 > 0 için Z 1 den daha büyüktür ve  < 0 için Z 1 den daha küçüktür. Sonuçta
 = 0 için z = 1 dir. z=ejw kullanılarak aşağıdaki denklemler elde edilir.

.
Denklem 5.25

=0 olduğu zaman bu formüller kullanılır.

29
DENKLEM 5.26

Yukarıdaki denklemlerde  analog frekansı  ise dijital frekansı gösterir

S-Düzlemi               Z-Düzlemi

Resim 5.8 s düzlemi ile z düzlemi arasındaki ilişki

Resim 5.8 analog frekans ile dijital frekans arasındaki geçişi gösterir. Resim 5.9
de doğrusal dönüşüm kullanılarak alçak geçiren analog frekans tepkisinin
dönüşümü gösterilir. Resim 5.9 de analog frekans  ‘i dijital frekans ’i ‘nin bir
fonksyonu gibi hesaplanır.

30
Denklem 5.27

Çift yönlü doğrusal dönüşüm frekans domeninde yüksek frekanslı osilasyon
üretmesine rağmen tercih edilir.

Resim 5.9

5.5.5 Alçak Geçiren Dijital Butterworth Filtresi

Bu kısımda s ve z düzlemleri arasındaki ilişkiler şu şekilde formülüze edilir.

Denklem 5.28

ve z’yi değiştirirsek

bu ilişki analog freakans  ,ve digital frakans  ,arasındaki ilişkiyi verir.

31
Denklem 5.29

Bu formüllerdeki bantdurduran w s ve band geçiren w p aşagıdaki gibi

hesaplanabilir.

Denklem 5.30

Buradaki f sr örnekleme frekansını gösterir. Başlangıçta analog frekans p ve c

denklem 5.30 deki temel dijital frekanslarındaki w p ve w s yi hesaplar.

Denklem 5.31

Burada A 1P , 1P ve  2 P fitrenin katsayılarını gösterir. Bu parametreler şöyle
kullanılır.

32
Denklem 5.32

Bu filtre düzeni toplayıcı H0(z) ise aşağıdaki formülden hesaplanır.

Denklem 5.33

dır.

Bu transfer fonksyonu alçak geçiren filtre için tasarlanmıştır.

Resim 5.10

33
Resim 5.10 Butterworth alçak geçiren filtrenin transfer fonksiyonunun karesel
büyüklüğünü gösterir. Aşağıdaki örnekte ,Alçak geçiren filtre için 10 Khz , bant
geçiren filtre için 1 Khz ,bant durduran filtre için 1,5 Khz lik örnek verilmiştir.
Bant geçiren filtre için kayıp 0,5 db.bant durduran filtre için 10 db.dir. Bunlar
resim 5.10 da gösterilmiştir.

Şu formüller kullanılarak  P ve  s hesaplanabilir.

Aşağıdaki denklemler kullanılarak N hesaplanır.

3-Kesme frekansı  c bulunur.

34
Resim 5.11

4-Dijital frekans fc hesaplanır.

5-Dizayn edilen filtrenin yanıtı aşağıdaki gibidir.

Resim 5.12 butterworth alçak geçiren filtrenin magnetik yanıtını göstermektedir.
N=5’e kadar 2 tane kompleks eşlenik ve 1 tane gerçek düzlem vardır. Bundan
dolayı bileşik transfer fonksiyonu Hz aşağıdaki gibidir.

35
Resim 5.12

p=1 ve  =3/5 ve denklem 5.32 kullanılarak;

p = 2 ve  =4/5 ve denklem 5.32 kullanılarak;

36
Transfer fonksiyonundan sonra;

5.5.6 Yüksek Geçiren Dijital Butterworth Filtresi

Bir yüksek geçiren filtre için çift yönlü doğrusal çevrim;

Denklem 5.34

Burada f sr örnekleme gösterimi ,  ise frekansı gösterir.

Dijital yüksek geçiren filtre parametreleri wp ve ws kullanılarak yüksek geçiren
analog filtre eşdeğerleri p ve s hesaplanabilir.

Denklem 5.35

37
Denklem 5.36

A2p, 3p, 4p parametreleri hesaplanırsa;

Denklem 5.37

N tekse birinci bölümdeki verilenlerle;

Denklem 5.38

A0 ve 20 hesaplanırsa;

Denklem 5.39

38
Resim 5.13

sonuçta 3 dB kesme frekansı fc aşağıdaki gibi yazılır.

Denklem 5.40

z = -z yerdeğişimi ile alçak geçirenden yüksek geçirene çift yönlü doğrusal çevrim
durumunda alçak geçiren ile yüksek geçiren filtre arasında önemli bir fark
oluşmalıdır.

Dijital alçak geçiren filtrenin transfer fonksiyonu aşağıdaki gibi tanımlanır.

Denklem 5.41

39
Resim 5.14

Resim 5.14 butterworth yüksek geçiren fitrenin karesel büyüklük fonksiyonunu
gösterir.

5.5.7 Band Geçiren Dijital Filtre Dizaynı

Band geçiren filtre dizaynı için çift yönlü doğrusal dönüşüm aşağıdaki gibi
tanımlanır.

Denklem 5.42

Alçak geçiren için  = 1, yüksek geçiren için  = -1 ve band geçiren filtre için –1
   1 olarak tanımlanır. Analog filtre denklem parametreleri p ve s

40
 parametresi denklem 5.43 kullanılarak bulunabilir.

Denklem 5.44

Resim 5.15

1s ve us hesaplanırsa;

Denklem 5.45

dır.

Stopband dijital filtre stopband analog filtreye denkleştirilirse s;

Pratikte s 1s ve us arasındaki en küçük değer seçilir.

41
Denklem 5.46

Denklem 5.47

A3p 5p 6p 7p ve 8p yazılırsa;

Denklem 5.48

p = 1, 2, 3, 4, . . . . . . , L. olur.

N tek ise ;

Denklem 5.49

A0, 30 ve 40 hesaplanırsa;

42
Denklem 5.50

Band geçiren filtrenin kaskat transfer fonksiyonu;

5.6 MATLAB DE IIR FİLTRE TASARLANMASI

5.6.1. Butterworth Filtre Tasarımı :

Matlab de butterworth analog ve dijital filtre tasarımı için butter komutu
kullanılır.

[b, a] = butter(n, Wn, ‘ftype’)

Butter komutu alçak geçiren, band geçiren, yüksek geçiren ve band
durduran n. dereceden butterworth filtre tasarlamak için kullanılır. Buradaki n
filtrenin derecesidir. Butter komutu n+1 uzunluğunda olan ve filtre katsayılarını
içeren b (numerator), a (denominator) vektörlerini geri döndürür.

B(z)       b(1) + b(2) z-1 + ..........+b(n-1) z-n
H(z) =           =
A(z)       1 + a(2) z-1 + ...............+ a(n+1)z-n

Wn kesim frekansıdır. Filtre edip alacağımız frekansdır. Wn değeri
normalize edilmelidir. Örneğin programımızdaki gibi 1000 Hz lik bir sinyalde 50
Hz i filtre ederek almak için 1000 Hzn yarısı alınarak 50, 500 e bölünür.
Wn = 50/ 500 = 0.1 olmalıdır. Bu alçak geçiren bir filtre olacaktır ve 50 Hz den
yukarısını geçiremeyecek ve böylece 50 Hz lik sinyali filtre edecektir. 350 Hz i
filtrelemek için 350 / 500 = 0.7 yazılmalıdır. 350 Hz lik frekansı filtrelemek için

43
350 Hz den yukarı frekansları geçiren filtre tasarlamalıyız. Yani yüksek geçiren
filtre tasarlamalıyız. Bunun için [b, a] = butter(N, Wn, ’high’) yazılmalıdır. ‘high’
filtremizin yüksek geçiren bir filtre olduğunu gösterir.

Band geçiren ve band durduran için Wn değeri iki elemanlı bir vektör
olarak verilmelidir. Elemanları geçirilecek veya durdurulacak frekans aralığının
normalize edilmişi olmalıdır. Programımızda bu 200 Hz lik sinyali filtrelemek
için 200 Hz den aşağı ve yukarı frekanslardaki sinyalleri geçirmeyen filtre
tasarlanmıştır. 200 / 500 = 0.4 dür. Filtremize band geçiren aralığı vermek için
Wn = [0.35, 0.45] olarak yazılmıştır. Bu filtre sadece 200 Hz lik sinyali
geçirecektir. Band durduranda 200 Hz dışındaki sinyalleri geçirmek için butter
komutu [b, a] = butter(n, Wn, ‘stop’) şeklinde yazılmalıdır. ‘stop’ filtremizin band
durduran filtre olduğunu göstermektedir.
‘ftype’ filtremizin yüksek geçiren veya band durduran olduğunu
belirtmeye yarar. Alçak geçiren ve band geçiren filtre için Wn değerini ona uygun
vermek yeterlidir.

5.6.2. Chebyshave Tip I Filtre Tasarımı :

Matlab de Chebyshave Tip I filtre tasarımı için cheby1 komutu kullanılır.
n, Wn ve ‘ftype’ ve diğer özellikleri butter gibidir.

[b, a] = cheby1(n, Rp, Wn, ‘ftype’)

Butter dan tek farkı band geçiren dalgalanması olan Rp (desibel bir
değerdir) değerinin olmasıdır. Rp ye hangi değer verileceği bilinmiyorsa başlangıç
değeri 0.5 olarak alınabilir.

5.6.3. Chebyshave Tip II Filtre Tasarımı :

Matlab de Chebyshave Tip II filtre tasarımı için cheby1 komutu kullanılır.
n, Wn ve ‘ftype’ ve diğer özellikleri butter gibidir.

44
[b, a] = cheby2(n, Rs, Wn, ‘ftype’)

Butter dan ve Chebyshave Tip I den tek farkı band durduran dalgalanması
olan Rs değerinin olmasıdır. Rs ye hangi değer verileceği bilinmiyorsa başlangıç
değeri 20 olarak alınabilir.

Programımızda alçak geçiren Chebyshave Tip II için Wn değeri 0.35,
yüksek geçiren Chebyshave Tip II için Wn değeri 0.45 olarak alınmıştır.

5.6.4. Eliptik Filtre Tasarımı :

Matlab de Eliptik filtre tasarımı için ellip komutu kullanılır. n, Wn ve
‘ftype’ ve diğer özellikleri butter gibidir.

[b, a] = ellip(n, Rp, Rs, Wn, ‘ftype’)

Eliptik filtrede band durduran dalgalanma Rs (desibel bir değer) değeri
vardır. Rs ye hangi değer verileceği bilinmiyorsa başlangıç değeri 20 olarak
alınabilir. Ayrıca band geçiren dalgalanması olan Rp (desibel bir değerdir)
değerinin olmasıdır. Rp ye hangi değer verileceği bilinmiyorsa başlangıç değeri
0.5 olarak alınabilir.

5.6.5. Yulewalk (Direkt dizayn) Filtre Tasarımı :

Matlab de Yulewalk filtre tasarımı için yulewalk komutu kullanılır.

[b, a] = yulewalk(n, f, m)

n filtrenin derecesidir. f sinyallerimizi tanımladığımız vektördür. m ise f
ile aynı uzunlukta ve geçmesini istediğimiz sinyalleri belirttiğimiz vektördür.

m=[1 1 0 0], f=[0 0.1 0.2 1]

45
şeklindeki bildirimde filtremiz 0 dan 0.1 e kadar olan sinyalin geçişine izin
verecektir. Dikkat edilirse 0 ve 0.1 e karşılık gelen m değerleri 1 dir, 0.2 ve 1 e
karşılık ise 0 gelmektedir. Bu ifade 0 ve 0.1 ve arası sinyallerin geçiş
yapabileceğini gösterir (değerlerin normalize edilmiş Wn değerleri olduğunu
unutmayın). Filtre bu durumda alçak geçiren filtre görevi görür.

m=[0 1 1 0], f=[0 0.38 0.42 1] şeklindeki bildirimde filtremiz 0.38 ve 0.42
arası sinyallerin geçişine izin verir. Filtremiz bu durumda band geçiren filtre
görevi görür.

m=[0 0 1 1], f=[0 0.6 0.7 1] şeklindeki bildirimde filtremiz 0.7 ve 1 arası
sinyallerin geçişine izin verir. Filtremiz bu durumda yüksek geçiren filtre görevi
görür.

m=[1 0 0 1], f=[0 0.38 0.42 1] şeklindeki bildirimde filtremiz 0.38 ve 0.42
arasındaki sinyalleri geçirmez band durduran filtre görevi görür.

BÖLÜM 6 Pencere Fonksiyonları

6.1 Dikdörtgen Metodu :

Boxcar(M): M noktalı dikdörtgen pencere oluşturur. N. Dereceden bir fir
filtre için M=N+1 olmalıdır.

Şekil 6.1

46
6.2 Hamming metodu:
Hamming(M): M noktalı Hamming penceresi oluşturur.

Şekil 6.2

6.3 Hanning metodu:
Hanning(M): M noktalı Hanning penceresi oluşturur.

47
Şekil 6.3

6.4 Kaiser Metodu :
Kaiser (M,Beta): Beta’ya bağlı olarak M noktalı Kaiser penceresi
oluşturur. Beta genellikle 0<Beta<10 şeklinde değişen bir sayısal değerdir. Beta
kaiser penceresinin yan yollarının yüksekliğini kontrol eder. Beta büyüdükçe yan
lob yüksekliği azalırken ana lob genişliği artmaktadır.

Şekil 6.3
Beta minimum yan lob zayıflaması olarak tanımlanan  ile de ilişkilidir.
Desibel olarak verilen değerine göre beta şöyle değişmektedir:

0.1102(  - 8.7),                             >50
Beta= 0.5842(  - 21) + 0.07886( - 21),           50    21
0,                                            < 21

6.5 Bartlett Metodu :
Barlett(M): M noktalı Barlett penceresi oluşturur.

48
Şekil 6.5
6.6 Blackman metodu :
Blackman(M): M noktalı Blackman penceresi oluşturur.

Şekil 6.6
6.7 Chebyshev metodu :
Chebwin(M,R): Dalgalanma faktörü          R(dB)’ye bağlı olarak M noktalı
Chebyshev penceresi oluşturur. M tek sayı olmak zorundadır. R ise desibel
cinsinden yan lob yüksekliğini ifade eder. Bu pencerede tüm yan lob yüksekliği
aynıdır.
Bu pencerenin özelliği yan lob yüksekliğine bağlı olarak ana lob genişliğini
minimize etmesidir. Bu özellikleri Matlab’da şu programı yazarak görebiliriz:

w=chebwin(101,40) %R=40 dB
plot(t,w) % çizimi aşağıda.

49
ŞEKİL 6.7

6.8 ÜÇGEN METODU :
Triang(M): M noktalı üçgensel pencere oluşturur.

Şekil 6.8

50
BÖLÜM 7 MATLAB DE TASARLANAN FIR FİLTRE
FONKSİYONLARININ KARŞILAŞTIRILMASI

7.1 Fir1 ile tasarlanan filtrenin özellikleri :
Bu fonksiyon ile fir filtre tasarlandığında; filtreleme işlemi yapılan
sinyalde bir faz gecikmesi olmuyor. Filtrelenmiş sinyalin genliği orjinali ile aynı
ama sinyal filtre edildikten sonra çok az bir bozulma olmaktadır.

Şekil 7.1 Fir1 ile fitrelenmiş sinyal

7.2 Fir2 ile tasarlanan filtrenin özellikleri :
Bu fonksiyon ile fir filtre tasarlandığında; filtreleme işlemi yapılan
sinyalde bir yaklaşık olarak bir periyotluk faz gecikmesi oluyor. Filtrelenmiş
sinyalin genliği orjinaline göre çok az bir kayıba uğruyor. Ama fir1 deki gibi

51
Şekil 7.2 Fir2 ile filtre edilmiş sinyal

7.3 Firls ile tasarlanan filtrenin özellikleri :
Bu fonksiyon ile fir filtre tasarlandığında; filtreleme işlemi yapılan
sinyalde bir yaklaşık olarak 1.5 periyotluk faz gecikmesi oluyor. Filtrelenmiş
sinyalin genliğinde kayıp ve bozulma olmuyor.

52
Şekil 7.3 Firls ile filtre edilmiş sinyal

7.3 Remez ile tasarlanan filtrenin özellikleri :
Bu fonksiyon firls fonksiyonu ile aynı özellikleri taşımaktadır.

Şekil 7.3 Remez ile filtre edilmiş sinyal

BÖLÜM 8 MATLAB DE TASARLANAN IIR FİLTRE
FONKSİYONLARININ KARŞILAŞTIRILMASI

Filtre çeşitlerinin karşılaştırılması için kullandığımız programda ikinci
dereceden alçak geçiren filtre dizayn edelim. Elde ettiğimiz pencereler ile
karşılaştırmaları görebiliriz. Pencerelerde mavi bizim karıştırmakta kullandığımız
ve filtre etmek istediğimiz sinyal, Kırmızı renkli sinyal filtre edilmiş
sinyalimizdir. Siyah ise pencerelemede kullandığımız sinyaldir.

53
54
Şekil 8.1

Şekil 8.1 deki pencerelerde de görüldüğü gibi Chebyshev Tip I de
Butterworth a göre daha az gecikme vardır. Filtre edilmiş sinyallerde Tip I in
genliği daha iyidir. Chebyshave Tip II de baozulma Tip I e göre daha fazladır.
Eliptik ve Tip II de diğerlerine bozulma çoktur. Butterworth ve Yulewalk da
diğerlerine göre genlik kaybı vardır.

BÖLÜM 9 MATLAB DE YAZILAN PROJEFİLTRE
PROGRAMI

9.1 Programın kullanılması
Projefiltre programı menülerden oluşmaktadır. Menülerden uygun seçenekleri
seçerek işleminizi yapabilirsiniz. Programın amacı karışık sinyali ve değişik filtre
fonksiyonları ile filtre edilmiş sinyalleri aynı anda pencereler ve bize karşılaştırma
imkanı verir. Değişik FIR ve IIR filtre fonksiyonlarını karşılaştırabileceğimiz gibi
pencereleme tiplerini de karşılaştırabiliriz.
Programda 50Hz lik, 200 HZ lik ve 350 Hz lik sinyaller toplanarak bir karışık
sinyal edilmektedir. Bu karışık sinyalden 50 Hz frekanslı sinyali filtre edebilmek
için Alçak Geçiren, 200 Hz i filtre edebilmek için Band Geçiren, 350 Hz e filtre
edebilmek için Yüksek Geçiren, 50 Hz ve 350 Hz lik sinyallerin toplamı olan
sinyali elde etmek için 200 Hz i durduran Band Durduran filtre tasarlanmıştır.

55
Pencerelerde Mavi renkli sinyal filtre etmek istediğimiz sinyalin orijinal halidir.
Kırmızı renkli sinyal filtre ettiğimiz sinyaldir. Siyah renkli sinyal ise pencereleme
tipinin sinyalidir.
Program alt programlarla yazılmıştır. Karışık sinyal FIR ve IIR fonksiyonları için
bir kez çizilmektedir.
Program:
%projefiltre programı
close all;
clear all;
defa=1; %karışık sinyali bir defa çizilmesini sağlar
%bozuk Sinyal oluşturuluyor.
fs=1000;
t=(0:1/fs:0.1);
bozuk=sin(2*pi*t*50)+sin(2*pi*t*200)+sin(2*pi*t*350);
yz=sin(2*pi*t*50); %50 Hz lik sinyal(görüntülemede kullanılacak)
yk=sin(2*pi*t*200); %200 Hz lik sinyal(görüntülemede kullanılacak)
yr=sin(2*pi*t*350); %350 Hz lik sinyal(görüntülemede kullanılacak)

clc;
sec=menu(' FİLTRE TASARIMLARI ',' 1- FIR filtre tasarımı ',' 2- IIR filtre
tasarımı ',' 3- ÇIKIŞ        ');
switch sec
case 1,projefirsec; %projefirsec programına dallanılır.
case 2,projeiir; %projeiir programına dallanılır.
case 3,disp('Program sonlandırıldı');
end
%projefiltre sonu

%projefirsec programı
clc;
clear tipsec;
tipsec=menu(' Filtre Tipleri ','1- Alçak Geçiren','2- Band Geçiren','3- Yüksek
Geçiren','4- Band Durduran','5- Ana Menü');
switch tipsec
case 1,Wn=.1,gorsin=yz;projefir;
case 2,Wn=[.38 .42],gorsin=yk;projefir;
case 3,Wn=.7,gorsin=yr;projefir;
case 4,Wn=[.38 .42],gorsin=yz+yr;projefir;
case 5,projefiltre;
end
%projefirsec programı sonu

%projefir programı
clc;

56
sec=menu(' FIR Filtre Tasarımları ',' 1- FIR1 filtre tasarımı ',' 2- FIR2 filtre
tasarımı ' ,' 3- FIRLS filtre tasarımı ',' 4- REMEZ filtre tasarımı ');
switch sec
case 1,tasarim_fir1;
case 2,tasarim_fir2;
case 3,tasarim_firls;
case 4,tasarim_remez;
end
%projefir programı sonu

%tasarim_fir1 programı
switch tipsec
case 1,B=fir1(5,Wn);
case 2,B=fir1(5,Wn);
case 3,B=fir1(5,Wn,'high');
case 4,B=fir1(5,Wn,'stop');
end
filtreli=filtfilt(B,1,bozuk);
uzun=length(filtreli);
pencerep;
if defa==1,plot(t,bozuk);title('KARIŞIK SİNYAL'); end
figure;
plot(t,gorsin,t,pentipfiltre,'r',t,x,'black');title('Filtrelenmiş Sinyal');
title('FIR1 ile filtre edilmiş sinyal ( kırmızı ile çizilen )' );
xlabel('Periyod');
ylabel('Tepeden Tepeye Değer');
defa=defa+1;
projefirsec;
%tasarim_fir1 programı sonu

%tasarim_fir2 programı
switch tipsec %f ve m vektörlerine değer veriliyor
case 1,m=[1 1 0 0],f=[0 0.1 0.2 1];gorsin=yz;
case 2,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yk;
case 3,m=[0 0 1 1],f=[0 0.68 0.72 1],gorsin=yr;
case 4,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yz+yr;
end
b=fir2(50,f,m);% 50. dereceden filtreleme
[H,W]=freqz(b);
filtreli=filter(b,1,bozuk); % fir filtreleme yapılıyor
uzun=length(filtreli);
pencerep;
if defa==1,plot(t,bozuk);grid;title('KARIŞIK SİNYAL');end
figure;plot(b,'r');
title('FIR2 fonksiyonu ');
figure;
plot(W/pi,abs(H)); % remez fonksiyonu çizdiriliyor
plot(t,gorsin,t,pentipfiltre,'r',t,x,'black');
title('FIR2 ile filtre edilmiş sinyal ( kırmızı ile çizili )' );

57
xlabel('Periyod');
ylabel('Tepeden Tepeye Değer');
defa=defa+1;
projefirsec;
%tasarim_fir2 programı sonu

%tasarim_firls programı
switch tipsec %f ve m vektörlerine değer veriliyor
case 1,m=[1 1 0 0],f=[0 0.1 0.2 1];gorsin=yz;
case 2,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yk;
case 3,m=[0 0 1 1],f=[0 0.68 0.72 1],gorsin=yr;
case 4,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yz+yr;
end
b=firls(50,f,m);% 50. dereceden filtreleme
[H,W]=freqz(b);
filtreli=filter(b,1,bozuk); % fir filtreleme yapılıyor
uzun=length(filtreli);
pencerep;
if defa==1,plot(t,bozuk);grid;title('KARIŞIK SİNYAL');end
figure;
plot(W/pi,abs(H)); % firls fonksiyonu çizdiriliyor
title('FIRLS fonksiyonu');
figure;
plot(t,gorsin,t,pentipfiltre,'r',t,x,'black');title('Filtrelenmiş Sinyal');
title('FIRLS ile filtre edilmiş sinyal ( kırmızı ile çizili ) ' );
xlabel('Periyod');
ylabel('Tepeden Tepeye Değer');
defa=defa+1;
projefirsec;
%tasarim_firls programı sonu

%tasarim_remez programı
switch tipsec %f ve m vektörlerine değer veriliyor.
case 1,m=[1 1 0 0],f=[0 0.1 0.2 1];gorsin=yz;
case 2,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yk;
case 3,m=[0 0 1 1],f=[0 0.68 0.72 1],gorsin=yr;
case 4,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yz+yr;
end
b=remez(50,f,m);
[H,W]=freqz(b);
filtreli=filter(b,1,bozuk); % fir filtreleme yapılıyor
uzun=length(filtreli);
pencerep;
if defa==1,plot(t,bozuk);grid;title('KARIŞIK SİNYAL'); end
figure;
plot(W/pi,abs(H)); % fonksiyonu çizdiriliyor
title('Remez fonksiyonu');
figure;
plot(t,gorsin,t,pentipfiltre,'r',t,x,'black');

58
title('REMEZ ile filtre edilmiş sinyal ( kırmızı ile çizili )' );
xlabel('Periyod');
ylabel('Tepeden Tepeye Değer');
defa=defa+1;
projefirsec;
%tasarim_remez programı sonu

%projeiir programı
clc;
clear tipsec;
%filtre Tipinin Seçim Menüsü
tipsec=menu(' Filtre Tipleri ','1- Alçak Geçiren','2- Band Geçiren','3- Yüksek
Geçiren','4- Band Durduran','5- Ana Menü ');
if ((tipsec>5)|(tipsec<1)) projeiir;end
switch tipsec
case 1,Wn=.1,opt='low',gorsin=yz;,filtreces;
case 2,Wn=[.38 .42],opt='bandpass',gorsin=yk;,filtreces;
case 3,Wn=.7,opt='high',gorsin=yr;,filtreces;
case 4,Wn=[.38 .42],opt='stop',gorsin=yz+yr;,filtreces;
case 5,projefiltre;
end
%projeiir programı sonu

59
%filtreces alt programı
%filtre derecesi alınıyor.
disp(' ');
N=input('Filtre Derecesini Giriniz=');
%Filtre Çeşidi Seçim Menüsü
fitces=menu('IIR FİLTRELEME ÇEŞİDİNİ SEÇİN','1- Butterworth         ','2-
Chebyshev type I','3- Chebyshev type II','4- Elliptic    ','5- Yulewalk     ');
switch fitces
case 1,[b,a]=butter(N,Wn,opt); %butterworth filter
case 2,[b,a]=cheby1(N,0.5,Wn,opt); %chebyshev type I filter
case 3,
switch tipsec
case 1,Wn=.35;
case 3,Wn=.45;end,
[b,a]=cheby2(N,20,Wn,opt);%chebyshev type II filter
case 4,[b,a]=ellip(N,.5,20,Wn,opt); %Elliptic filter
case 5,
switch tipsec
case 1,m=[1 1 0 0],f=[0 0.1 0.1 1],gorsin=yz;
case 2,m=[0 1 1 0],f=[0 0.38 0.42 1],gorsin=yk;
case 3,m=[0 0 1 1],f=[0 0.7 0.7 1],gorsin=yr;
case 4,m=[1 0 0 1],f=[0 0.38 0.42 1],gorsin=yz+yr;
end,[b,a]=yulewalk(2,f,m);%Yulewalk filter
end
filtrele; %filtrele programına dallanılıyor.
%filtreces programı sonu

%filtrele alt programı.
%Filter kullanılıyor ve Figure ler çiziliyor.
clc;
filtreli=filter(b,a,bozuk);
uzun=length(filtreli);
pencerep;%pencerep alt programı çağrılıyor.
if defa==1,figure;plot(t,bozuk);grid on;zoom;end
figure;
plot(t,gorsin,t,pentipfiltre,'r',t,x,'black'),grid on,zoom;
cikis;%cikis alt programı çağrılıyor.
title(cikti);
xlabel('Periyod');
ylabel('Tepeden Tepeye Değer');
defa=defa+1;
projeiir;
%filtrele programı sonu

%pencerep alt programı.
%pencere Tipleri Hazırlanıyor.
clc;
disp(' ');

60
Hamming ','3- Hanning ','4- Kaiser             ','5- Bartlett ','6- Blackman ','7-
Chebwin ','8- Triang ');
if ((pensec>9)|(pensec<1))pencere;end
switch pensec
case 1,pentipfiltre=filtreli;,x=zeros(1,uzun);
case 2,x=hamming(uzun);,pentipfiltre=filtreli'.*x;
case 3,x=hanning(uzun);,pentipfiltre=filtreli'.*x;
disp('Beta büyüdükce yan lob yüksekliği azalır, ana lob genişliği artar.');,
bet=input('Beta değerini girin='),x=kaiser(uzun,bet);,pentipfiltre=filtreli'.*x;
case 5,x=bartlett(uzun);,pentipfiltre=filtreli'.*x;
case 6,blackman(uzun);,pentipfiltre=filtreli'.*x;
case 7,
disp('Dalgalanma Oranı değeri desibeldir.'),
disp('Dalgalanma oranı arttıkça yan lob yüksekliği azalır.');
dalga=input('Dalgalanma miktarını girin='),x=chebwin(uzun,dalga);,
pentipfiltre=filtreli'.*x;
case 8,x=triang(uzun);,pentipfiltre=filtreli'.*x;
end
%pencere programı sonu

%cikis programı(Bize pencerede baslik yazmamızı sağlar)
switch fitces
case 1,
switch tipsec
case 1,cikti='Alçak Geçiren Butterworth Filtrelenmiş Sinyal(Kırmızı)';
case 2,cikti='Band Geçiren Butterworth Filtrelenmiş Sinyal(Kırmızı)';
case 3,cikti='Yüksek Geçiren Butterworth Filtrelenmiş Sinyal(Kırmızı)';
case 4,cikti='Band Durduran Butterworth Filtrelenmiş Sinyal(Kırmızı)';
end
case 2,
switch tipsec
case 1,cikti='Alçak Geçiren Chebyshev Tip I Filtrelenmiş Sinyal(Kırmızı)';
case 2,cikti='Band Geçiren Chebyshev Tip I Filtrelenmiş Sinyal(Kırmızı)';
case 3,cikti='Yüksek Geçiren Chebyshev Tip I Filtrelenmiş Sinyal(Kırmızı)';
case 4,cikti='Band Durduran Chebyshev Tip I Filtrelenmiş Sinyal(Kırmızı)';
end
case 3,
switch tipsec
case 1,cikti='Alçak Geçiren Chebyshev Tip II Filtrelenmiş Sinyal(Kırmızı)';
case 2,cikti='Band Geçiren Chebyshev Tip II Filtrelenmiş Sinyal(Kırmızı)';
case 3,cikti='Yüksek Geçiren Chebyshev Tip II Filtrelenmiş Sinyal(Kırmızı)';
case 4,cikti='Band Durduran Chebyshev Tip II Filtrelenmiş Sinyal(Kırmızı)';
end

case 4,
switch tipsec
case 1,cikti='Alçak Geçiren Elliptic Filtrelenmiş Sinyal(Kırmızı)';

61
case 2,cikti='Band Geçiren Elliptic Filtrelenmiş Sinyal(Kırmızı)';
case 3,cikti='Yüksek Geçiren Elliptic Filtrelenmiş Sinyal(Kırmızı)';
case 4,cikti='Band Durduran Elliptic Filtrelenmiş Sinyal(Kırmızı)';
end
case 5,
switch tipsec
case 1,cikti='Alçak Geçiren Yulewalk Filtrelenmiş Sinyal(Kırmızı)';
case 2,cikti='Band Geçiren Yulewalk Filtrelenmiş Sinyal(Kırmızı)';
case 3,cikti='Yüksek Geçiren Yulewalk Filtrelenmiş Sinyal(Kırmızı)';
case 4,cikti='Band Durduran Yulewalk Filtrelenmiş Sinyal(Kırmızı)';
end
end
%cikis programı sonu

62

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 110 posted: 6/26/2012 language: pages: 62