English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

konuk
1 / ?
derslere geri dön

İdeal Yanıttan Pratik Filtreye

Hamming, FIR filtreler için Fourier serisini kullanan dört adımlı bir tasarım yöntemi sundu.

Adım 1: İdeal Yanıtı Belirleyin

H_ideal(f) tanımlayın: istediğiniz kesin frekans yanıtı. Alçak geçişli filtre için: f < f_c için H = 1, f > f_c için H = 0. Bu frekans alanında bir basamak işlevidir.

Adım 2: Fourier Katsayılarını Hesaplayın

H_ideal(f) öğesini frekans değişkeninde Fourier serisi olarak genişletin. Katsayılar c_k, filtrenin ideal impuls yanıtı değerleridir:

c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df

f_c kesme sıklığına sahip alçak geçişli filtre için: k ≠ 0 için c_k = sin(2πf_c·k) / (πk), c_0 = 2f_c.

Bu impuls yanıtı sonsuzdur — sinc işlevi zamanda sonsuza kadar uzanır. Pratik bir filtre sonlu sayıda katsayı gerektirir.

Adım 3: 2N+1 Terime Kesin

|k| ≤ N için sadece c_k katsayılarını tutun. 2N+1 terimin bu dikdörtgen penceresi en basit kesintedir. Gibbs fenomenini üretir: kesme noktasında ≈%9 aşırı konum.

Adım 4: Pencereyi Uygulayın

Kesilen katsayıları Gibbs aşırı konumunu azaltmak için pencere işlevi w_k ile çarpın:

c̃_k = c_k · w_k

Pencereli c̃_k katsayıları pratik filtreyi tanımlar.

Gibbs Fenomeni & Pencere İşlevleri

Fourier Katsayılarını Hesaplama

Alçak geçişli filtre için Fourier katsayısı formülü c_k = sin(2πf_c·k) / (πk) f_c kesme sıklığı ile impuls yanıtını verir.

F_l alt kesme sıklığı ve f_u üst kesme sıklığına sahip bir bant geçişli filtre için, ideal yanıt için Fourier katsayısı: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).

f_c = 1/4 kesme sıklığına sahip bir alçak geçişli filtre için, k = 0, 1, 2 ve −1 için Fourier katsayılarını c_k hesaplayın. c_0 = 2f_c ve k ≠ 0 için c_k = sin(2πf_c·k)/(πk) kullanın. Her biri için hesaplamayı gösterin. Ardından katsayı dizisinin neden simetrik olduğunu açıklayın: c_k = c_{−k}.

Pencereler Gibbs Aşırı Konumunu Nasıl Azaltır?

Pencere işlevi w_k, kesilen katsayı dizisini merkezi değerinden kenarlarında sıfıra kadar inceltir. İncelme, dikdörtgen kesinti tarafından tanıtılan keskin kenarları kaldırır.

Neden İncelme İşe Yarar?

Gibbs aşırı konumu, dikdörtgen pencerenin Fourier dönüşümünün (sinc işlevi) büyük yan lobları olduğu için ortaya çıkar. Bu yan loblar süreksizliğin yakınında birlikte toplanarak ≈%9 aşırı konumu üretir.

Pürüzsüz bir pencere daha küçük yan lobları olan bir Fourier dönüşümüne sahiptir. Katsayıları pencere ile çarpmak, ideal frekans yanıtını pencerenin Fourier dönüşümü ile katlıştırır. Daha küçük yan loblar → daha az dalgalanma.

Yaygın Pencereler

Dikdörtgen (pencere yok): yan loblar ≈ −13 dB, Gibbs ≈ %9.

Hann (von Hann): w_k = 0.5 + 0.5·cos(πk/N). Yan loblar ≈ −31 dB.

Hamming: w_k = 0.54 + 0.46·cos(πk/N). Yan loblar ≈ −41 dB, ilk yan lob ≈ −43 dB. Gibbs < %0,2.

Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Ayarlanabilir: α yan lob seviyesini kontrol eder, bir tasarımın yan lob yüksekliği ile geçiş bandı genişliği arasında işlem yapmaya izin verir.

Pencere Dengesi

Her pencere bir dengeyi getirir: yan lobları bastırmak her zaman ana lobu genişletir.

Daha geniş bir ana lob, daha geniş bir geçiş bölgesi anlamına gelir — geçiş bandı ve kesme bandı arasındaki frekans aralığı.

Hamming bunu Kaiser'in tasarım parametreleri açısından resmileştirdi:

- δ: izin verilebilir dalgalanma (ideal'den dikey tolerans — yanıt 0 veya 1'den ne kadar sapabilir)

- ΔF: geçiş genişliği (yatay tolerans — geçiş bölgesi ne kadar dar)

Kaiser'in yöntemi δ ve ΔF tek başına hem N (katsayı sayısı) hem de α (pencere şekli parametresi) bulur. Pencere türünü tahmin etmeye gerek yok.

Bir filtre belirtimi gerektirir: geçiş bandı dalgalanması ≤ 0.01 (δ = 0.01) ve geçiş bölgesi genişliği ΔF = 0.05 (örnekleme oranının yüzdesi olarak). İkinci filtre gerektirir: geçiş bandı dalgalanması ≤ 0.001 (δ = 0.001) ve aynı ΔF = 0.05. Hangi filtre daha fazla katsayı N gerektirir? Fourier serisi tasarımında dalgalanma toleransı δ ile filtre sırası N arasındaki ilişkiyi açıklayın.

Belirtimlerden Katsayılara

Kaiser'in yöntemi iki belirtim — δ (dalgalanma toleransı) ve ΔF (geçiş genişliği) — alır ve deneme yanılma olmadan hem N hem de pencere katsayılarını üretir.

Tasarım Sırası

1. A = −20·log₁₀(δ) (dB cinsinde sönümleme) hesaplayın

2. Şekil parametresi α hesaplayın:

- A > 50 ise: α = 0.1102·(A − 8.7)

- 21 ≤ A ≤ 50 ise: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)

- A < 21 ise: α = 0 (dikdörtgen pencere)

3. N = (A − 8) / (2.285 · 2πΔF) hesaplayın

4. Kaiser penceresi ağırlıklarını hesaplayın: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)

5. İdeal Fourier katsayılarını pencere ağırlıklarıyla çarpın

6. Elde edilen transfer işlevini değerlendirin ve dalgalanmayı δ'ye karşı kontrol edin. Eğer dalgalanma δ'yi aşarsa (kenar girişimi), daha küçük tolerans ile tekrarlayın.

Hamming kaydetti: Kaiser, 0.5'i denerek (çok büyük) üsse ulaştı ve 0.4'ün iyi uyduğunu buldu. Bilgisayar, teorik araştırma için deneysel bir araç olarak hizmet etti.

Kaiser'in Yöntemini Uygulamak

Bessel işlevi I₀(x) Kaiser'in pencere formülünde görünür. Hızla yakınsayan bir seri olarak hesaplanır:

I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²

Küçük x için, m!² paydasında olduğu için seri birkaç terimde yakınsar.

Alçak geçişli bir filtre gerektirir: δ = 0.01 (%1 dalgalanma) ve ΔF = 0.1 (örnekleme oranının %10'u olarak geçiş genişliği). Kaiser'in formülünü kullanarak: A = −20·log₁₀(0.01) = 40 dB. 21 ≤ 40 ≤ 50 olduğundan, α = 0.5842·(A−21)^{0.4} + 0.07886·(A−21) kullanın. α hesaplayın. Ardından N = (A−8)/(2.285·2πΔF) kullanarak gerekli filtre katsayı sayısını hesaplayın. N'yi en yakın tamsayıya yuvarlayın.