"Quy tắc ngón tay cái" yêu thích của tôi đối với thứ tự của bộ lọc FIR thông thấp là "quy tắc harris fred":
N=[fs/delta(f)]∗[atten(dB)/22]
trong đó delta (f) là dải chuyển tiếp, trong cùng một đơn vị fs
fs là tốc độ mẫu của atten bộ lọc (dB) là từ chối mục tiêu tính theo dB
Ví dụ: nếu bạn có dải chuyển tiếp 100 Hz trong hệ thống được lấy mẫu ở tần số 1KHz và yêu cầu loại bỏ của bạn là 50 dB trong dải dừng thì thứ tự có thể được xấp xỉ bằng:
N = 1KHz / 100Hz * 50/22 = 23 vòi (làm tròn số)
Cảm ơn bạn đã quấy rối!
Lưu ý một công thức chi tiết khác có tính đến Ripple của tài khoản là công thức của Kaiser nhờ James Kaiser từ Bell Labs, mà tôi đã đưa vào hình ảnh của mình bên dưới.
Đối với hầu hết các ứng dụng tôi đã thực hiện, cách tiếp cận harris fred rất tốt, vì đã từ chối nhất định, các bộ lọc kết quả sử dụng thuật toán thiết kế bộ lọc truyền thống như Công viên-McClellan và Remez đã vượt quá yêu cầu gợn sóng của tôi khi đáp ứng yêu cầu từ chối. (Những gì tôi thường làm là ước tính thứ tự, thiết kế bộ lọc theo thứ tự đó, kiểm tra kết quả và tăng hoặc giảm thứ tự từ đó để tinh chỉnh). Các kết quả từ các ước tính chỉ là: ước tính và có thể thay đổi rộng rãi tùy thuộc vào các thông số thiết kế tổng thể và không được coi là một giải pháp chính xác.
Đối với những người quen thuộc với thiết kế bộ lọc sử dụng các cách tiếp cận cửa sổ, đánh giá về ô tô hoặc cửa sổ hình chữ nhật (đó là cách cắt đơn giản) cho thấy lý do tại sao phải mất fs/Δf vòi (giống như vòi 2π/Δωnếu các đơn vị cho tần số chuẩn hóa là radian / mẫu như thường được thực hiện) để hoàn thành dải chuyển tiếp. Xem những hình ảnh dưới đây giúp giải thích điều này.
Hình ảnh đầu tiên bên dưới hiển thị tần số Sinc dự kiến cho một cửa sổ hình chữ nhật theo thời gian và sau đó ở dạng rời rạc, trong đó là hàm Sinc có bí danh, với điểm chính là cho các mẫu N theo thời gian của chức năng hình chữ nhật, đáp ứng tần số sẽ có giá trị null đầu tiên tại f = 1 / N (Trong đó f là tần số chuẩn hóa với 1 là tốc độ lấy mẫu).
Hình ảnh tiếp theo này cho thấy cách tiếp cận cửa sổ hình chữ nhật cho thiết kế bộ lọc (mà tôi không bao giờ khuyến nghị nhưng có nhiều thông tin). Biểu đồ đầu tiên ở góc trên bên trái hiển thị đáp ứng tần số mục tiêu cho bộ lọc của chúng tôi dưới dạng phản hồi "tường gạch" lý tưởng. Xin đừng nhầm lẫn rằng với "cửa sổ ô tô" (hoặc "cửa sổ hình chữ nhật") cũng là một hình chữ nhật-- cửa sổ nằm trong miền thời gian!
Để nhận ra bộ lọc như vậy, chúng tôi sẽ sử dụng đáp ứng xung của đáp ứng tần số mong muốn làm hệ số trong bộ lọc FIR của chúng tôi (các hệ số của bộ lọc là đáp ứng xung --- đưa xung vào và ra tất cả các hệ số! ). Đáp ứng xung cho đáp ứng tần số hình chữ nhật (brickwall) là FT nghịch đảo, là một hàm Sinc, trong miền thời gian, được hiển thị ở góc dưới bên trái dưới dạng "Đáp ứng xung bắt buộc". Hàm Sinc mở rộng đến cộng và trừ vô hạn, vì vậy để thực sự nhận ra bộ lọc như vậy, chúng ta sẽ cần một bộ lọc dài vô hạn và nó sẽ có độ trễ dài vô hạn. Rõ ràng là chúng tôi không thể làm điều đó, vì vậy chúng tôi cắt các hệ số thành một cái gì đó có thể thực hiện được. Bộ lọc càng dài, chúng ta càng gần đúng với đáp ứng tường gạch lý tưởng,
Cắt ngắn đáp ứng xung trong miền thời gian giống hệt nhau về mặt toán học để nhân với một cửa sổ hình chữ nhật trong miền thời gian. (Lưu ý rằng đáp ứng xung cũng bị trễ một nửa thời lượng của cửa sổ để hệ thống là nguyên nhân). Nhân trong miền thời gian tương đương với tích chập trong miền tần số. Miền tần số (FT) của đáp ứng xung trước khi cắt là đáp ứng tần số tường gạch mong muốn ban đầu của chúng tôi. Đáp ứng tần số cho cửa sổ hình chữ nhật là một hàm Sinc trong miền tần số.
Vì vậy, khi chúng tôi cắt bớt đáp ứng xung mong muốn (nhân với thời gian bằng một cửa sổ hình chữ nhật), chúng tôi sẽ tạo ra đáp ứng tần số mong muốn với hàm Sinc, dẫn đến xấp xỉ đáp ứng tần số mục tiêu của chúng tôi như được hiển thị ở góc trên bên phải của hình ảnh phía dưới.
Nói chung, một khóa mang đi cho các hàm Sinc là null đầu tiên là 1 / T trong đó T là thời lượng của hàm hình chữ nhật. Đối với một hệ thống được lấy mẫu, null đầu tiên sẽ ở2π/NTrong đó N đại diện cho số lượng mẫu trong suốt thời gian của hàm hình chữ nhật. Trong ảnh, tần số radian được chuẩn hóa được sử dụng cho trục tần số- (nếu điều đó làm bạn bối rối, bạn chỉ cần biết2πlà tần số radian cho tốc độ lấy mẫu). Vì vậy, trong quá trình tích chập, quá trình chuyển đổi gạch sắc nét lan ra và trong trường hợp này là 0 (chúng tôiΔω) trên một tần số 2π/N! Nên ở đâyN=2π/Δω
và tất nhiên bộ lọc kém với sidelobes, v.v ... Lưu ý điều này: Quá trình chuyển đổi từ chức năng này là sắc nét nhất có sẵn cho một số vòi nhất định; nó có độ phân giải tốt nhất về tần số nhưng dải động kém nhất (loại bỏ). Các loại hình cửa sổ khác (Blackman, Blackman-harris, Kaiser (yêu thích của tôi), v.v.) sẽ cải thiện đáng kể phạm vi động nhưng luôn phải trả giá cho quá trình chuyển đổi.
Vì vậy, từ trên, chúng ta thấy nguồn gốc của 2π/Δωđược sử dụng trong các công thức gần đúng và chúng tôi cũng thấy lý do tại sao có một hệ số nhân bổ sung làm tăng số lượng vòi trên mức này cho các thiết kế bộ lọc điển hình; cửa sổ hình chữ nhật sẽ cho chúng ta sự chuyển tiếp tốt nhất có thể với N vòi trong đóN=2π/Δωnhưng có sự từ chối rất kém. Nhiều vòi được sử dụng để làm mịn quá trình chuyển đổi thời gian hơn nữa ngoài quá trình chuyển đổi mạnh mẽ của cửa sổ hình chữ nhật, cung cấp khả năng loại bỏ lớn hơn với chi phí băng thông chuyển tiếp.