Tại sao nên sử dụng biến đổi Fourier nhanh để giảm nhiễu thay vì bộ lọc điện tử cổ điển?


17

Tôi muốn biết làm thế nào để loại bỏ tiếng ồn môi trường từ một bản ghi âm giọng nói.

Tôi đã thực hiện một số nghiên cứu và tôi nhận thấy rằng hầu hết các phương pháp được đề xuất đều sử dụng biến đổi Fourier nhanh. Nhưng tại sao bạn không thể sử dụng bộ lọc điện tử cổ điển để loại bỏ tần số nhiễu? Tại sao phải bận tâm với việc thực hiện FFT?


Bởi vì fft cho chất lượng đầu ra tốt hơn ??
Năng lượng mặt trời Mike

4
So sánh giá của hệ thống DSP 5GS / s với giá của một nhóm các bộ cảm ứng và mũ ...
PlasmaHH

1
Có lẽ bạn có thể thực hiện lọc phức tạp hơn với một fft. "Bộ lọc điện tử cổ điển" chỉ cần loại bỏ tất cả các tần số trong một phạm vi nhất định. Ngoài ra, đây là huy hiệu sinh viên của bạn, một món quà từ tôi cho bạn.
Andrew Gulul

1
Tôi có 2 vấn đề với câu hỏi của bạn: (1) "Bộ lọc eletronic cổ điển" nghĩa là gì? (2) Thực tế là một cái gì đó được thực hiện theo một cách (FFT) KHÔNG có nghĩa là nó không thể được thực hiện theo cách khác (bộ lọc); có thể có một số nhược điểm để làm điều đó theo cách khác. Tuy nhiên, bạn cho rằng không thể thực hiện được với bộ lọc eletronic cổ điển (bất kể ý của bạn là gì), điều này có thể sai.
Sữa đông

Định dạng ghi âm giọng nói của bạn (tương tự so với kỹ thuật số) là gì? Là độ trễ là một vấn đề (sống so với sau khi thực tế)? Thời gian ghi âm là bao lâu (một bài hát so với ngày ghi âm)?
đồng.

Câu trả lời:


25

Tôi muốn biết làm thế nào để loại bỏ tiếng ồn môi trường từ một bản ghi âm giọng nói.

Bây giờ nó được lưu trữ kỹ thuật số, phải không? Vì vậy, bạn có kế hoạch đặt micrô của bạn bên cạnh loa sau một bộ lọc tương tự để ghi lại nó?

Đủ thứ lộn xộn, tôi sẽ nghiêm túc.


Để làm cho bộ lọc suy giảm nhiều hơn trong một dải tần số nhỏ hơn, hay còn gọi là làm cho đường cong đáp ứng tần số thẳng đứng hơn, thì bạn chỉ cần tăng thứ tự của bộ lọc.

Đó là một điều khá dễ dàng để làm trong Matlab. Đó cũng là một cái gì đó khả thi để xử lý hậu kỳ. Đó cũng là về khả năng lặp lại, nếu bạn áp dụng bộ lọc vào một ngày nắng hôm nay, thì bạn mong đợi nó sẽ hoạt động giống hệt vào ngày mai khi trời mưa. Bạn mong đợi nó để làm việc chính xác như nhau, phải không?

Trong các mạch tương tự, bạn có tất cả "điện trở 5%", "tụ điện 1%" và tất cả những thứ khác. Vì vậy, nếu bạn muốn làm cho một cái gì đó chính xác, bạn chắc chắn sẽ cần phải cắt mạch sau đó để nó phù hợp hoàn hảo với bộ lọc mong muốn của bạn. Nếu bạn muốn tăng thứ tự của bộ lọc ... thì thật đáng buồn .. nó sẽ làm cho bộ lọc lớn hơn rất nhiều về mặt vật lý. Thay vì chiếm kích thước của thẻ tín dụng, nó sẽ chiếm kích thước, tôi không biết, phụ thuộc vào thứ tự bộ lọc và những gì bạn thấy ổn.

Về độ lặp lại, làm một cái gì đó hôm nay .. ấm áp .. ngày mai .. lạnh hơn ... các điện trở sẽ thay đổi rất ít, đáp ứng tần số sẽ thay đổi, một vài Hz ở đó, một số ở đó, bạn càng có nhiều thành phần trong mạch của mình , có nhiều khả năng là các thành phần của bạn sẽ thay đổi giá trị của chúng. Và sau đó bạn có độ ẩm, oxy hóa ...

Và đây là câu kết luận mà tôi nên nói trước tiên, bạn thực sự không thể xử lý hậu kỳ, trừ khi bạn có băng cassette. Tôi không chắc chắn 100% phương tiện âm nhạc tương tự nào đang được sử dụng để ghi / xóa dễ dàng. Đĩa LP sẽ là một cơn ác mộng ...

Và đừng quên giá cả. Một là phần mềm, nếu bạn tự viết nó thì về cơ bản nó là miễn phí, phần còn lại yêu cầu các thành phần, phần vật lý.

Nhưng đừng nghĩ rằng các bộ lọc tương tự là xấu, chúng có công dụng của chúng, chẳng hạn như loại bỏ các sóng hài khó chịu trong các động cơ DC lớn hoặc tạo ra các động cơ bước cực kỳ im lặng cho máy in 3D bằng cách làm giảm dòng điện. Và hàng tấn công dụng khác. - Ngoài ra nếu bạn giải quyết nó bằng bộ lọc tương tự, không ai nghĩ đó sẽ là một giải pháp tồi.

Tôi tin rằng tôi đang gián tiếp trả lời tại sao FFT là một cách tốt hơn để giải quyết vấn đề đó, xử lý hậu kỳ một cách khôn ngoan. Điểm mấu chốt là nó rẻ hơn nhiều để làm. Bạn cũng có thể chỉ cần áp dụng bộ lọc notch nếu bạn biết tiếng ồn ở tần số nào. Hoặc một bộ lọc bandstop rộng hơn, hay còn gọi là.

Và điều cuối cùng tôi muốn thêm ... woaw câu trả lời này quá dài, tôi xin lỗi. Nhưng nếu bạn sử dụng bộ lọc tương tự và bạn ... làm rối tung các tính toán của mình và sau đó nghĩ rằng mọi thứ đều ổn và bảnh bao và sử dụng nó trong một số sự kiện nghiêm trọng, như phỏng vấn nhà vua Thụy Điển (Knugen). Và bạn đã nhầm lẫn với kích thước của tụ điện, thay vì lọc nhiễu 16kHz, bạn đang lọc "nhiễu" 4kHz. Thay vào đó, nếu bạn xử lý nó bằng kỹ thuật số thì đó chỉ là vấn đề thay đổi một số biến, bạn không cần phải giải mã -> hàn một thành phần khác. Ngoài ra cuộc phỏng vấn bị hủy hoại.


4
Hans Majonnäs Honung Carl XVI Gustaf
đường ống

@pipe Tackar, det Behövdes. (Cảm ơn, tôi cần điều đó.)
Harry Svensson

Câu hỏi tiếp theo (vì câu trả lời này xoay quanh quá nhiều về định nghĩa nghĩa đen của từ tương tự). Tại sao chọn FFT để lọc nhiễu thay vì các bộ lọc đa thức cổ điển?
slebetman

@slebetman đừng mong tôi trả lời điều đó.
Harry Svensson

Đó là một câu trả lời khá vững chắc! Cảm ơn người anh em, và cảm ơn những người khác đã trả lời, tôi không mong đợi sự giúp đỡ nhiều như vậy! Tôi chắc chắn sẽ hỏi nhiều câu hỏi hơn trong diễn đàn này. Cám ơn bạn một lần nữa!
Jazis

7

Nhưng tại sao bạn không thể sử dụng bộ lọc điện tử cổ điển để loại bỏ tần số nhiễu?

Ai nói bạn không thể? Đó là cách điều này đã được thực hiện trong những ngày trước khi xử lý tín hiệu số. Vấn đề là việc lọc nhiễu luôn là một sự thỏa hiệp giữa việc giữ cho tín hiệu mong muốn của bạn (lời nói, âm nhạc) không bị ảnh hưởng trong khi giảm nhiễu.

Đối với băng cassette và các hệ thống ghi băng analog khác như DNL và Dolby đã được sử dụng chỉ lọc khi tín hiệu yếu có nghĩa là nhiễu sẽ dễ nghe hơn. Sau đó khi tín hiệu mạnh hơn, bộ lọc sẽ tắt dần. Xem: Bài viết Wikipedia về giảm tiếng ồn

Lời nói có thể được giới hạn trong một dải tần số hẹp như 300 Hz đến 3 kHz trong khi vẫn hoàn toàn dễ hiểu. Bạn có thể tạo một bộ lọc tương tự đơn giản cho băng tần đó nhưng điều đó sẽ hạn chế mức độ nhiễu được triệt tiêu. Để lọc hiệu quả hơn các tần số ngoài băng tần này sẽ cần một bộ lọc tương tự phức tạp. Những bộ lọc như vậy rất khó để thiết kế, xây dựng và sản xuất.

Đây là nơi xử lý tín hiệu số. Trong miền kỹ thuật số, việc thực hiện các bộ lọc phức tạp với nhiều cực và số không dễ dàng hơn nhiều. Ngoài ra, do vị trí (trong miền tần số) của các cực và số không này được liên kết với đồng hồ của DSP (Bộ xử lý tín hiệu số), là đồng hồ chính xác (tinh thể), bộ lọc sẽ chính xác hơn nhiều so với triển khai tương tự .


+1 để đề cập đến sự thỏa hiệp giữa việc giữ tín hiệu mong muốn và loại bỏ không mong muốn. Vấn đề là tiếng nói và tiếng ồn chiếm cùng tần số, do đó, bộ lọc FFT có thể loại bỏ nhiễu "đường cơ sở" tức là sau khi phân tích biên độ nhiễu ở mỗi tần số mà không có lời nói , có thể được loại bỏ ở nơi có tiếng nói. Đây là cách các bộ lọc tiếng ồn FFT trong Audacity, v.v.
Kỹ sư đảo ngược

Tôi không chắc điều gì làm cho các bộ lọc tương tự đặc biệt khó thiết kế và xây dựng .. Tất cả những gì bạn cần cơ bản là một hoặc hai opamp và một số điện trở và tụ điện. Và vì opamp thường có các gói kép, bạn chỉ cần một chip. Tôi thường sử dụng bộ lọc tương tự để thực hiện lọc thông thấp để đảm bảo tín hiệu tần số cao được đặt bí danh trong tín hiệu. Bạn không thể thoát khỏi điều đó với FFT sau đó. Mặt khác, không có vấn đề gì khi thực hiện bộ lọc băng thông FFT khi bạn có một "bản ghi" sạch để xử lý.
Barleyman

@Barleyman không chắc chắn điều gì làm cho các bộ lọc tương tự đặc biệt khó thiết kế và xây dựng Tôi đã đề cập đến các bộ lọc bậc cao như bậc 4 trở lên. Tôi đồng ý rằng một vài opamp. điện trở và tụ điện có thể thực hiện hầu hết mọi bộ lọc thứ tự nhưng bạn đã thử thiết kế chưa? Tôi có, OK, trong một trình giả lập, nhưng sau đó bạn đã chạy vào các tụ điện tiêu chuẩn không đủ chính xác . Ở các đơn hàng cao hơn, giá trị chính xác của các thành phần ngày càng trở nên quan trọng.
Bimpelrekkie

Ngoài ra, răng cưa không còn là vấn đề như vậy nữa vì hiện tại chúng ta có các bộ ADC và bộ định tuyến sigma-delta với tần số lấy mẫu rất cao nên một RC đơn giản là tất cả những gì cần thiết.
Bimpelrekkie

@Bimpelrekkie Tôi đã thiết kế một số thứ, không có gì trong những ngày này .. Trước đây, bạn sẽ sử dụng một cuốn sách với một số lựa chọn tham số được tính toán trước mà bạn dành thời gian để tìm hiểu một số giá trị thành phần hợp lý. Độ chính xác không phải là một vấn đề lớn nếu bạn không cố gắng quá chọn lọc. RC không thực sự hoàn thành công việc nếu bạn đang cố gắng thực hiện ghi âm. Với -20dB / thập kỷ, bạn phải đặt bộ lọc ở mức 2.2kHz để có được một số loại lọc ở tần số Nyquist. Đơn hàng thứ 3 Cherbychew sẽ làm tốt hơn @ 12kHz fc. Đơn hàng thứ 5 sẽ đưa bạn đến -46dB, "đủ tốt"
Barleyman

5

Chà, bước đầu tiên để hiểu tại sao chúng ta cần FFT là hiểu cách hoạt động của bộ lọc kỹ thuật số.

Về cơ bản, bạn có một cấu trúc, giống như một thanh ghi thay đổi, với một số phần tử bộ nhớ, đầu vào và đầu ra. Một giá trị mẫu đi vào đầu vào, được chuyển qua thanh ghi và di chuyển đến đầu ra. Ở mỗi giai đoạn trong thanh ghi, nó được nhân với một số gọi là hệ số lọc.

Ý tưởng này hoạt động tốt khi bạn có một thanh ghi nhanh thực hiện phép nhân nhanh và bạn có các mẫu đến từ từ từng cái một.

Trong cuộc sống thực, thay vì điều đó, rất có thể bạn sẽ có được một khung bao gồm một số mẫu. Khi bạn muốn lọc điều đó, bạn sẽ kết hợp các mẫu với các hệ số bộ lọc. Điều đó cũng giống như cách làm trước đây, nhưng trông hơi khác một chút.

Bây giờ đến phần FFT. Nó chỉ ra rằng tích chập phát triển phức tạp số rất nhanh với số lượng mẫu. Mặt khác, FFT ban đầu rất phức tạp về số lượng, nhưng số lượng các hoạt động cần thiết tăng chậm hơn nhiều với sự gia tăng của các hệ số bộ lọc so với tích chập.

Điều trên có nghĩa là ở trên một số mẫu nhất định, việc chuyển đổi tín hiệu thành miền tần số sẽ nhanh hơn nhiều bằng cách sử dụng FFT, lọc tín hiệu trong miền tần số và sau đó chuyển đổi lại bằng IFFT. Thủ thuật mà chúng tôi đang sử dụng là một trong những tính chất của tích chập, cụ thể là tích chập trong miền thời gian, trong một số trường hợp, có thể được mô hình hóa như là phép nhân trong miền tần số.

Vì vậy, để tổng hợp lại, nếu số lượng hệ số bộ lọc bạn có đủ lớn, FFT sẽ nhanh hơn. "Lớn" có thể nhỏ bằng một trăm hoặc hơn.


3
Tôi nghĩ bởi "bộ lọc điện tử cổ điển", ông có nghĩa là một bộ lọc tương tự, không phải là tích chập.
jalalipop

1
@jalalipop Có thể, nhưng tôi rõ ràng muốn giải thích phần FFT. Vào thời điểm đó, chúng tôi đã có câu trả lời giải thích lý do tại sao chúng tôi muốn có các bộ lọc kỹ thuật số thay vì analog.
AndrejaKo

2

Các phương pháp dựa trên FFT (bạn vẫn sẽ phải làm việc với các sửa đổi cửa sổ và bổ sung chồng chéo hoặc thay đổi chồng chéo) có ưu điểm chính là thiết kế chắc chắn trong miền tần số và bộ lọc Wiener hoặc phép trừ phổ hoặc một số các hệ thống khác dựa vào thống kê tín hiệu và một mô hình thực sự hoạt động cơ bản trong miền tần số.

Ngược lại, khử tiếng vang và các biến thể khác nhau không dựa vào một mô hình của tiếng ồn mà dựa vào bản ghi không hoàn hảo có tương quan cao với nhiễu. Chúng được thực hiện bằng cách sử dụng các bộ lọc khác nhau (thường là FIR) để trừ ước tính nhiễu khỏi tín hiệu và cập nhật các bộ lọc để giữ cho mối tương quan của tín hiệu còn lại với kênh nhiễu tối thiểu. Đối với các kỹ thuật đó, FFT không hữu ích lắm (khi độ trễ đáng kể của tín hiệu kết quả và các bản cập nhật bộ lọc được cho phép, chúng có thể được sử dụng như một thành phần trong FIR hộp đen với độ trễ vì lý do hiệu suất nhưng không thực sự hữu ích cho chúng khả năng đại diện miền tần số).


vững chắc trong miền tần số . Sẽ không có bất kỳ lợi thế cụ thể nào nếu điều đó không xảy ra bởi vì âm và ghi chú có thuộc tính âm nền và âm sắc.
toán học

2

Bộ lọc tương tự đủ dễ để thiết kế nhưng hạn chế là bạn cần tiếp tục thêm các thành phần bộ lọc vật lý để đạt được bộ lọc dừng băng tần của các tần số đã cho. Và bạn cần điều chỉnh các giá trị thành phần nếu bạn muốn di chuyển các rãnh xung quanh. Một opamp duy nhất có thể thực hiện một notch stop band vì vậy bạn cần thêm một bộ khuếch đại khác cho mỗi notch bạn muốn. Để có một notch chọn lọc hơn, bạn cần hai bộ khuếch đại cho mỗi notch.

Về các điều khoản thực tế, bạn có thể được phục vụ tốt nhất bởi bộ lọc thông thấp thứ 3 mà bạn có thể thực hiện với một opamp đơn hoặc có lẽ là bộ lọc thông thấp thứ năm yêu cầu hai. Sử dụng (các) bộ lọc thông thấp để giảm tần số trên tần số Nyquist (1/2 tần số lấy mẫu) với một số lề và bạn sẽ có một mẫu kỹ thuật số chất lượng cao để xử lý sau. Với bản ghi rõ ràng như vậy, sau đó bạn có thể áp dụng các bộ lọc FFT để tạo các bộ lọc thông cao, băng thông và dừng băng tần khi cần.


1

Lọc bất biến theo thời gian tuyến tính mà "bộ lọc điện tử cổ điển" thực hiện chỉ là phép nhân "ngu ngốc" trong miền Fourier. Nhưng thông tin bạn tìm thấy trong FFT cho bạn biết nhiều chi tiết hơn chỉ là phản hồi của một bộ lọc, đây chỉ là sự kết hợp tuyến tính của các thành phần đó. Sử dụng thông tin đó, bạn có thể chỉ đạo xử lý dữ liệu và làm cho nó thích ứng với dữ liệu. Tiếng ồn có một số đặc điểm mà giọng hát rõ ràng và âm nhạc không có, ví dụ, sự điều chỉnh giữa các âm bội không gần giống với tiếng ồn như đối với giọng nói hoặc âm nhạc.

Vì vậy, nếu chúng ta có thể xác định các sai lệch giữa các thành phần tần số - tức là tìm "âm nền" bằng cách nào đó, chúng ta có thể điều khiển bộ lọc và làm cho nó phù hợp hơn với dữ liệu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.