Bộ lọc IIR có nghĩa là gì vô hạn?


11

Tôi đang gặp khó khăn trong việc hiểu "vô hạn" trong IIR có nghĩa là gì trong thực tế .. Về lý thuyết, đáp ứng xung được sử dụng cho phản hồi..Nếu phản hồi này không bao giờ kết thúc thì đầu ra được tạo ra như thế nào?

Câu trả lời:


18

Để 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.


cảm ơn bạn đã giải thích tốt đẹp! Trường hợp phản hồi diễn ra trong IIR?
GorillaApe

2
@Parhs: phản hồi diễn ra vì đầu ra hiện tại được lấy từ các giá trị đầu vào đầu ra trước đó , trong khi đối với bộ lọc FIR, đầu ra chỉ được lấy từ các giá trị đầu vào trước đó .
Paul R

1
@Parha Phản hồi là một tác dụng phụ của cấu trúc liên kết. Và theo cấu trúc liên kết, tôi có nghĩa là một cái gì đó như sơ đồ dòng hoặc chế độ xem "sơ đồ" của bộ lọc. Về cơ bản, kết quả của một phép toán trong một giai đoạn cung cấp cho một phép toán khác trong giai đoạn trước. Đó là những gì phản hồi. Hầu hết mọi người thấy FIR dễ sử dụng hơn vì họ không có phản hồi đó. Phản hồi đó rất khó để thực hiện công việc một cách chính xác, nhưng có một hiệu quả lớn trong đó.

Một hệ thống IIR có trạng thái bên trong 'nhớ' đầu vào trước đó mọi lúc. Cách bạn mô hình hóa điều này là đưa các đầu ra trước đó trở lại đầu ra hiện tại, chẳng hạn như biquad mẫu trực tiếp 1 này , hoặc tương đương một vòng phản hồi ở đầu vào, chẳng hạn như biquad 2 mẫu trực tiếp này .
Eryk CN

11

Đá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à bb0yb0z-1b1 . 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. b1bTôi

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. z-1

nhập mô tả hình ảnh ở đây

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ó.

nhập mô tả hình ảnh ở đây


1
rằng vòng lặp không thể không an toàn cho kết quả không mong muốn trong một số trường hợp?
GorillaApe

2
Nó chắc chắn có thể. Sử dụng các đường dẫn hoặc lợi ích phản hồi sai và bạn có thể tạo một bộ lọc không ổn định hoặc bộ lọc đưa ra một dao động hình sin của một cái gì đó mãi mãi. Đó thường không phải là những gì bạn muốn một "bộ lọc" để làm, vì vậy có các kỹ thuật để phân tích sự ổn định và để tránh sự mất ổn định.
Olin Lathrop

Là tổng từ tất cả các điều khoản phản hồi phải phản hồi lại từ đầu chuỗi phản hồi, hoặc liệu đầu ra từ các điều khoản sau có thể được tổng hợp thành đầu vào cho các điều khoản sau không? Mặc dù tôi hy vọng rằng bất kỳ bộ lọc nào có thể được nhận ra theo cách thứ hai đều có thể chuyển đổi thành dạng bạn đã minh họa, tôi sẽ xác nhận rằng có một lớp con của các bộ lọc IIR hữu ích có thể được hình thành từ các bộ lọc theo thứ tự xếp tầng (trong đó mỗi bộ lọc đầu ra của mỗi thuật ngữ bên phải có thể tự cung cấp nhưng không ai trong số những người tiền nhiệm của nó)
supercat

1
-một1-một2

@stevenvh: Như tôi đã lưu ý trong câu trả lời của mình, có một tập hợp con các bộ lọc IIR hữu ích trong đó một giai đoạn có thể tự phục hồi nhưng không có giai đoạn trước; Tôi không biết rằng tôi đã đọc một thuật ngữ để mô tả các bộ lọc như vậy, nhưng chúng dễ đặc trưng hơn nhiều so với các bộ lọc IIR tổng quát. Mặc dù chúng có thể được hiển thị với các hệ số phù hợp ở dạng trên, nhưng sẽ khó nhận ra bộ lọc như vậy (có thuật ngữ nào cho chúng không?) Ở dạng đó.
supercat

4

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.


1

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.


0

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.


"Hoạt động trên 1.000.000.000 mẫu". Vâng, không trực tiếp. Bởi vì một phần của đầu ra được sử dụng trong tính toán cho mẫu tiếp theo, sẽ luôn có dấu vết của các mẫu trước đó. Bộ lọc sẽ luôn giữ một số lượng mẫu rất hạn chế. Và nó không phải là "vô định"; nó mang tính quyết định, ngay cả khi nó có thể không ổn định.
stevenvh

đó là những gì tôi đã ngụ ý rằng mỗi mẫu có một số nhưng tác động nhỏ từ tất cả các mẫu có trước nó, đối với IIR.
old_timer

Số lượng phần tử vô hạn và hữu hạn trong phép tính không phải là sự khác biệt giữa IIR và FIR. IIR đơn giản nhất chỉ hoạt động trên 2 yếu tố dữ liệu: 1 từ đầu vào, 1 từ đầu ra.
radagast

Vô hạn không phải từ số lượng đầu vào mà là số chu kỳ được tích lũy, hữu hạn chỉ lấy N số mẫu cho một đầu vào trong toán học, vô hạn hoạt động hiệu quả trên mỗi chu kỳ. Số hữu hạn của chu kỳ so với số chu kỳ vô hạn cho một đầu vào.
old_timer
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.