ฉันมีปัญหาในการทำความเข้าใจว่า "อนันต์" ใน IIR หมายถึงอะไรในทางปฏิบัติ .. ในทางทฤษฎีแล้วการตอบสนองแบบอิมพัลส์นั้นใช้สำหรับข้อเสนอแนะ
ฉันมีปัญหาในการทำความเข้าใจว่า "อนันต์" ใน IIR หมายถึงอะไรในทางปฏิบัติ .. ในทางทฤษฎีแล้วการตอบสนองแบบอิมพัลส์นั้นใช้สำหรับข้อเสนอแนะ
คำตอบ:
ในการตอบคำถามนั้นคุณต้องรู้ว่า "แรงกระตุ้น" และ "การตอบสนอง" หมายถึงอะไร ...
"Impulse" เป็นพัลส์แบบง่าย ๆ แบบดิจิทัลมันจะเป็นตัวอย่างที่มีค่าสูงสุดในขณะที่ตัวอย่างอื่น ๆ ทั้งหมดก่อนและหลังมันจะเป็นศูนย์ หากคุณฟังสิ่งนี้คุณจะได้ยินเสียงเหมือนป๊อปหรือประทัด
"การตอบสนอง" คือผลลัพธ์ของตัวกรอง (หรืออย่างอื่น) ได้รับแรงกระตุ้น
ตัวอย่างเช่นคุณสามารถฟัง "การตอบสนองต่อแรงกระตุ้นของห้อง" โดยเข้าไปที่ห้องทำการตบมืออย่างง่าย ๆ และฟังเสียงก้อง จะต้องมีการฝึกฝนเพื่อให้มือตบมือเป็น "คม" ที่สุด การตอบสนองต่อแรงกระตุ้นของตัวกรองเป็นวิธีเดียวกัน แต่แทนที่จะใช้มือตบมือคุณใช้พัลส์แบบธรรมดาและแทนที่จะเป็นห้องที่คุณมีตัวกรอง
หากคุณดูที่การตอบสนองต่อแรงกระตุ้นของตัวกรองหรือห้องคุณจะเห็นสัญญาณออกมาสักครู่หลังจากแรงกระตุ้น (และบางครั้งมันก็สั่นสะเทือนมาก่อนเช่นกัน) ในห้องคุณได้ยินเสียงกระดิกดังก้อง ในตัวกรองการกระเพื่อมนี้เกี่ยวข้องโดยตรงกับการตอบสนองความถี่และเฟสของตัวกรอง ในห้องจำนวนเวลาที่คุณได้ยินเสียงก้องเรียกว่า "เวลาพัดโบก" - ไม่มีคำที่สอดคล้องกันสำหรับตัวกรอง แต่มันเป็นส่วนหนึ่งของการตอบสนองต่อแรงกระตุ้น
ตอนนี้ตัวกรอง FIR (Finite Impulse Response) มี จำกัด เนื่องจากเวลาตอบสนองต่อแรงกระตุ้นถูก จำกัด โดยคณิตศาสตร์ มันเป็นไปไม่ได้ในทางคณิตศาสตร์เป็นครั้งกระตุ้นการตอบสนองการขยายเกินจำนวนก๊อกใน filter-- ที่จึงเป็นที่แน่นอน
ในขณะที่ตัวกรอง IIR ไม่มีข้อ จำกัด ทางคณิตศาสตร์ในเวลาตอบสนองของแรงกระตุ้น หากได้รับความแม่นยำทางคณิตศาสตร์ที่ไม่มีที่สิ้นสุดตัวกรอง IIR สามารถดึงเอาท์พุทได้ตลอดไป แน่นอนในทางปฏิบัติมันไม่เคยไปตลอดกาลเนื่องจากในบางจุดกระดิกน้อยกว่าความแม่นยำของคณิตศาสตร์ที่ใช้และหายไป
การตอบสนองต่อแรงกระตุ้นเป็นลายเซ็นของตัวกรอง ในกรณีของตัวกรอง FIR การตอบสนองแบบอิมพัลส์จะให้ภาพโดยตรงของค่าสัมประสิทธิ์ของตัวกรอง แรงกระตุ้นเป็นตัวอย่างเดียวที่มีแอมพลิจูดสูงสุดตัวอย่างทั้งหมดก่อนและหลังเป็นศูนย์ (นี่คือดิจิตอลเทียบเท่าของชีพจร Dirac)
ในช่วงเวลาของชีพจรค่าของมันจะถูกคูณด้วย (ดูแผนภาพด้านล่าง) ตัวอย่างอื่นเป็นศูนย์ดังนั้นผลลัพธ์เท่ากับ (ฉันถือว่าค่าสูงสุดสำหรับพัลส์ 1) หนึ่งตัวอย่างในภายหลังชีพจรได้ย้ายหนึ่งบล็อกและคูณด้วยb_1อีกครั้งค่าอื่น ๆ ทั้งหมดเป็นศูนย์ดังนั้นผลลัพธ์คือ y b 0 z - 1 b 1 b 1 b i. และอื่น ๆ ในขณะที่พัลส์เลื่อนผ่านตัวกรองคุณจะได้รับค่าต่อเนื่องสำหรับที่เอาต์พุต หลังจากตัวอย่าง N ชีพจรจะถูกเลื่อนออกจากตัวกรองและผลลัพธ์จะกลายเป็นศูนย์อีกครั้ง
สำหรับตัวกรอง IIR ไม่ชัดเจนว่าจะได้ค่าสัมประสิทธิ์ตัวกรองจากการตอบสนองแบบอิมพัลส์
IIR
ในตัวกรอง IIR (บางส่วน) สัญญาณที่ประมวลผลจะถูกป้อนกลับไปที่อินพุต นั่นหมายความว่าจะมีสัญญาณตกค้างอยู่รอบ ๆ อย่างไรก็ตามเวลาส่วนใหญ่ของสัญญาณนี้จะเล็กลงและจบลงที่ศูนย์ แต่ในทางทฤษฎีแล้วมันไม่ได้หายไปอย่างสมบูรณ์ บล็อกไดอะแกรมด้านล่างแสดงตัวกรอง biquad ซึ่งเป็นการใช้งานบ่อยครั้งของตัวกรอง IIR สาขาซ้ายใช้ค่าอินพุต (ล่าช้า) สาขาขวาทำงานกับค่าเอาต์พุต (ล่าช้า) ( บล็อกหมายถึงการหน่วงเวลา 1 ตัวอย่าง Biquads มักจะเรียงซ้อนกัน
FIR
การกรองในมืออื่น ๆ มีเส้นทางเชิงเส้นจากการป้อนข้อมูลการส่งออก หลังจาก N ตัวอย่างสัญญาณอินพุต (เช่น Dirac pulse) จะถูกเลื่อนออกและนั่นคือจุดสิ้นสุดของมัน
ตัวกรอง FIR มีความเสถียรโดยเนื้อแท้ในขณะที่ตัวกรอง IIR ไม่จำเป็น
มีตัวกรองดิจิทัลสองแบบกว้าง ๆ การตอบสนองแบบไม่ จำกัด โดยนัย (IIR) และการตอบสนองแบบ จำกัด แรงกระตุ้น (FIR) อีกครั้งในวงกว้างตัวกรอง IIR นั้นอิงจากสมการและตัวกรอง FIR ตามตาราง
ตัวกรอง IIR เป็นเหมือนตัวกรองอนาล็อกโลกแห่งความจริง ตัวอย่างเช่นพิจารณาการสลายตัวแบบเอ็กซ์โพเนนเชียลอย่างที่คุณจะได้รับจากตัวกรองสัญญาณความถี่ต่ำแบบแอนะล็อก RC การตอบสนองเอาต์พุตไปยังอินพุตขั้นตอนคือเอ็กซ์โพเนนเชียลที่เข้าใกล้อินพุตมากขึ้น โปรดทราบว่าเลขชี้กำลังนี้ไม่เคยได้รับผลลัพธ์จริงเพียงแค่ปิดให้เพียงพอเพื่อที่เราจะไม่สนใจหรือไม่สามารถวัดข้อผิดพลาดได้ ในแง่ที่ว่าตัวกรองดังกล่าวไม่ จำกัด ตัวกรอง IIR มีคุณสมบัติเหมือนกัน
เสาเดี่ยว low pass IIR filter ที่พบได้ทั่วไปสามารถแสดงเป็น:
FILT <- FILT + FF (ใหม่ - ตัวกรอง)
ซึ่งหมายความว่าแต่ละการส่งออกซ้ำถ้าย้ายเศษส่วนคงที่ (FF, "เศษส่วนตัวกรอง") ของระยะทางไปยังอินพุต นี่เป็นภาพที่มองเห็นได้ง่ายเมื่อ FF = 1/2 หากทุกอย่างเป็น 0 และอินพุตไปที่ 1 และอยู่ที่นั่น (ขั้นตอนต่อหน่วย) ผลลัพธ์จะเป็น 1/2, 3/4, 7/8, 15/16 เป็นต้นนี่เป็นอนุกรมที่ไม่มีที่สิ้นสุด ในที่สุดค่าจะใกล้เคียงกับ 1 จนแสดงเป็น 1 เนื่องจากค่าดิจิทัลในคอมพิวเตอร์ไม่มีความแม่นยำไม่สิ้นสุด
ตัวกรอง FIR ทำงานบนหลักการที่แตกต่างกันโดยสิ้นเชิง ตัวอย่างล่าสุดของสัญญาณอินพุตจะถูกบันทึกและแต่ละค่าที่บันทึกไว้จะถูกคูณด้วยสัมประสิทธิ์ที่แตกต่างกันจากนั้นผลลัพธ์ทั้งหมดที่เพิ่มเข้ามาเพื่อสร้างเอาต์พุตตัวกรองสำหรับการทำซ้ำนั้น การวนซ้ำครั้งถัดไปของค่าที่บันทึกไว้ที่เก่าที่สุดจะถูกยกเลิกส่วนอื่น ๆ จะถูกเลื่อนไปหนึ่งสล็อตที่เก่ากว่า ส่วนย่อยที่บันทึกใหม่จะถูกคูณด้วยค่า coeficients ฯลฯ กระบวนการนี้เรียกว่า "convolution" และตารางค่าสัมประสิทธิ์มักจะถูกเรียกว่า kernel filter สิ่งที่แปลกใหม่และมีประโยชน์สามารถทำได้ด้วยตัวกรองประเภทนี้โดยการสร้างสรรค์ด้วยสัมประสิทธิ์ นั่นเป็นหัวข้อทั้งหมดไปสู่ตัวเองที่ฉันจะไม่เข้าไปตอนนี้ อย่างไรก็ตามเนื่องจากสนิปเพตแบบ จำกัด ของอินพุตถูกเก็บไว้ในหน่วยความจำ ส่วนใด ๆ ของสัญญาณอินพุตสามารถมีผลต่อเอาต์พุตในเวลา จำกัด เท่านั้น เมื่อตัวอย่างอินพุตถูกเลื่อนออกไปในตอนท้ายของตัวอย่างข้อมูลที่เก็บไว้มันจะหายไปและจะไม่มีผลกับเอาต์พุตอีกต่อไป
มีหนังสือทั้งหมดที่เขียนเกี่ยวกับเรื่องนี้และคุณสามารถใช้เวลาหลายภาคเรียนของหลักสูตรวิทยาลัยที่มุ่งเน้นไปที่เรื่องนี้ หวังว่าภาพรวม 30 วินาทีของฉันจะไขปริศนานี้มากพอที่จะตอบคำถามของคุณ
จุดหนึ่งที่ยังไม่ได้กล่าวถึงคือตัวกรอง IIR อาจถูกแบ่งย่อยออกเป็นสองรูปแบบ: ผู้ที่ขั้นตอนสามารถจัดอันดับได้เช่นว่าแต่ละขั้นตอนขึ้นอยู่กับมูลค่าก่อนหน้าของตัวเองและช่วงก่อนหน้านี้ ลำดับขั้นไม่สามารถจัดลำดับได้ เป็นไปได้สำหรับสเตจในตัวกรอง FIR เพื่ออ้างอิงถึงเอาต์พุตก่อนหน้าของสเตจอื่นโดยมีเงื่อนไขว่าพวกเขาสามารถจัดอันดับในรูปแบบเดิมของ IIR และไม่มีสเตจที่อ้างถึงเอาต์พุตก่อนหน้าของตัวเอง
หากขั้นตอนในตัวกรอง IIR สามารถถูกจัดอันดับและหากขนาดรวมของสัมประสิทธิ์การตอบรับด้วยตนเองสำหรับระยะที่กำหนดนั้นน้อยกว่าหนึ่งขั้นตัวกรอง IIR จะรับประกันว่าจะเสถียร ตัวอย่างเช่นหากสเตจประกอบด้วยสัญญาณจำนวนหนึ่งจากสเตจก่อนหน้าบวกครึ่งหนึ่งของค่าก่อนหน้าของสเตจนั้นและ 1/4 ของค่าก่อนหน้านั้นลบ 1/8 ของค่าก่อนหน้านั้นขนาดทั้งหมดของตัวเอง ข้อเสนอแนะจะอยู่ที่ 7/8 ดังนั้นหากขาดข้อมูลเพิ่มเติมจากขั้นตอนล่างขนาดของการตอบรับจากการป้อนกลับด้วยตนเองจะลดลง 12.5% ทุกการทำซ้ำ
FIR ทำคณิตศาสตร์ของมันบนองค์ประกอบจำนวน จำกัด ให้บอกว่า 32 หรือ 12 หรือบางจำนวน แต่นั่นคือสิ่งที่คณิตศาสตร์ทำใช้จำนวน จำกัด ขององค์ประกอบและดำเนินการกรองเฉพาะเหล่านั้น
IIR ทำการคำนวณทางคณิตศาสตร์กับตัวอย่างทั้งหมดที่คุณป้อน ถ้าคุณให้อาหารมัน 10 ตัวอย่างและหยุดมันแล้วมันจะทำงานกับ 10 ตัวอย่างถ้าคุณให้อาหาร 1,000,000,000 ตัวอย่างจากนั้นคณิตศาสตร์จะดำเนินการกับ 1,000,000,000 ตัวอย่าง และถ้าคุณปล่อยให้สิ่งนั้นวิ่งไปเรื่อย ๆ การเข้าหาอนันต์ (ปล่อยให้มันวิ่งไปตลอดกาล) จำนวนองค์ประกอบเช่นเดียวกันก็จะไม่มีที่สิ้นสุดเข้าใกล้อนันต์ เนื่องจากคำ จำกัด แน่นอนใช้กับรุ่นอื่นอย่างชัดเจนและแบบจำลอง IIR มีวัตถุประสงค์เพื่อไม่ให้มีจำนวนตัวอย่าง จำกัด คำว่าอนันต์เป็นตรงกันข้ามกับขอบเขต จำกัด ฟังดูดีกว่าไม่มีกำหนดหรือบางคำอื่น ๆ