ลำดับตัวกรองเทียบกับจำนวนก๊อกและจำนวนสัมประสิทธิ์


28

ฉันเรียนรู้ DSP ช้าและพยายามคลุมหัวคำศัพท์บางคำ:

  • คำถามที่ 1 : สมมติว่าฉันมีสมการความแตกต่างของตัวกรองต่อไปนี้:

    Y[n]=2x[n]+4x[n-2]+6x[n-3]+8x[n-4]

    ด้านขวามี 4 สัมประสิทธิ์ "จำนวนก๊อก" เท่ากับ 4 หรือไม่ "ลำดับตัวกรอง" คือ 4 ด้วยหรือไม่

  • คำถามที่ 2 : ฉันกำลังพยายามใช้fir1(n, Wn)ฟังก์ชันMATLAB หากฉันต้องการสร้างตัวกรองแบบ 10 แท็ปฉันจะตั้งค่าไหมn=10

  • คำถามที่ 3 : สมมติว่าฉันมีสมการผลต่างของตัวกรองแบบเรียกซ้ำ (สมมุติ IIR) ดังต่อไปนี้:

    y[n]+2y[n1]=2x[n]+4x[n2]+6x[n-3]+8x[n-4]

    ฉันจะกำหนด "จำนวนก๊อก" และ "ลำดับตัวกรอง" ได้อย่างไรเนื่องจากจำนวนสัมประสิทธิ์แตกต่างกันทางด้านซ้ายและด้านขวามือ

  • คำถามที่ 4 : คำสั่ง if-and-only-if ตรรกะต่อไปนี้เป็นจริงหรือไม่?

    • ตัวกรองซ้ำ ตัวกรองคือ IIR
    • ตัวกรองไม่สามารถเรียกคืนได้ ตัวกรองคือ FIR

คำตอบ:


37

ตกลงฉันจะพยายามตอบคำถามของคุณ:

Q1: จำนวนก๊อกไม่เท่ากับคำสั่งกรอง ในตัวอย่างของคุณความยาวตัวกรองคือ 5 เช่นตัวกรองขยายตัวอย่างอินพุตมากกว่า 5 ตัวอย่าง [ ] จำนวนก๊อกเท่ากับความยาวของตัวกรอง ในกรณีของคุณคุณมีหนึ่งแตะเท่ากับศูนย์ (ค่าสัมประสิทธิ์สำหรับx ( n - 1 )x(n),x(n-1),x(n-2),x(n-3),x(n-4)x(n-1)) ดังนั้นคุณมีก๊อกที่ไม่ใช่ศูนย์ถึง 4 อัน ยังคงความยาวตัวกรองคือ 5 ลำดับของตัวกรอง FIR คือความยาวตัวกรองลบ 1 เช่นลำดับตัวกรองในตัวอย่างของคุณคือ 4

Q2: ในฟังก์ชัน Matlab fir1 () คือลำดับตัวกรองนั่นคือคุณได้เวกเตอร์ที่มีองค์ประกอบn + 1เป็นผลลัพธ์ (ดังนั้นn + 1คือความยาวตัวกรองของคุณ = จำนวนก๊อก)nn+1n+1

Q3: ลำดับตัวกรองเป็นอีกครั้ง 4. คุณสามารถดูได้จากความล่าช้าสูงสุดที่จำเป็นในการใช้งานตัวกรองของคุณ มันเป็นตัวกรอง IIR แบบเรียกซ้ำ ถ้าจากจำนวนก๊อกคุณหมายถึงจำนวนของสัมประสิทธิ์กรองแล้วสำหรับเพื่อกรอง IIR คุณโดยทั่วไปมี2 ( n + 1 )ค่าสัมประสิทธิ์แม้ว่าในตัวอย่างของคุณหลายของพวกเขาเป็นศูนย์nเสื้อชั่วโมง2(n+1)

Q4: นี่เป็นสิ่งที่ยุ่งยากเล็กน้อย เริ่มจากกรณีง่าย ๆ : ตัวกรองแบบไม่เรียกซ้ำมีการตอบสนองต่อแรงกระตุ้น จำกัด เสมอนั่นคือตัวกรอง FIR โดยทั่วไปตัวกรองแบบเรียกซ้ำจะมีการตอบสนองแบบไม่สิ้นสุดซึ่งก็คือตัวกรอง IIR แต่มีหลายกรณีที่การสลายตัวของการตอบสนองต่อแรงกระตุ้นแบบ จำกัด นั้นใช้โครงสร้างแบบเรียกซ้ำ แต่กรณีหลังเป็นข้อยกเว้น


3
+1: คำตอบที่ดีโดยเฉพาะอย่างยิ่งจุดที่ # 4 อย่างที่คุณพูดมันเป็นไปได้อย่างสมบูรณ์ (และบางครั้งเป็นที่ต้องการ) ในการเขียนตัวกรอง FIR ในรูปแบบเรียกซ้ำ
Peter K.

เกี่ยวกับไตรมาสที่ 3: คำสั่งตัวกรองพบได้จาก "ความล่าช้าสูงสุดที่จำเป็นในการปรับใช้ตัวกรองของคุณ" อ้างถึงด้านขวามือเท่านั้นหรือไม่ ฉันคิดว่าสิ่งนี้ต้องใช้กับทั้งตัวกรอง FIR และ IIR หากคำตอบคือ "ใช่" ด้านขวาของตัวกรอง IIR จะไม่มีผลกระทบต่อลำดับตัวกรองใช่ไหม
stackoverflowuser2010

1
เกี่ยวกับ Q4: ดังนั้นผลกระทบเชิงตรรกะต่อไปนี้ถูกต้อง: (1) ตัวกรองซ้ำ -> ("หมายถึง") FIR หรือ IIR; (2) ตัวกรอง Non-recursive -> FIR; (3) FIR -> ไม่ใช่แบบเรียกซ้ำหรือเรียกซ้ำ (หายาก); (4) IIR -> แบบเรียกซ้ำ ข้อความเหล่านั้นถูกต้องหรือไม่
stackoverflowuser2010

2
Y(n)x(n)Y(n)+Y(n-10)=x(n)

2
Q4: ความหมายของคุณถูกต้อง
Matt L.

3
  • คำถามที่ 1: จำนวนของก๊อก = จำนวนสัมประสิทธิ์ s = ความยาวของตัวกรองในกรณีของตัวกรอง FIR ลำดับของตัวกรองเท่ากับความยาวของตัวกรอง -1
  • n
  • Y(Z)/X(Z)=H(Z)
  • คำถามที่ 4: ตัวกรอง FIR โดยตรงหมายความว่าไม่มีข้อเสนอแนะ แต่สำหรับตัวกรอง IIR คุณจะได้รับฟีดกลับ ฉันอยากจะแนะนำให้คุณใช้ตัวกรอง FIR เพราะมันมีเฟสเชิงเส้น ในทางกลับกันการคำนวณตัวกรอง IIR นั้นน้อยกว่าขนาดตัวกรอง FIR ที่เท่ากันเนื่องจากตัวกรอง IIR มีค่าสัมประสิทธิ์จำนวนน้อยกว่า แต่ตัวกรอง IIR ไม่มีเฟสเชิงเส้น มันเป็นการแลกเปลี่ยนที่คุณสามารถพูดได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.