Câu trả lời:
Để trả lời câu hỏi đó, bạn phải biết "Impulse" và "Phản hồi" nghĩa là gì ...
Một "Impulse" là một xung đơn giản. Kỹ thuật số nó sẽ là một mẫu có giá trị tối đa, trong khi tất cả các mẫu khác trước và sau nó sẽ bằng không. Nếu bạn nghe điều này, bạn sẽ nghe thấy một cái gì đó như pop hoặc pháo.
"Phản hồi" là đầu ra của bộ lọc (hoặc một cái gì đó khác) được cung cấp xung.
Ví dụ, bạn có thể lắng nghe "phản ứng thúc đẩy của một căn phòng" bằng cách đi vào phòng, vỗ tay đơn giản và lắng nghe tiếng vang. Sẽ cần một số thực hành để có được tiếng vỗ tay càng "sắc nét" càng tốt. Nhận được đáp ứng xung của bộ lọc là cách tương tự nhưng thay vì vỗ tay, bạn sử dụng một xung đơn giản và thay vì một phòng bạn có bộ lọc.
Nếu bạn nhìn vào đáp ứng xung của bộ lọc hoặc phòng, bạn sẽ thấy đầu ra ngọ nguậy một lúc sau xung (và đôi khi nó cũng lắc lư trước đó). Trong phòng bạn nghe thấy tiếng lắc lư như tiếng vang. Trong bộ lọc, sự rung lắc này có liên quan trực tiếp đến tần số và đáp ứng pha của bộ lọc. Trong một căn phòng, lượng thời gian bạn nghe thấy tiếng vang được gọi là "thời gian hồi âm" - không có thuật ngữ tương ứng cho bộ lọc, nhưng nó là một phần của phản ứng thúc đẩy.
Bây giờ, một bộ lọc FIR (Phản hồi xung hữu hạn) là hữu hạn vì thời gian đáp ứng xung bị giới hạn bởi toán học. Về mặt toán học, thời gian đáp ứng xung không thể vượt quá số lượng vòi trong bộ lọc - do đó nó là hữu hạn .
Mặt khác, bộ lọc IIR không có giới hạn toán học này trong thời gian đáp ứng xung. Nếu được cung cấp độ chính xác toán học vô hạn, bộ lọc IIR có thể ngọ nguậy các đầu ra mãi mãi. Tất nhiên, trong một ý nghĩa thực tế, nó không bao giờ diễn ra mãi mãi vì đến một lúc nào đó, sự ngọ nguậy trở nên nhỏ hơn độ chính xác của toán học được sử dụng và cứ thế biến mất.
Đáp ứng xung là chữ ký của bộ lọc. Trong trường hợp bộ lọc FIR, đáp ứng xung cung cấp cho bạn hình ảnh trực tiếp về các hệ số của bộ lọc. Xung là một mẫu đơn có biên độ cực đại, tất cả các mẫu trước và sau đều bằng không. (Đây là tương đương kỹ thuật số của xung Dirac.)
Tại thời điểm của xung, giá trị của nó được nhân với (xem sơ đồ dưới cùng). Các mẫu khác bằng 0, do đó, đầu ra y bằng b 0 (Tôi giả sử giá trị tối đa cho xung là 1). Một mẫu sau đó xung đã di chuyển một khối z - 1 và được nhân với b 1 . Một lần nữa, tất cả các giá trị khác bằng không, vì vậy đầu ra là b . Và như thế. Trong khi xung dịch chuyển qua bộ lọc, bạn nhận được các giá trị liên tiếp cho b i ở đầu ra. Sau khi N lấy mẫu, xung được chuyển ra khỏi bộ lọc và đầu ra trở lại bằng không.
Đối với bộ lọc IIR, việc lấy các hệ số bộ lọc từ đáp ứng xung không quá rõ ràng.
IIR
Trong bộ lọc IIR (một phần), tín hiệu đã xử lý được đưa trở lại đầu vào. Điều đó có nghĩa là sẽ luôn có một số dư lượng của tín hiệu lặp xung quanh. Tuy nhiên, hầu hết thời gian phần tín hiệu này sẽ nhỏ hơn và cuối cùng là 0, nhưng trên lý thuyết nó không bao giờ biến mất hoàn toàn. Sơ đồ khối bên dưới hiển thị bộ lọc biquad, triển khai thường được sử dụng của bộ lọc IIR. Nhánh bên trái lấy (trễ) giá trị đầu vào, nhánh phải hoạt động với giá trị đầu ra (trễ). (Một khối đại diện cho độ trễ 1 mẫu. Biquads thường được xếp tầng.
FIR
FIR lọc mặt khác có một con đường thẳng từ đầu vào đến đầu ra. Sau khi N lấy mẫu tín hiệu đầu vào (như xung Dirac) sẽ bị loại ra và đó là kết thúc của nó.
Bộ lọc FIR vốn đã ổn định, trong khi bộ lọc IIR không nhất thiết phải có.
Có hai loại bộ lọc kỹ thuật số rộng, đáp ứng vô hạn (IIR) và đáp ứng xung hữu hạn (FIR). Một lần nữa, bộ lọc IIR dựa trên phương trình và bộ lọc FIR dựa trên bảng.
Bộ lọc IIR giống như bộ lọc tương tự trong thế giới thực. Ví dụ, hãy xem xét một phân rã theo cấp số nhân đơn giản như bạn sẽ nhận được từ bộ lọc thông thấp tương tự RC. Đáp ứng đầu ra cho đầu vào bước là một số mũ ngày càng gần với đầu vào. Lưu ý rằng số mũ này thực sự không bao giờ đạt được đầu ra, chỉ đủ gần để chúng ta không quan tâm hoặc không thể đo lường lỗi. Theo nghĩa đó, một bộ lọc như vậy là vô định. Một bộ lọc IIR có cùng đặc điểm.
Bộ lọc IIR cực thấp rất phổ biến có thể được biểu thị như sau:
PHIM <- PHIM + FF (MỚI - PHIM)
Điều này có nghĩa là mỗi lần lặp đầu ra nếu di chuyển một phần cố định (FF, "phần lọc") của khoảng cách đến đầu vào. Điều này dễ hình dung khi FF = 1/2. Nếu mọi thứ đều bằng 0 và đầu vào đột ngột chuyển sang 1 và vẫn ở đó (một bước đơn vị), thì đầu ra sẽ là 1/2, 3/4, 7/8, 15/16, v.v ... Đây là một chuỗi vô hạn. Cuối cùng, giá trị sẽ gần bằng 1 đến mức được biểu thị bằng 1 vì các giá trị kỹ thuật số trong máy tính không có độ chính xác vô hạn.
Bộ lọc FIR hoạt động trên một nguyên tắc hoàn toàn khác. Một đoạn hữu hạn gần đây của tín hiệu đầu vào được lưu và mỗi giá trị được lưu được nhân với một hệ số khác nhau, sau đó tất cả các kết quả được thêm vào để tạo đầu ra bộ lọc cho lần lặp đó. Lặp lại tiếp theo, giá trị lưu cũ nhất bị loại bỏ, các giá trị khác được dịch chuyển một vị trí cũ hơn và đầu vào mới được đặt vào vị trí trống. Đoạn mã được lưu mới sau đó được nhân với các hệ số, v.v. Quá trình này được gọi là "tích chập" và bảng hệ số thường được gọi là nhân bộ lọc. Một số điều thú vị và hữu ích có thể được thực hiện với loại bộ lọc này bằng cách sáng tạo với các hệ số. Đó là toàn bộ chủ đề mà tôi sẽ không đi vào bây giờ. Tuy nhiên, do một đoạn hữu hạn của đầu vào được lưu trữ trong bộ nhớ, bất kỳ phần nào của tín hiệu đầu vào chỉ có thể ảnh hưởng đến đầu ra trong một thời gian hữu hạn. Khi một mẫu đầu vào được chuyển ra khỏi đoạn cuối được lưu trữ, nó sẽ biến mất và không còn ảnh hưởng gì đến đầu ra.
Có tất cả các cuốn sách được viết về công cụ này và bạn có thể dành một vài học kỳ của các khóa học đại học đi sâu vào vấn đề này. Hy vọng rằng tổng quan 30 giây của tôi làm sáng tỏ điều này đủ để trả lời câu hỏi của bạn.
Một điểm chưa được đề cập là các bộ lọc IIR có thể được chia thành hai kiểu: các bộ lọc có thể xếp hạng các giai đoạn, sao cho mỗi giai đoạn phụ thuộc hoàn toàn vào (các) giá trị trước đó và các giai đoạn trước đó và các giai đoạn trước đó các giai đoạn không thể được xếp hạng (vì hai hoặc nhiều giai đoạn phụ thuộc lẫn nhau). Các giai đoạn trong bộ lọc FIR có thể tham chiếu đến các đầu ra trước đó của các giai đoạn khác, miễn là chúng có thể được xếp hạng theo kiểu IIR trước đây và không có giai đoạn nào đề cập đến đầu ra trước đó của chính nó.
Nếu các giai đoạn trong bộ lọc IIR có thể được xếp hạng và nếu tổng cường độ của các hệ số tự phản hồi cho một giai đoạn nhất định nhỏ hơn một, thì bộ lọc IIR được đảm bảo ổn định. Ví dụ, nếu một giai đoạn bao gồm một số tín hiệu từ các giai đoạn trước, cộng với một nửa giá trị trước đó của giai đoạn đó và 1/4 giá trị trước đó, trừ đi 1/8 giá trị trước đó, tổng cường độ của bản thân thông tin phản hồi sẽ là 7/8, vì vậy không có đầu vào tiếp theo từ các giai đoạn thấp hơn, mức độ đóng góp từ tự phản hồi sẽ giảm 12,5% mỗi lần lặp.
Một FIR, thực hiện phép toán của nó trên một số phần tử hữu hạn, giả sử là 32 hoặc 12 hoặc một số nào đó, nhưng đó là những gì toán học làm, lấy một số phần tử hữu hạn và chỉ thực hiện bộ lọc trên các phần tử đó.
Một IIR, thực hiện toán học của nó trên tất cả các mẫu bạn cho nó ăn. Nếu bạn cho nó ăn 10 mẫu và dừng lại thì nó đã hoạt động trên 10 mẫu, nếu bạn cho nó ăn 1.000.000.000 mẫu thì toán học đã vận hành trên 1.000.000.000 mẫu. Và nếu bạn để thứ đó chạy vô thời hạn, tiếp cận vô hạn (để nó chạy mãi mãi) thì số lượng các yếu tố tương tự là vô hạn tiếp cận vô hạn. Bởi vì từ hữu hạn rõ ràng áp dụng cho mô hình khác và mô hình IIR được dự định không có số lượng mẫu hữu hạn, từ vô hạn đối diện với hữu hạn chỉ nghe có vẻ tốt hơn không xác định hoặc một số từ khác.