Làm mịn 1 / n quãng tám


8

Đưa ra đáp ứng tần số thu được với FFT, tôi muốn áp dụng làm mịn quãng tám 1 / n. Tôi nên sử dụng bộ lọc nào và làm thế nào? Có lẽ ai đó có thể chỉ ra một tài liệu tham khảo tốt (một bài báo hoặc cuốn sách về chủ đề này).


Bạn đang tìm kiếm một bộ lọc màu hồng , làm giảm tần sốf biên độ 1/f? Hoặc bạn có thực sự muốn một cái gì đó làm giảm tần sốf biên độ 1/(lg2f)?
Logic lang thang

1
Tôi không muốn làm giảm bất kỳ tần số nào. Tôi muốn dữ liệu được làm mịn, với băng thông thay đổi, tức là 1 quãng tám, 1/3 quãng tám, v.v.
Psirus

1
Các đáp ứng tần số của loa thường được làm mịn, để làm cho biểu đồ dễ hiểu hơn nhưng vẫn khá chính xác (làm mịn 1/20 quãng tám) hoặc làm mịn rất cao (1/3-quãng tám) trong tiếp thị. Đây là những gì tôi đã đọc nhiều lần, chính xác là tôi đang cố gắng tìm hiểu ở đây.
Psirus

1
Vì vậy, câu hỏi của bạn không phải là về việc thay đổi tín hiệu, mà là về cách hiển thị đồ họa đáp ứng tần số của thiết bị. Có đúng không?
Jim Clay

1
Tôi nghĩ rằng bài viết này chứa thông tin có giá trị. Tuy nhiên, thật không may, nó không miễn phí. Cách tiếp cận cơ bản cũng được mô tả trong phần này .
applesoup

Câu trả lời:


8

Thông thường "làm mịn" có nghĩa là "thay thế giá trị hiện tại bằng trung bình so với giá trị trung bình". Phổ biến nhất là làm mịn năng lượng, trong đó kết quả làm mịn trong trung bình năng lượng trong khoảng thời gian làm mịn và thông tin pha bị mất. Làm mịn phức tạp cũng có thể được thực hiện nhưng đó là công việc khó khăn vì gói pha.

Làm mịn năng lượng có thể được thể hiện như

Y(k)= =1NΣTôi= =0N-1X(Tôi)X*(Tôi)Wk(Tôi)

Ở đâu Wk(Tôi)là một số chức năng cửa sổ phù hợp. Trong trường hợp, giả sử, làm mịn quãng tám quãng ba có thể được suy ra khi bình phương độ lớn của hàm truyền của bộ lọc vượt qua dải tám quãng ba xung quanh tần số k. Điều này cũng có nghĩa là đối với FFT 1024 điểm, bạn cần thiết kế 1024 bộ lọc băng thông khác nhau, vì vậy đó là một công việc hợp lý.

Mọi thứ có thể được đơn giản hóa nếu hình dạng chính xác của bộ lọc làm mịn là linh hoạt. Làm mịn hình chữ nhật có thể được thực hiện như

Y(k)= =1b-một+1ΣTôi= =mộtbX(Tôi)X*(Tôi)

Ở đâu

một= =robạnnd(k*2-12n),b= =robạnnd(k*212n)

chỉ đơn giản là các chỉ số của các cạnh của ban nhạc cho nth làm mịn quãng tám.

Có một vài phương thức nữa nằm ở giữa trong cửa sổ tùy ý và hình chữ nhật về độ phức tạp.


Tôi đang cố gắng thực hiện điều này trong mã C và tôi sợ rằng tôi bị mất một chút ký hiệu. Tôi đang có một thời gian khó hiểu làm thế nào, ví dụ, tổng của tôi chạy từ a đến b hoạt động? Bất kỳ trợ giúp đánh giá cao.
Andrew Smith

Hai ngón tay cái, nhưng than ôi chỉ có một phiếu, lên. Bổ sung nàyCâu hỏi hỏi làm thế nào 1 / n làm mịn phức tạp được thực hiện bao gồm cả việc kinh doanh khó khăn xung quanh việc bọc pha.
SpeedCoder5
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.