ฉันสะดุดกับคำถามเก่านี้และต้องการแบ่งปันวิธีแก้ปัญหาของฉัน ดังที่ได้กล่าวไว้ในคำตอบอื่น ๆ ไม่มีวิธีการวิเคราะห์ แต่ฟังก์ชันที่จะย่อเล็กสุดทำงานได้อย่างดีและสามารถหาค่าที่ดีที่สุดของได้อย่างง่ายดายด้วยการทำซ้ำนิวตันสองสามครั้ง นอกจากนี้ยังมีสูตรเพื่อตรวจสอบผลลัพธ์ที่ดีที่สุดα
การตอบสนองแรงกระตุ้นของความยาว FIR ตัวกรองค่าเฉลี่ยเคลื่อนที่จะได้รับจากN
hFIR[n]=1N(u[n]−u[n−N])(1)
โดยที่เป็นฟังก์ชันหน่วยขั้นตอน ลำดับ IIR ตัวกรองแรกu[n]
y[n]=αx[n]+(1−α)y[n−1](2)
มีการตอบสนองต่อแรงกระตุ้น
hIIR[n]=α(1−α)nu[n](3)
เป้าหมายคือเพื่อลดข้อผิดพลาดกำลังสองให้น้อยที่สุด
ϵ=∑n=0∞(hFIR[n]−hIIR[n])2(4)
ใช้และข้อผิดพลาดสามารถเขียนเป็น(1)(3)
ϵ(α)=∑n=0N−1(α(1−α)n−1N)2+∑n=N∞α2(1−α)2n=α2∑n=0∞(1−α)2n−2αN∑n=0N−1(1−α)n+∑n=0N−11N2=α21−(1−α)2−2αN1−(1−α)N1−(1−α)+1N=α2−α−2N(1−(1−α)N)+1N,0<α<2(5)
การแสดงออกนี้คล้ายกับที่ให้ไว้ในคำตอบนี้แต่ไม่เหมือนกัน ข้อ จำกัด ในในทำให้แน่ใจว่าลู่รวมอนันต์และมันก็เป็นเหมือนกันไปอยู่ในสภาพมั่นคงสำหรับตัวกรอง IIR ที่ได้รับจาก(2)α(5)(2)
การตั้งค่าอนุพันธ์ของเป็นศูนย์ผลลัพธ์(5)
(1−α)N−1(2−α)2=1(6)
โปรดทราบว่าดีที่สุดจะต้องอยู่ในช่วงเวลาเนื่องจากค่าที่มากกว่าของส่งผลให้เกิดการตอบสนองต่อแรงกระตุ้นแบบสลับซึ่งไม่สามารถประมาณค่ารีพัลส์ค่าเฉลี่ยเคลื่อนที่ FIR ที่เคลื่อนไหวได้α(0,1]α(3)
รับสแควร์รูทของและแนะนำเราได้(6)β=1−α
β(N+1)/2+β(N−1)/2−1=0(7)
สมการนี้ไม่สามารถแก้ไขได้สำหรับแต่สามารถแก้ไขได้สำหรับ :NβN
N=−2log(1+β)log(β),β≠0(8)
สมการสามารถใช้ในการตรวจสอบการแก้ปัญหาเชิงตัวเลขของ ; มันจะต้องกลับค่าที่ระบุของN( 7 )(8)(7)N
สมการสามารถแก้ไขได้ด้วยโค้ด (Matlab / Octave) สองสามบรรทัด:(7)
N = 50; % ความยาวตัวกรองที่ต้องการของตัวกรองค่าเฉลี่ยเคลื่อนที่ FIR
ถ้า (N == 1)% ไม่ซ้ำสำหรับกรณีเล็ก ๆ น้อย ๆ
b = 0;
อื่น
ซ้ำนิวตัน
b = 1; ค่าเริ่มต้น
นิด = 7;
n = (N + 1) / 2;
สำหรับ k = 1: Nit,
f = b ^ n + b ^ (n-1) -1;
fp = n * b ^ (n-1) + (n-1) * b ^ (n-2);
b = b - f / fp;
ปลาย
ผลการตรวจสอบ%
N0 = -2 * บันทึก (1 + b) / บันทึก (b) + 1% จะต้องเท่ากับ N
ปลาย
a = 1 - b;
ด้านล่างเป็นตารางที่มีค่าที่เหมาะสมที่สุดของสำหรับช่วงความยาวตัวกรอง :NαN
ยังไม่มีข้อความ
1 1.0000e + 00
2 5.3443e-01
3 3.8197e-01
4 2.9839e-01
5 2.4512e-01
6 2.0809e-01
7 1.8083e-01
8 1.5990e-01
9 1.4333e-01
10 1.2987e-01
20 6.7023e-02
30 4.5175e-02
40 3.4071e-02
50 2.7349e-02
60 2.2842e-02
70 1.9611e-02
80 1.7180e-02
90 1.5286e-02
100 1.3768e-02
200 6.9076e-03
300 4.6103e-03
400 3.4597e-03
500 2.7688e-03
600 2.3078e-03
700 1.9785e-03
800 1.7314e-03
900 1.5391e-03
1,000 1.3853e-03