เหตุใดจึงต้องใช้การแปลงฟูริเยร์ที่รวดเร็วเพื่อลดเสียงรบกวนแทนที่จะเป็นตัวกรองอิเล็กทรอนิกส์แบบดั้งเดิม


17

ฉันต้องการทราบวิธีลบเสียงรบกวนจากการบันทึกเสียงพูด

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


เพราะ fft ให้ผลผลิตคุณภาพดีขึ้นหรือไม่
Solar Mike

4
เปรียบเทียบราคาของระบบ DSP 5GS / s กับของ indutors และหมวก ...
PlasmaHH

1
บางทีคุณสามารถทำการกรองที่ซับซ้อนมากขึ้นด้วย fft "ตัวกรองอิเล็กทรอนิกส์แบบคลาสสิก" เพียงแค่ลบความถี่ทั้งหมดในช่วงที่กำหนด นี่คือตรานักเรียนของคุณของขวัญจากฉันถึงคุณ
Andrew Pikul

1
ฉันมีปัญหา 2 ข้อกับคำถามของคุณ: (1) คุณหมายถึงอะไรโดย "classic eletronic filter"? (2) ความจริงที่ว่ามีบางสิ่งที่ทำในลักษณะเดียว (FFT) ไม่ได้หมายความว่ามันไม่สามารถทำได้อีกทาง (ตัวกรอง) อาจมีข้อเสียที่จะทำวิธีอื่น อย่างไรก็ตามคุณคิดว่ามันเป็นไปไม่ได้ที่จะทำอย่างไรกับตัวกรองอิเล็คทรอนิกส์แบบดั้งเดิม (ไม่ว่าคุณจะหมายถึงอะไร) ซึ่งอาจผิด
นมเปรี้ยว

รูปแบบของการบันทึกเสียงพูดของคุณคืออะไร (อนาล็อกกับดิจิตอล)? ความหน่วงแฝงเป็นปัญหาหรือไม่ การบันทึก (เพลงเทียบกับการบันทึกวัน) นานเท่าไหร่?
copper.

คำตอบ:


25

ฉันต้องการทราบวิธีลบเสียงรบกวนจากการบันทึกเสียงพูด

ตอนนี้มันถูกจัดเก็บแบบดิจิทัลใช่ไหม? คุณวางแผนที่จะวางไมโครโฟนไว้ถัดจากลำโพงหลังจากตัวกรองแอนะล็อกเพื่อบันทึกใหม่หรือไม่

พอล้อเล่นฉันจะจริงจัง


เพื่อที่จะทำให้ฟิลเตอร์ลดทอนความถี่ในช่วงที่น้อยลงอาคาจะทำให้เส้นโค้งการตอบสนองความถี่เป็นแนวดิ่งมากขึ้นจากนั้นคุณเพียงแค่ต้องเพิ่มลำดับของฟิลเตอร์

นั่นเป็นสิ่งที่ง่ายต่อการทำใน Matlab นอกจากนี้ยังเป็นสิ่งที่เป็นไปได้ที่จะทำการโพสต์ นอกจากนี้ยังเกี่ยวกับความสามารถในการทำซ้ำหากคุณใช้ตัวกรองในวันที่มีแดดวันนี้คุณคาดหวังให้ตัวกรองทำงานเหมือนกันในวันพรุ่งนี้เมื่อฝนตก คุณคาดหวังให้มันทำงานเหมือนเดิมใช่มั้ย

ในวงจรอะนาล็อกคุณมี "ตัวต้านทาน 5%" เหล่านี้ "ตัวเก็บประจุ 1%" และสิ่งอื่น ๆ ทั้งหมด ดังนั้นหากคุณต้องการทำสิ่งที่แน่นอนคุณจะต้องตัดวงจรในภายหลังเพื่อให้ตรงกับตัวกรองที่คุณต้องการอย่างสมบูรณ์ หากคุณต้องการเพิ่มลำดับของตัวกรอง ... ถ้าอย่างนั้นเศร้า .. มันจะทำให้ตัวกรองใหญ่ขึ้นเรื่อย ๆ แทนที่จะใช้ขนาดของบัตรเครดิตมันจะใช้ขนาดของฉันไม่รู้ขึ้นอยู่กับลำดับตัวกรองและสิ่งที่คุณตกลง

เกี่ยวกับความสามารถในการทำซ้ำทำอะไรวันนี้ .. อบอุ่น .. ในวันพรุ่งนี้ .. ความหนาวเย็น ... ความต้านทานจะเปลี่ยนไปเล็กน้อยการตอบสนองความถี่จะเปลี่ยนไปสองเท่าของเฮิร์ตซ์ที่นั่นบางส่วนที่นั่นส่วนประกอบเพิ่มเติมที่คุณมีในวงจร มีโอกาสมากกว่าที่องค์ประกอบของคุณจะเปลี่ยนค่าได้ แล้วคุณมีความชื้นออกซิไดซ์ ...

และนี่คือมุกที่ฉันควรจะพูดก่อนอื่นคุณไม่สามารถทำการโพสต์มันได้เว้นแต่คุณจะได้เทปคาสเซ็ท ฉันไม่แน่ใจ 100% สื่อดนตรีอะนาล็อกที่ใช้ในการบันทึก / ลบอย่างง่ายดาย แผ่น LP จะเป็นฝันร้าย ...

และอย่าลืมราคา หนึ่งคือซอฟต์แวร์ถ้าคุณเขียนด้วยตัวคุณเองมันเป็นฟรีส่วนอื่น ๆ ต้องการส่วนประกอบชิ้นส่วนทางกายภาพ

แต่อย่าคิดว่าฟิลเตอร์แบบอะนาล็อกไม่ดีพวกมันใช้งานได้เช่นการลบฮาร์โมนิกที่น่ารังเกียจในมอเตอร์กระแสตรงขนาดใหญ่หรือทำมอเตอร์สเต็ปเงียบเป็นพิเศษสำหรับเครื่องพิมพ์ 3 มิติโดยทำให้กระแสในปัจจุบันราบรื่น และการใช้งานอื่น ๆ อีกมากมาย - หากคุณจะแก้ปัญหาด้วยตัวกรองแอนะล็อกไม่มีใครคิดว่ามันจะเป็นทางออกที่ไม่ดี

ฉันเชื่อว่าฉันตอบทางอ้อมว่าทำไม FFT เป็นวิธีที่ดีกว่าในการประมวลผลที่ชาญฉลาด บรรทัดล่างคือมันมากถูกกว่าจะทำ คุณสามารถใช้ตัวกรองรอยก็ได้หากคุณรู้ว่ามีสัญญาณรบกวนอยู่ที่ใด หรือตัวกรอง bandstop aka ที่กว้างขึ้น

และสิ่งสุดท้ายที่ฉันต้องการเพิ่ม ... คำตอบนี้ยาวเกินไปฉันขอโทษ แต่ถ้าคุณใช้ตัวกรองแบบแอนะล็อกและคุณ ... ยุ่งกับการคำนวณของคุณแล้วคิดว่ามันดีและสวยงามและใช้มันในบางกรณีที่ร้ายแรงเช่นการสัมภาษณ์ราชาแห่งสวีเดน (Knugen) และคุณยุ่งกับขนาดของตัวเก็บประจุแทนที่จะกรองสัญญาณรบกวน 16kHz คุณกำลังกรอง "เสียง" 4kHz หากคุณจัดการกับมันแบบดิจิทัลแทนที่จะเป็นเรื่องของการเปลี่ยนแปลงตัวแปรบางอย่างคุณไม่จำเป็นต้องยกเลิก -> ประสานองค์ประกอบอื่น อีกทั้งการสัมภาษณ์ก็ถูกทำลาย


4
Hans Majonnäs Honung Carl XVI Gustaf
ไปป์

@pipe Tackar, det behövdes. (ขอขอบคุณฉันต้องการสิ่งนั้น)
Harry Svensson

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

@slebetman ไม่ได้คาดหวังให้ฉันตอบคำถามนั้น
Harry Svensson

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

7

แต่ทำไมคุณไม่สามารถใช้ตัวกรองอิเล็กทรอนิกส์แบบคลาสสิกเพื่อลบความถี่เสียงได้

ใครบอกว่าคุณทำไม่ได้ มันเป็นสิ่งที่เกิดขึ้นในไม่กี่วันก่อนการประมวลผลสัญญาณดิจิตอล ปัญหาคือการกรองสัญญาณรบกวนนั้นเป็นการประนีประนอมระหว่างการรักษาสัญญาณที่คุณต้องการ (คำพูด, เพลง) โดยไม่มีการแตะต้องในขณะที่ลดเสียงรบกวนลง

สำหรับเทปคาสเซ็ตและระบบบันทึกเทปแบบแอนะล็อกอื่น ๆ เช่น DNL และ Dolby ถูกใช้ซึ่งกรองเฉพาะเมื่อสัญญาณอ่อนซึ่งหมายความว่าเสียงจะดังขึ้น จากนั้นเมื่อสัญญาณแรงขึ้นฟิลเตอร์ก็จะจางหายไป ดู:บทความ Wikipedia เกี่ยวกับการลดเสียงรบกวน

คำพูดนั้นสามารถ จำกัด ได้เฉพาะย่านความถี่แคบเช่น 300 Hz ถึง 3 kHz ในขณะที่ยังเข้าใจได้อย่างสมบูรณ์ คุณสามารถสร้างตัวกรองแอนะล็อกแบบง่าย ๆ สำหรับวงดนตรีนั้น แต่นั่นจะ จำกัด จำนวนเสียงที่ถูกยับยั้ง หากต้องการกรองความถี่ที่มีประสิทธิภาพยิ่งขึ้นนอกแถบนี้จะต้องใช้ตัวกรองแอนะล็อกที่ซับซ้อน ตัวกรองดังกล่าวนั้นยากที่จะออกแบบสร้างและผลิต

นี่คือที่มาของการประมวลผลสัญญาณดิจิทัลในโดเมนดิจิทัลจะง่ายกว่ามากในการนำตัวกรองที่ซับซ้อนมาใช้กับเสาและศูนย์จำนวนมาก นอกจากนี้เนื่องจากตำแหน่ง (ในโดเมนความถี่) ของเสาและศูนย์เหล่านี้เชื่อมโยงกับนาฬิกาของ DSP (Digital Signal Processor) ซึ่งเป็นนาฬิกาที่แม่นยำ (คริสตัล) นาฬิกาตัวกรองจะแม่นยำมากขึ้นเมื่อเทียบกับการใช้งานแบบอะนาล็อก .


+1 สำหรับการกล่าวถึงการประนีประนอมระหว่างการรักษาสัญญาณที่ต้องการและการลบที่ไม่พึงประสงค์ ปัญหาคือเสียงพูดและเสียงอยู่ในความถี่เดียวกันดังนั้นตัวกรอง FFT จึงสามารถลบเสียง "พื้นฐาน" เช่นหลังจากวิเคราะห์ความกว้างของเสียงในแต่ละความถี่โดยไม่มีการพูดซึ่งสามารถลบออกได้เมื่อมีการพูด นี่คือวิธีที่ตัวกรองสัญญาณรบกวน FFT ในAudacityฯลฯ ทำงาน ฯลฯ
วิศวกรที่กลับรายการ

ฉันไม่แน่ใจว่าสิ่งที่ทำให้ตัวกรองแบบอะนาล็อกยากโดยเฉพาะอย่างยิ่งในการออกแบบและสร้าง .. สิ่งที่คุณต้องการโดยทั่วไปคือ opamp หนึ่งหรือสองตัวและตัวต้านทานและตัวเก็บประจุ และเนื่องจากโอปป์มักจะมาในแพ็คเกจคู่คุณจึงต้องมีชิปเพียงตัวเดียว ฉันมักจะใช้ตัวกรองแบบอะนาล็อกเพื่อทำการกรองแบบ low-pass เพื่อให้แน่ใจว่ามีสัญญาณความถี่สูงในนาม aliased เล็กน้อย คุณไม่สามารถกำจัดมันได้ด้วย FFT หลังจากนั้น ในทางกลับกันก็ไม่มีปัญหาในการทำตัวกรอง bandpass FFT เมื่อคุณมี "การบันทึก" ที่สะอาดเพื่อดำเนินการ
Barleyman

@Barleyman ไม่แน่ใจว่าสิ่งที่ทำให้ตัวกรองแบบอะนาล็อกยากโดยเฉพาะอย่างยิ่งในการออกแบบและสร้างฉันหมายถึงตัวกรองลำดับสูงเช่นลำดับที่ 4 และสูงกว่า ฉันเห็นด้วยที่ opamps สองสาม ตัวต้านทานและตัวเก็บประจุสามารถทำเกือบทุกตัวกรองคำสั่งซื้อ แต่คุณได้พยายามออกแบบตัวกรองหรือไม่? ฉันได้แล้วโอเคในแบบจำลอง แต่จากนั้นคุณก็พบกับตัวเก็บประจุแบบ off-the-shelf มาตรฐานที่ไม่แม่นยำพอ ที่คำสั่งซื้อที่สูงขึ้นค่าที่แม่นยำของส่วนประกอบมีความสำคัญมากขึ้นเรื่อย ๆ
Bimpelrekkie

การใช้นามแฝงไม่ใช่ปัญหาดังกล่าวอีกต่อไปเนื่องจากเรามี sigma-delta ADC และ DAC ที่มีความถี่การสุ่มตัวอย่างสูงมากดังนั้น RC แบบง่าย ๆ ก็เป็นสิ่งที่จำเป็น
Bimpelrekkie

@Bimpelrekkie ฉันได้ออกแบบหลาย ๆ อย่างแล้ววันนี้ .. ย้อนกลับไปในวันที่คุณจะใช้หนังสือที่มีตัวเลือกพารามิเตอร์ที่คำนวณล่วงหน้าซึ่งคุณใช้เวลากับการรับค่าส่วนประกอบที่เหมาะสม ความแม่นยำไม่ใช่ปัญหาใหญ่หากคุณไม่พยายามเลือกมากเกินไป RC ไม่สามารถทำงานให้สำเร็จได้หากคุณพยายามทำเช่นบันทึกเสียง ด้วย -20dB / ทศวรรษคุณจะต้องใส่ตัวกรองที่ 2.2kHz เพื่อรับการกรองบางชนิดที่ความถี่ Nyquist ลำดับที่ 3 Cherbychew จะทำได้ดีกว่า @ 12kHz fc ลำดับที่ 5 จะนำคุณไปที่ -46dB ซึ่ง "ดีพอ"
Barleyman

5

ขั้นตอนแรกในการทำความเข้าใจว่าทำไมเราต้องใช้ FFT คือการเข้าใจว่าตัวกรองดิจิทัลทำงานอย่างไร

โดยพื้นฐานแล้วคุณมีโครงสร้างเช่น shift register ที่มีองค์ประกอบหน่วยความจำจำนวนหนึ่งอินพุตและเอาต์พุต ค่าตัวอย่างจะเข้าสู่อินพุตรับการเลื่อนผ่านรีจิสเตอร์และย้ายไปยังเอาต์พุต ในแต่ละขั้นตอนของการลงทะเบียนจะถูกคูณด้วยตัวเลขที่เรียกว่าสัมประสิทธิ์การกรอง

ความคิดนี้ใช้งานได้ดีเมื่อคุณมีการลงทะเบียนอย่างรวดเร็วทำการคูณอย่างรวดเร็วและคุณมีตัวอย่างมาทีละช้า

ในชีวิตจริงแทนที่จะเป็นเช่นนั้นคุณมักจะได้เฟรมที่ประกอบด้วยกลุ่มตัวอย่างจำนวนหนึ่ง เมื่อคุณต้องการกรองสิ่งนั้นคุณจะโน้มน้าวตัวอย่างด้วยสัมประสิทธิ์การกรอง นั่นเหมือนกับการทำตามวิธีก่อนหน้านี้ แต่ดูเหมือนแตกต่างกันเล็กน้อย

ตอนนี้ส่วน FFT มา ปรากฎว่าการบิดเพิ่มขึ้นในความซับซ้อนของตัวเลขอย่างรวดเร็วด้วยจำนวนตัวอย่าง ในทางตรงกันข้าม FFT นั้นเริ่มมีความซับซ้อนเชิงตัวเลข แต่จำนวนของการปฏิบัติการที่ต้องการนั้นเพิ่มขึ้นช้ากว่ามากเมื่อเทียบกับค่าสัมประสิทธิ์การกรองที่เพิ่มขึ้นเมื่อเทียบกับการโน้มน้าวใจ

สิ่งที่หมายถึงข้างต้นคือมีตัวอย่างจำนวนหนึ่งซึ่งจะเร็วกว่ามากในการแปลงสัญญาณเป็นโดเมนความถี่โดยใช้ FFT กรองสัญญาณในโดเมนความถี่แล้วแปลงกลับมาโดยใช้ IFFT เคล็ดลับที่เราใช้เป็นหนึ่งในคุณสมบัติของการสนทนานั่นคือการสนทนาในโดเมนเวลาสามารถในบางสถานการณ์ได้รับการจำลองแบบการคูณในโดเมนความถี่

ดังนั้นหากสรุปจำนวนสัมประสิทธิ์ตัวกรองของคุณมีขนาดใหญ่พอ FFT จะเร็วขึ้น "ใหญ่" อาจมีขนาดเล็กเท่ากับหนึ่งร้อยหรือมากกว่านั้น


3
ฉันคิดว่า "ตัวกรองอิเล็กทรอนิกส์แบบคลาสสิก" เขาหมายถึงตัวกรองแบบอะนาล็อกไม่ใช่การบิด
jalalipop

1
@jalalipop อาจเป็นได้ แต่ฉันต้องการอธิบายส่วน FFT อย่างชัดเจน ในตอนนี้เรามีคำตอบแล้วอธิบายว่าทำไมเราจึงต้องการมีตัวกรองดิจิทัลแทนที่จะเป็นแบบอะนาล็อก
AndrejaKo

2

วิธีการที่ใช้ FFT (คุณจะต้องทำงานกับการปรับเปลี่ยนหน้าต่างและซ้อนทับหรือเพิ่มหรือทับซ้อนกะ) มีข้อได้เปรียบหลักที่การออกแบบนั้นอยู่ในโดเมนความถี่และตัวกรอง Wiener หรือการลบสเปกตรัมหรือจำนวน ระบบอื่น ๆ ที่ใช้สถิติสัญญาณและตัวแบบจำลองนั้นใช้งานได้จริงในโดเมนความถี่

ในทางตรงกันข้ามการยกเลิกเสียงก้องและตัวแปรต่างๆไม่ได้ขึ้นอยู่กับรูปแบบของเสียงรบกวน แต่ในการบันทึกที่ไม่สมบูรณ์มีความสัมพันธ์อย่างมากกับเสียงรบกวน สิ่งเหล่านี้ทำโดยใช้ตัวกรองที่แตกต่างกัน (โดยทั่วไปคือ FIR) เพื่อลบการประมาณสัญญาณรบกวนจากสัญญาณและอัปเดตตัวกรองเพื่อรักษาความสัมพันธ์ของสัญญาณที่เหลือกับช่องสัญญาณเสียงให้เหลือน้อยที่สุด สำหรับเทคนิคเหล่านั้น FFT ไม่ใช่สิ่งที่มีประโยชน์ (เมื่อเกิดความล่าช้ามากของสัญญาณที่เกิดขึ้นและการอัพเดทตัวกรองจะได้รับอนุญาตพวกเขาสามารถใช้เป็นส่วนประกอบใน blackbox FIR ที่มีความล่าช้าด้วยเหตุผลด้านประสิทธิภาพ ความสามารถในการแสดงโดเมนความถี่)


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

2

ตัวกรองแบบอะนาล็อกนั้นง่ายพอที่จะออกแบบได้ แต่ข้อ จำกัด คือคุณต้องทำการเพิ่มองค์ประกอบตัวกรองแบบกายภาพเพื่อให้ได้การกรองแบบแบนด์ - หยุดของความถี่ที่กำหนด และคุณต้องปรับค่าองค์ประกอบหากคุณต้องการเลื่อนรอยหยัก opamp เดียวสามารถทำรอยสักแบนด์หนึ่งวงได้ดังนั้นคุณต้องเพิ่มแอมพลิฟายเออร์อื่นสำหรับรอยแต่ละอันที่คุณต้องการ สำหรับรอยบากที่เลือกได้มากขึ้นคุณจะต้องใช้แอมพลิฟายเออร์สองตัวต่อรอย

ในแง่การปฏิบัติคุณน่าจะได้รับบริการที่ดีที่สุดโดยตัวกรอง low-pass ลำดับที่ 3 ที่คุณสามารถทำได้ด้วย opamp เดี่ยวหรือตัวกรอง low pass ลำดับที่ห้าที่ต้องใช้สองตัว ใช้ฟิลเตอร์กรองความถี่ต่ำเพื่อลดทอนความถี่เหนือความถี่ Nyquist (1/2 ความถี่การสุ่มตัวอย่าง) ด้วยระยะขอบและคุณจะมีตัวอย่างดิจิทัลคุณภาพสูงในกระบวนการหลังการทำงาน ด้วยการบันทึกแบบใหม่ทั้งหมดคุณสามารถใช้ตัวกรอง FFT เพื่อสร้างตัวกรอง high-pass, band-pass และ band-stop ได้ตามต้องการ


1

การกรองเวลาแบบไม่คงที่เป็นเส้นตรงซึ่ง "ตัวกรองอิเล็กทรอนิกส์แบบคลาสสิก" ทำเพียงแค่การคูณ "โง่" ในโดเมนฟูริเยร์ แต่ข้อมูลที่คุณค้นหาใน FFT จะบอกรายละเอียดให้คุณมากกว่าการตอบสนองของตัวกรองเดียวซึ่งเป็นเพียงการรวมกันเชิงเส้นของส่วนประกอบเหล่านั้น การใช้ข้อมูลนั้นคุณสามารถคัดท้ายการประมวลผลข้อมูลและปรับให้เข้ากับข้อมูล เสียงรบกวนมีลักษณะบางอย่างที่เสียงร้องที่ชัดเจนและโทนเสียงดนตรีไม่ได้เช่นความสัมพันธ์ระหว่างเสียงหวือหวานั้นไม่เหมือนกันสำหรับเสียงหรือเสียงดนตรี

ดังนั้นหากเราสามารถระบุความสัมพันธ์ระหว่างส่วนประกอบความถี่ - เช่นการหา "เสียงพื้น" อย่างใดเราสามารถคัดกรองและทำให้มันปรับให้เข้ากับข้อมูล

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