Dijital filtre tasarımı çok büyük ve olgun bir konudur ve - sorunuzda belirttiğiniz gibi - çok fazla malzeme mevcuttur. Burada denemek istediğim, başlamak ve mevcut materyali daha erişilebilir hale getirmek. Dijital filtreler yerine aslında ayrık zamanlı filtrelerden bahsetmeliyim çünkü burada katsayı ve sinyal nicemlemesini dikkate almayacağım. FIR ve IIR filtrelerini zaten biliyorsunuz ve DF I ve II gibi bazı filtre yapılarını da biliyorsunuz. Yine de, bazı temel bilgilerle başlayayım:
Yinelemesiz doğrusal zamanla değişmeyen (LTI) filtre, aşağıdaki fark denklemi ile tanımlanabilir
y( n ) = s0x ( n ) + s1x ( n - 1 ) + … + sN-- 1x ( n - N+ 1 ) = ∑k = 0N-- 1hkx ( n - k )(1)
y( n )x ( n )nhkN-hkx ( n ) = δ( n )y( n ) = snhk. FIR filtrelerinin önemli bir avantajı, her zaman kararlı olmalarıdır, yani sınırlı bir giriş dizisi için, çıkış dizisi her zaman sınırlıdır. Başka bir avantaj, FIR filtrelerinin her zaman tam olarak doğrusal bir faz ile gerçekleştirilebilmesidir, yani saf bir gecikmeden başka bir faz bozulması eklemeyeceklerdir. Ayrıca, daha sonra göreceğimiz gibi tasarım problemi genellikle daha kolaydır.
Yinelemeli bir LTI filtresi aşağıdaki fark denklemi ile tanımlanır:
y( n ) = b0x ( n ) + b1x ( n - 1 ) + … + bMx ( n - M) -- bir1y( n - 1 ) - … - aN-y( n - N)(2)
bkbirkbirk çünkü IIR filtresi kararsız olabilir, yani bunların çıkış dizileri sınırlı bir giriş dizisi ile bile sınırsız olabilir.
Filtreler, zaman (örnek) alanında veya frekans alanında veya her ikisinde belirtilen özelliklere göre tasarlanabilir. Sorunuzda bir kesme frekansından bahsettiğinizden, frekans alanındaki spesifikasyonlarla daha fazla ilgilendiğinizi varsayıyorum. Bu durumda, FIR ve IIR sistemlerinin frekans tepkilerine bir göz atmanız gerekir. Bir sistemin frekans yanıtı, varlığını varsayarak (kararlı sistemler için durumdur), dürtü yanıtının Fourier dönüşümüdür. FIR filtresinin frekans yanıtı
'H( ej θ) = ∑k = 0N-- 1hke- j k θ(3)
θ
θ=2πffs
ffs
H(ejθ)=∑Mk=0bke−jθ1+∑Nk=1ake−jθ(4)
ak=0k=1,…,N
Şimdi filtre tasarım yöntemlerine hızlı bir göz atalım. FIR filtreleri için, doğrudan filtre katsayılarına karşılık gelen filtrenin impuls tepkisini elde etmek için istenen frekans cevabının ters Fourier dönüşümünü alabilirsiniz. İstenen yanıtı sonlu uzunluktaki dürtü yanıtıyla yaklaşık olarak tahmin ettiğiniz için, Gibbs fenomeni nedeniyle gerçek frekans yanıtındaki salınımları en aza indirmek için elde edilen dürtü yanıtına düzgün bir pencere uygulamanız gerekir. Bu yönteme frekans örnekleme yöntemi denir.
İdeal lowpass, highpass, bandpass veya bandstop filtreler (ve birkaç diğerleri) gibi basit standart filtreler için, istenen ideal yanıtın ters Fourier dönüşümünü alarak tam dürtü yanıtını analitik olarak hesaplayabilirsiniz:
hk=12π∫π−πH(ejθ)ejkθdθ
Bu integral, ideal frekans seçici filtrelerde olduğu gibi parçalı sabit olarak istenen yanıtları değerlendirmek kolaydır. Bu, sonlu ve nedensel hale getirmek için pencerelenmesi ve kaydırılması gereken sonsuz uzun, nedensel olmayan bir dürtü yanıtı verecektir. Bu yöntem pencere tasarımı olarak bilinir.
Elbette başka birçok FIR filtre tasarım yöntemi vardır. Önemli bir sayısal yöntem, sabit geçiş bandı ve durdurma bandı dalgalanmalarıyla en uygun filtreleri tasarlayan ünlü Parks-McClellan değişim algoritmasıdır. Bu sayısal bir yaklaşım yöntemidir ve örneğin Matlab ve Octave gibi birçok yazılım uygulaması vardır.
ssz
Elbette, sahip olduğunuz özellik türüne bağlı olarak çok daha ilginç ve kullanışlı yöntemler var, ancak umarım bu sizi başlatacak ve karşılaştığınız herhangi bir malzemeyi daha anlaşılır hale getirecektir. Bazı temel filtre tasarım yöntemlerini (ve çok daha fazlasını) kapsayan çok iyi (ve ücretsiz) bir kitap Orfanidis'in Sinyal İşlemeye Girişidir. Burada birkaç tasarım örneği bulabilirsiniz. Bir başka harika klasik kitap, Parks and Burrus tarafından Dijital Filtre Tasarımı .