Bir yaklaşım, frekans alanı en küçük kareler (FDLS) yöntemini kullanmak olacaktır . Ayrık zamanlı bir sistemin frekans yanıtına ait bir dizi (karmaşık) örnek ve tasarımcı tarafından seçilen bir filtre sırası göz önüne alındığında, FDLS yöntemi , katsayı kümesini (doğrudan kutup kümelerine eşleyen) çözmek için doğrusal en küçük kareler optimizasyonunu kullanır ve sıfırlar), frekans yanıtı, istenen toplam yanıtı minimum toplam kare hatasıyla eşleştiren sistem için.
-sıralı lineer ayrık zamanlı bir sistemin frekans yanıtı şu şekilde yazılabilir:N
H(ω)=H(z)|z=ejω
burada , sistemin alanındaki transfer fonksiyonudur . Bu genellikle doğrudan sistemin fark denkleminden sonra gelen rasyonel biçimde yazılır:H(z)z
H(z)=∑Nk=0bkz−k1+∑Nk=1akz−k
Bu nedenle frekans yanıtı:
H(ω)=∑Nk=0bke−jkω1+∑Nk=1ake−jkω
Almak için yukarıdakileri yeniden düzenleyin:
∑k=0Nbke−jkω−H(ω)(1+∑k=1Nake−jkω)=0
Bu denklem bilinmeyen sistem farkı denklem katsayıları ve . İstenen frekans cevabı verildiğinde, yukarıdaki denklemi tam olarak değerleri için karşılayan katsayıları bulmak istiyoruz . Genel durum için, bu zor. Bunun yerine, frekans yanıtı ayrı bir frekans kümesinde istenen yanıta yaklaşan bir sistem için bir dizi katsayı arayacağız.2N+1bkakH(ω)ω
Doğrusal en küçük kareler yöntemini kullanarak uygun bir katsayı setini çözmek için, bu bilinmeyenlerde aşırı belirlenmiş bir denklem sistemi üretiyoruz. Bu denklemleri oluşturmak için (burada ve genellikle frekans koleksiyonu seçin . Her frekans için, değerinin karşılık gelen değerini aşağıdaki denklemle değiştirin:ωm∈[0,2π),m=0,1,…,M−1M>2N+1M≫2N+1)ωk
∑k=0Nbke−jkωk−H(ωk)(1+∑k=1Nake−jkωk)=0
değerleri , seçilen frekanslarda istenen frekans cevabını örnekleyerek elde edilir . Doğrusal denklemler sistemi oluşturulduktan sonra, sistemin ve katsayıları (ve dolayısıyla kutupları ve sıfırları) için en küçük kareler çözümü kolayca elde edilir. Bu katsayıları yukarıda gösterilen denklemine geri , (umarız) başladığınız şablon frekans yanıtına yakın bir fonksiyon vermelidir.H(ωk)ωkbkakH(ω)
Bu tekniğin birkaç avantajı vardır:
Şablon olarak herhangi bir rasgele karmaşık (büyüklük ve faz) frekans yanıtı kullanılabilir. Yalnızca bir büyüklük kısıtlamanız varsa, doğrusal faz gibi bir faz yanıtı seçebilirsiniz.
Hem FIR hem de IIR filtreleri tasarlamak için kullanılabilir; FIR gerçekleştirme için, katsayılarını yukarıdan kaldırın .ak
Tekniğin uygulanması çok basittir ve istenen sistem sırasına göre kolayca parametrelendirilebilir.
Tasarım kısıtlamalarınızı karşılamak için gerekli sistem sırasının ne olduğunu önceden tahmin etmenin iyi bir yolu olmasa da , seçilen bazı hata metriği karşılanıncaya kadar sırasını yinelemeli olarak artırmak basittir (tepe hatası, toplam kare hatası, veya belirli bir bant içindeki sapma).N
Gerekirse ağırlıklı en küçük kareler optimizasyonunu kullanmak için bu yöntemi biraz genişletebilirsiniz; bu, frekans yanıtı yaklaşık hatası diğerlerinden daha ağırlıklı olan bölgeleri belirtmenize olanak tanır. Bu, "bakımsız" alanlarda daha fazla eğime izin verirken geçiş bandı / durdurma bandı alanlarını daha sıkı kontrol etmenizi sağlar.