ฉันพยายามทำความเข้าใจเกี่ยวกับความสัมพันธ์ระหว่างตัวกรอง FIR ที่ออกแบบมาจาก "หลักการแรก" โดยใช้เคอร์เนลตัวกรองที่มีการโน้มน้าวและตัวกรองที่ออกแบบในหนึ่งในสองวิธีที่ใช้ FFT (ดูด้านล่าง)
เท่าที่ฉันเข้าใจการตอบสนองแรงกระตุ้นของตัวกรอง FIR เป็นสิ่งเดียวกับเคอร์เนล convolution ของตัวกรอง (ช่วยแก้ให้ด้วยนะถ้าฉันผิด.)
นอกจากนี้ในความเข้าใจของฉันความถี่องค์ประกอบ (เช่นการแปลงฟูริเยร์) ของการตอบสนองแรงกระตุ้นของตัวกรอง FIR นั้นเป็นสิ่งเดียวกับการตอบสนองความถี่ของตัวกรอง และดังนั้นการแปลงฟูริเยร์แบบผกผันจะให้การตอบสนองแบบอิมพัลส์แก่ฉันอีกครั้ง (แก้ไขอีกครั้งถ้าฉันผิด)
สิ่งนี้ทำให้ฉันได้ข้อสรุปสองข้อ (ไม่สนใจการตอบสนองของเฟสหรือสมมติว่าตอบสนองเฟสเชิงเส้น):
ฉันควรจะสามารถออกแบบตัวกรอง FIR ของการตอบสนองความถี่ตามอำเภอใจโดย "วาด" การตอบสนองความถี่ที่ฉันต้องการใช้ IFFT เพื่อรับการตอบสนองต่อแรงกระตุ้นและใช้สิ่งนั้นเป็นเคอร์เนล convolution ของฉัน
อีกทางหนึ่งฉันควรจะสามารถสร้างตัวกรองโดยการใช้ FFT ของสัญญาณอินพุทคูณด้วยการตอบสนองความถี่โดยพลการที่ฉันต้องการในโดเมนความถี่และรับ IFFT ของผลลัพธ์เพื่อสร้างสัญญาณเอาต์พุต
โดยสังหรณ์ใจมันให้ความรู้สึกเหมือน 1 & 2 เทียบเท่า แต่ฉันไม่แน่ใจว่าฉันจะพิสูจน์ได้ไหม
ดูเหมือนว่าผู้คน (และวรรณกรรม DSP) มีความยาวมากในการออกแบบเมล็ด FIR พร้อมคำตอบที่กำหนดไว้ล่วงหน้าโดยใช้อัลกอริทึม (สำหรับฉัน) ที่ซับซ้อนเช่น Chebyshev หรือ Remez (ฉันกำลังโยนชื่อบางชื่อที่ฉันอ่านโดยไม่เข้าใจพวกเขาจริงๆ) .
- ทำไมถึงมีความยาวเหล่านี้เมื่อมีการแปลง FFT / IFFT สำหรับทุกเคอร์เนล FIR ที่เป็นไปได้
- ทำไมไม่เพียงแค่ดึงการตอบสนองความถี่ที่คุณต้องการรับ IFFT และมีเคอร์เนล FIR ของคุณ (วิธีที่ 1 ด้านบน)