Tamam, en iyiyi elde etmeye çalışalım:
çok bu katsayısı olduğu . x[n-m]α(1-α
y[n]===αx[n]+(1−α)y[n−1]αx[n]+(1−α)αx[n−1]+(1−α)2y[n−2]αx[n]+(1−α)αx[n−1]+(1−α)2αx[n−2]+(1−α)3y[n−3]
x[n−m]α(1−α)m
En iyi ortalama kare yaklaşımı en aza indirecektir:
m>k-1
J(α)======∑k−1m=0(α(1−α)m−1k)2+∑∞m=kα2(1−α)2m∑k−1m=0(α2(1−α)2m−2kα(1−α)m+1k2)+α2(1−α)2k∑∞m=0(1−α)2mα21−(1−α)2k1−(1−α)2+2αk1−(1−α)k1−(1−α)+α2(1−α)2k1−(1−α)2+1kα21−(1−α)2+2k(1−(1−α)k)+1kα22α−α2+2k(1−(1−α)k)+1kα2−α+2k(1−(1−α)k)+1k
Çünkü FIR katsayıları için sıfırdır .
m>k−1
Bir sonraki adım türev almak ve sıfıra eşitlemektir.
ve için türetilmiş 0'dan 1'e bir grafiğine baktığımda, en iyi cevap olduğu için (kurulumunu yaptığım gibi) sorun görünmüyor .Jα α = 0K=1000αα=0
Burada bir yanlışlık olduğunu düşünüyorum. Hesaplarıma göre olması gerektiği gibi:
J(α)===∑k−1m=0(α(1−α)m−1k)2+∑∞m=kα2(1−α)2m∑k−1m=0(α2(1−α)2m−2kα(1−α)m+1k2)+α2(1−α)2k∑∞m=0(1−α)2mα21−(1−α)2k1−(1−α)2−2αk1−(1−α)k1−(1−α)+1k+α2(1−α)2k1−(1−α)2
Mathematica verimlerine göre sadeleştirmek :
J(α)=α2−α+2(1−α)k−1k
MATLAB'da aşağıdaki kodu kullanmak, farklı olsa da eşdeğer bir şey sağlar:
syms a k;
expr1 = (a ^ 2) * ((1 - ((1 - a) ^ (2 * k))) / (1 - ((1 - a) ^ 2)));
expr2 = ((2 * a) / k) * ((1 - ((1 - a) ^ (k))) / (1 - (1 - a)));
expr3 = (1 / k);
expr4 = ((a ^ 2) * ((1 - a) ^ (2 * k))) / (1 - ((1 - a) ^ (2)));
simpExpr = simplify(expr1 - expr2 + expr3 + expr4);
J(α)=−2α−2−k−2(1−α)k+1k
Her neyse, bu işlevler minimumda.
Öyleyse, gerçekten de yalnızca FIR filtresinin desteği (uzunluğu) üzerindeki yaklaşıma önem verdiğimizi varsayalım. Bu durumda, optimizasyon problemi şu :
J2(α)=∑m=0k−1(α(1−α)m−1k)2
Plotlama çeşitli değerleri için karşı altında araziler ve tabloda tarihi sonuçları.KJ2(α)Kα
İçin = 8 0,1533333 =
için = 16 0.08 =
için = 24. 0,0533333 =
için = 32 = 0.04
için = 40. 0,0333333 =
için = 48. 0,0266667 =
için = 56. 0.0233333 =
için = 64. α m i n K α m i n K α m i n K α m i n K α m i n K α m i n K a m i n K a n m a n K a m i n K a m a n a n a k i a K iKαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin 0,02 =
için = 72. 0.0166667 = Kαmin
Kırmızı kesikli çizgiler edilir ve yeşil hatları , değeri bu en aza indirir (seçilen ).α m ı n α J 2 ( α ) bir l p h bir = [ 0 : .01 : 1 ] / 3 ;1/KαminαJ2(α)alpha=[0:.01:1]/3;