Oversampling và decimation: Sử dụng bộ lọc nào?


8

Tôi có một cảm biến tạo ra dữ liệu được giới hạn băng thông (ít nhiều) với mức cắt khoảng 45Hz, với điểm dừng và AWGN . Tôi có một ADC lấy mẫu tín hiệu ở tần số 800Hz, với bộ lọc khử răng cưa đơn cực ở khoảng 200Hz. Vấn đề là, tôi chỉ có đủ băng thông truyền thông để gửi mẫu ở tần số 100Hz và do đó cần một số decimation.

Hiện tại, tôi chỉ cần có một bộ lọc trung bình di chuyển 8 mẫu và gửi mỗi mẫu thứ 8. Điều này cảm thấy bẩn và không tối ưu. Chắc chắn phải có một cách tốt hơn.

Có một điều "tốt nhất" được chấp nhận để làm trong trường hợp này? Tôi có nên, ví dụ, làm bộ lọc FIR thông thấp để vắt ra càng gần 50Hz băng thông tín hiệu càng tốt không? Hoặc, có một số loại kế hoạch ước tính tối ưu sẽ làm tốt hơn?

Mục đích là để thực hiện một số kênh (9 kênh) trên một vi điều khiển nhỏ (chẳng hạn ARM Cortex M4), vì vậy, tính toán càng rẻ thì càng tốt!

Câu trả lời:


6

Tôi có nên, ví dụ, làm bộ lọc FIR thông thấp để vắt ra càng gần 50Hz băng thông tín hiệu càng tốt không?

18


Có lớp FIR "tốt nhất" nào cho vấn đề này không? Hoặc một cửa sổ-chân thành là đủ?
Damien

1
Vâng, một cửa sổ chân thành sẽ ổn.
Jim Clay

2
Mặc dù bạn có thể tạo bộ lọc với cửa sổ theo nghĩa đen, nhưng có lẽ sẽ dễ dàng hơn khi sử dụng thuật toán remez. Với nó, bạn có thể chỉ định băng thông băng tần, tần số cắt và thứ tự bộ lọc, và nó sẽ đưa ra bộ lọc cân bằng tốt nhất có thể với các ràng buộc đó.
Jim Clay
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.