ตัวกรอง FIR ต้องการก๊อกจำนวนเท่าไร


20

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

ฉันรู้ว่าก๊อกมากขึ้นสามารถนำไปสู่การตัดความถี่ที่คมชัดยิ่งขึ้นและการปฏิเสธวงดนตรีหยุดที่ดีขึ้น ฯลฯ อย่างไรก็ตามสิ่งที่ฉันสนใจเป็นพื้นฐานมากขึ้น - ถ้าฉันต้องการใช้ตัวกรองความถี่ต่ำด้วย cutoff ที่พูดว่าหมายความว่าฉันต้องการอย่างน้อย 100 ก๊อกเพื่อลดทอนสัญญาณความถี่ที่ต่ำกว่า? หรือฉันจะไปด้วยก๊อกน้อยลงและถ้าเป็นเช่นนั้นจะมีขีด จำกัด ล่างทางทฤษฎี?fs100

คำตอบ:


24

การอ้างถึงการประมวลผลสัญญาณแบบดิจิทัลคลาสสิกของ Bellanger - ทฤษฎีและการปฏิบัติประเด็นไม่ได้อยู่ที่การตัดความถี่ของคุณ แต่คุณต้องการการลดทอนเท่าไหร่ระลอกคลื่นสัญญาณที่คุณต้องการรักษาไว้ให้คุณสามารถทนได้และที่สำคัญที่สุด จำกัด การเปลี่ยนแปลงของคุณให้แคบลงจาก pass-to stopband (width width)

ฉันคิดว่าคุณต้องการตัวกรองเฟสแบบเชิงเส้น (แม้ว่าคุณจะระบุความล่าช้าขั้นต่ำ แต่ฉันไม่คิดว่าตัวกรองเฟสขั้นต่ำเป็นความคิดที่ดีโดยทั่วไปเว้นแต่คุณจะรู้ว่าสิ่งที่คุณกำลังจะทำกับสัญญาณของคุณในภายหลัง) . ในกรณีนั้นลำดับการกรอง (ซึ่งก็คือจำนวนก๊อก) คือ

N23log10[110δ1δ2]fsΔf

กับ

fs the sampling rateΔf the transition width, ie. the difference between end of pass band and start of stop bandδ1 the ripple in passband, ie. "how much of the original amplitude can you afford to vary"δ2 the suppresion in the stop band.

มาเสียบตัวเลขกัน! คุณระบุความถี่ตัดของfs100ดังนั้นฉันจะดำเนินการต่อไปและรับสิทธิ์ความกว้างช่วงการเปลี่ยนภาพของคุณจะไม่เกินครึ่งดังนั้นΔf=fs200 .

มาจากเทคโนโลยี SDR / RF การปราบปราม 60 เดซิเบลนั้นเพียงพออย่างสมบูรณ์ - ฮาร์ดแวร์โดยไม่มีค่าใช้จ่ายบ้า ๆจะไม่ดีกว่าในการรักษาสัญญาณที่ไม่พึงประสงค์ออกจากอินพุตของคุณดังนั้นฉันเลยอย่าเสีย CPU กับตัวกรองที่ยอดเยี่ยม กว่าสิ่งที่ฮาร์ดแวร์ของคุณสามารถทำได้ ดังนั้นδ2=60 dB=103 3

สมมติว่าคุณสามารถมีชีวิตอยู่กับความหลากหลายของแอมพลิจูด 0.1% ใน passband (หากคุณสามารถมีชีวิตอยู่ได้มากกว่านั้นให้ลองกำหนดข้อกำหนดในการปราบปรามให้เข้มงวดน้อยลง) ว่าδ1=104 4

ดังนั้นเสียบที่:

NTommy's filter23log10[110δ1δ2]fsΔf=23log10[110104103]fsfs200=23log10[110107]200=23log10[1106]200=23(log10106)200=236200=800 .

ดังนั้นด้วย 200 ก๊อกของคุณคุณอยู่ไกลถ้าคุณใช้วงผ่านแคบมากในตัวกรองของคุณเหมือนที่ฉันคิดว่าคุณจะ

โปรดทราบว่านี่ไม่จำเป็นต้องเป็นปัญหาประการแรกตัวกรอง 800 ก๊อกนั้นน่ากลัว แต่ตรงไปตรงมาตั้งแต่แรกเห็นเท่านั้น:

  • ตามที่ฉันทดสอบในคำตอบนี้ที่ StackOverflow : ทุกวันนี้ CPU มีความรวดเร็วหากคุณใช้การปรับใช้ FIR ที่เหมาะสมของ CPU ตัวอย่างเช่นฉันใช้การนำFFT-FIR ของ GNU Radioไปใช้กับโครงร่างข้อกำหนดตัวกรองด้านบน ฉันได้รับการแสดง 141 ล้านตัวอย่างต่อวินาที - นั่นอาจจะใช่หรืออาจไม่เพียงพอสำหรับคุณ ดังนั้นนี่คือกรณีทดสอบเฉพาะคำถามของเรา (ซึ่งใช้เวลาไม่กี่วินาทีในการสร้าง):ตัวกรอง FFT FIR ที่ใช้คลื่นวิทยุของ GNUผลลัพธ์ rate: rate_avg = 1.40982e + 08
  • MMM=50120050=24
  • 96kSsridiculously141MSs
  • 1100

3
Lake DSP กำลังทำฟิลเตอร์ FIR แตะ 256,000 ตัวตามเวลาจริงในช่วงกลางถึงต้นปี 1990 1200 ก๊อก? Phfffft! ;-)
Peter K.

2
@PeterK นั่นคือจิตวิญญาณ! ความเคารพอย่างลึกซึ้งสำหรับ 256kT FIR - ความแม่นยำเชิงตัวเลขที่พวกเขาสร้างขึ้นโดยต้องมีความน่าทึ่งเท่ากับขนาดที่แท้จริงของการออกแบบ เมื่อยังเด็กเกินไปที่จะสนุกกับเทคโนโลยีด้วยตัวเองต้นยุค 90 ต้องเป็นช่วงเวลาที่น่าสนใจ พูดคุยกับวิศวกรในขณะที่ย้อนกลับไปที่วงจรรวม DFT ในสมัยนั้น ความต้องการ DSP DSP เฉพาะแอปพลิเคชันดูเหมือนจะสูงเพราะผู้คนตระหนักว่า DSP-wise เป็นไปได้ด้วยแพลตฟอร์มการประมวลผลเพื่อจัดการกระแสข้อมูลที่เกิดขึ้นจริง ๆ แต่ไม่มีผู้ให้บริการ "อเนกประสงค์" รอบตัว (เหมือนวันนี้)
Marcus Müller

@PeterK. ใช่ แต่พวกเขามักจะดึงขาของเราออกมา
robert bristow-johnson

@ robertbristow-johnson oy matey เรื่องตลกในวงเกิดขึ้นที่นี่: D?
Marcus Müller

2
@ MarcusMüllerถึงแม้จะมีที่ดูเหมือนจะเป็นความนิยมที่เพิ่มขึ้นของ ASICs กลับมาแล้วเมื่อเทียบกับตอนนี้ (และฉันคิดว่ามันเป็นเพราะทุกคนที่เป็นสเปค ASIC / ออกแบบแล้วตอนนี้ก็ใช้ FPGAs) มีอยู่ "อเนกประสงค์" ประมวลสัญญาณระบบสำรองในช่วงต้น 90s ที่ LakeDSP thingie ถูกสร้างขึ้นมาเป็น 6 DSP56001
robert bristow-johnson

14

สำหรับการประมาณการที่รวดเร็วและใช้งานได้จริงฉันชอบกฎของนิ้วหัวแม่มือเฟรแฮร์ริส:

Ntaps=Atten22BT

ที่อยู่:

Atten คือการลดทอนที่ต้องการในเดซิเบล

BTBT=FstopFpassFs

FstopFpass

Fs

สิ่งนี้ออกมาใกล้เคียงกับสิ่งที่คุณจะได้รับสำหรับตัวกรองเฟสเชิงเส้นที่มีระลอก passband ที่ 0.1 เดซิเบล ฉันใช้กฎของหัวแม่มือนี้บ่อยครั้งเพื่อให้ได้แนวคิดแรกเกี่ยวกับจำนวนของก๊อกที่ต้องการและจากนั้นแก้ไขผ่านการวนซ้ำในกระบวนการออกแบบตัวกรอง

ข้อสังเกต: กฎข้อหัวแม่มือนี้ให้ข้อมูลเชิงลึกที่ยอดเยี่ยมเกี่ยวกับสิ่งที่ผลักดันจำนวนก๊อก: หยุดการลดทอนแบนด์ของวงและความชันของช่วงการเปลี่ยนภาพ (และคลื่นกระเพื่อม Passband แต่โดยทั่วไปแล้ว แอปพลิเคชั่นการสื่อสารไร้สาย - ข้อกำหนดการลดทอนจะมีอิทธิพลเหนือระลอกคลื่น ดังนั้นคำถามของคุณในการระบุจุดตัดที่ Fs / 100 จะหายไปว่าคุณต้องเปลี่ยนเป็นวงหยุดเร็วแค่ไหน

FsFpassFstop

Ntaps=60222/100=137

การเล่นกับตัวเลขเหล่านี้ยังสามารถแสดงให้เห็นถึงความสำคัญในการลดการประมวลผลโดยใช้วิธีการทำลายล้าง


7

เพิ่มไปยังคำตอบที่ยอมรับการอ้างอิงเพิ่มเติมไม่กี่ ฉันจะไม่เขียนสูตรที่สามารถเกี่ยวข้องได้ สูตรเหล่านั้นส่วนใหญ่ให้กฎของหัวแม่มือหรือการประมาณที่จะเริ่มต้น คุณสามารถทำตามตัวเลขเหล่านี้เพื่อการออกแบบที่แท้จริงของคุณ

หนึ่งในจุดเริ่มต้นสำหรับการออกแบบของ Bellanger คือ: ความซับซ้อนในการคำนวณในตัวกรองดิจิตอล, 1981, Proc Eur conf การออกแบบทฤษฎีวงจร, M. Bellanger มันเป็นเรื่องยากมากที่จะได้รับ แต่มันก็เป็นไปได้ ที่น่าสนใจคือมันยังระบุสูตรเพื่อประเมินจำนวนบิตต่อค่าสัมประสิทธิ์ซึ่งควรพิจารณาในการใช้งานแบบ จำกัด ทางคณิตศาสตร์ รุ่นที่สามารถเข้าถึงได้มากขึ้นในภาษาฝรั่งเศสคือ: การประเมินผล de complexité des filtres numériques , 1982

สูตรอื่น ๆ อีกมากมายถูกรวบรวมในการออกแบบฟิลเตอร์การตอบสนองต่อแรงกระตุ้นไฟไนต์ , คู่มือสำหรับการประมวลผลสัญญาณดิจิตอล, 1993, T. Samamaki

เมื่อเร็ว ๆ นี้คุณสามารถอ่านการประเมินความยาวตัวกรองขั้นต่ำที่แม่นยำสำหรับตัวกรองดิจิตอล FIR ที่เหมาะสมที่สุด 2000, K. Ichige และคณะ

สุดท้ายการออกแบบกระดาษที่มีประสิทธิภาพของตัวกรอง FIR พร้อมคำสั่งกรองขั้นต่ำโดยใช้การเพิ่มประสิทธิภาพ l0-normในปี 2014 อ้างว่าการออกแบบที่คำสั่งนั้นลดลงเรื่อย ๆ


4

minimize max(|H(ω)|)for all ω in the stopband
subject to1δ|H(ω)|δ for all ω in the passband

ปัญหาหลักในทางปฏิบัติที่ฉันสามารถนึกได้ก็คือจำนวนตัวอย่างความถี่ที่ใช้เมื่อทำการปรับให้เหมาะสมเนื่องจากพฤติกรรมตัวอย่างระหว่างความถี่อาจทำให้เกิดผลที่ไม่พึงประสงค์ ความพอดีจะดีขึ้นอยู่กับจำนวนก๊อก ฉันเดาได้ว่าจำนวนก๊อกขั้นต่ำคือเมื่อปัญหาไม่สามารถทำได้ ดังนั้นทางออกหนึ่งคือการแก้ปัญหาความเป็นไปได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.