Lọc âm thanh phát trực tuyến


9

Với thứ gì đó như 103 điểm dữ liệu ( ), DFT sẽ trả lại 103 giá trị tần số. Sau đó, để thực hiện một số việc như lọc tần số cao, bao gồm đặt các giá trị tần số cao từ DFT thành 0 và thực hiện DFT nghịch đảo để lấy lại 103 điểm dữ liệu đại diện cho tín hiệu gốc mà không có tần số cao.N=103

Điều này có ý nghĩa với tôi với tất cả 103 điểm dữ liệu cùng một lúc. Nhưng những gì về việc truyền phát một tệp WAV âm thanh khá lớn (ví dụ ). Nếu ai đó muốn lọc các tần số cao thì cách tiếp cận tôi chỉ mô tả trên toàn bộ dữ liệu điểm một cách hợp lý. Nhưng điều đó không hợp lý khi phát trực tuyến tệp WAV để phát lại. Điều gì được thực hiện để lọc tần số cao phát lại trực tuyến tệp âm thanh?10 5N=105105

Câu trả lời:


12

FFT -> hệ số zeroing -> IFFT không phải là cách lọc chính xác - bộ lọc thực tế nhận ra bằng cách làm như vậy có các đặc điểm kém.

Cách lọc tín hiệu chính xác là tính toán các hệ số của bộ lọc kỹ thuật số , một quy trình được gọi là thiết kế bộ lọc và có sẵn một lượng lớn các công cụ / tài liệu phần mềm và áp dụng nó cho chuỗi đầu vào của bạn. Nói tóm lại, điều này bao gồm việc đánh giá cho từng mẫu một sự kết hợp tuyến tính của các mẫu đầu vào trong quá khứ và các mẫu đầu ra trong quá khứ. Tùy thuộc vào các yêu cầu của bộ lọc của bạn về mặt từ chối / gợn băng tần dừng, chỉ một vài hệ số có thể là cần thiết, làm cho nó hiệu quả hơn FFT. Vì thông tin duy nhất cần thiết để tính toán một mẫu đầu ra là một vài mẫu đầu vào / đầu ra trong quá khứ, nên không có vấn đề gì khi áp dụng nó vào việc truyền phát âm thanh.

Bạn sẽ chỉ cần sử dụng FFT nếu bạn quyết định sử dụng bộ lọc FIR và nếu yêu cầu bộ lọc của bạn khiến chúng có số lượng hệ số cực kỳ lớn. Trong trường hợp cụ thể này, sẽ hiệu quả khi áp dụng bộ lọc cho các khối dữ liệu đầu vào liên tiếp của bạn thông qua FFT và thêm chồng chéo .


8

Cách tốt nhất để áp dụng lọc miền tần số cho các luồng tín hiệu là chồng chéo thêm (hoặc lưu lại các hương vị liên quan hoặc lưu khối, v.v.).

Về cơ bản, bạn lấy một khung hình một lúc (giả sử 1024 mẫu). Không đệm đến gấp đôi chiều dài (2048), thực hiện FFT, nhân với chức năng chuyển (cũng không đệm) của bộ lọc, thực hiện FFT nghịch đảo. Lưu 1024 mẫu cuối cùng dưới dạng chồng lấp cho khung tiếp theo, thêm chồng chéo từ khung trước vào 1024 mẫu đầu tiên và đây là đầu ra của bạn. Đối với mỗi 1024 mẫu đầu vào, bạn nhận được 1024 mẫu đầu ra và bạn chỉ cần lặp lại điều này cho các khung tiếp theo cho đến khi luồng được thực hiện.

Toàn bộ doanh nghiệp có phần đệm và chồng chéo bằng 0 là bắt buộc do phép nhân trong miền tần số thực hiện tích chập tuần hoàn và bạn thực sự muốn tích chập tuyến tính trong hầu hết các ứng dụng.

Có các biến thể của các phương thức này bằng cách sử dụng các hàm cửa sổ khác nhau và chồng chéo nhưng tất cả đều theo cùng một nguyên tắc: cắt nó thành nhiều phần nhỏ và xử lý từng khối một lần.


Có một cuốn sách đi vào chi tiết về điều này?
dùng782220

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.