Sự khác biệt giữa trao đổi Remez và thiết kế bộ lọc Công viên-McClellan là gì?


21

Một câu hỏi gần đây đã được đưa ra liên quan đến Công viên-McClellan và một số ý kiến ​​chỉ ra rằng bài viết trên wikipedia về các tiểu bang của Công viên-McClellan ,

... thuật toán Công viên-McClellan là một biến thể của thuật toán Remez hoặc thuật toán trao đổi Remez.

Có sự khác biệt trong hiệu suất? Là remezchức năng trong quãng tám tương đương với chức năng Matlab firpm?

Câu trả lời:


8

Thuật toán trao đổi Remez là một quy trình lặp chung để ước tính bất kỳ hàm nào một cách tối ưu theo nghĩa (nghĩa là đưa ra xấp xỉ trường hợp xấu nhất hay nói cách khác là giảm thiểu sai số tối đa hoặc tối thiểu). Thuật toán Công viên-McClellan (PM) là một biến thể của thuật toán trao đổi Remez, được áp dụng riêng cho các bộ lọc FIR. Từ bài viết wiki bạn đã trích dẫn:L

Thomas [Công viên] đã lái xe từ Houston đến Princeton để tham dự một hội nghị. Tại hội nghị, ông đã nghe bài thuyết trình của Ed Hofstetter về thuật toán thiết kế bộ lọc FIR mới (thuật toán Ripple tối đa). Ông đã mang bài báo của Hofstetter, Oppenheim và Siegel, trở lại Houston, suy nghĩ về khả năng sử dụng lý thuyết gần đúng của Ch Quashev để thiết kế các bộ lọc FIR. Ông nghe nói rằng phương pháp được triển khai trong thuật toán của Hofstetter tương tự như thuật toán trao đổi Remez và quyết định theo đuổi con đường sử dụng thuật toán trao đổi Remez.

Không đi sâu vào chi tiết, sự khác biệt chính giữa hai thuật toán là thuật toán trao đổi Remez (RE) cung cấp cho bạn các điều kiện để thiết kế bộ lọc tối ưu (cụ thể, xem # 3 tại đây: các lỗi phải có độ lớn bằng nhau và có dấu xen kẽ). RE thực hiện một quy trình lặp để tính các hệ số đa thức (có thể được ánh xạ tới các hệ số bộ lọc FIR) thỏa mãn tiêu chí trên, đó là "Định lý thay thế". "E" trong RE là một phần của quy trình trong đó cực đại trong lỗi, được sử dụng trong quy trình lặp, được thay thế bằng cực đại mới, gần với các giá trị tối ưu hơn. PM sử dụng đa thức Tchithershev để chuyển đổi các hệ số đa thức thành các hệ số chi phối một loạt các hàm cosin được dịch trực tiếp thành các hệ số FIR đối xứng.


Đến với câu hỏi của bạn về remezchức năng trong Octave và firpmchức năng trong MATLAB, tôi tin rằng chúng giống nhau. MATLAB đã từng có một remez, được loại bỏ dần theo hướng có lợi firpm. Octave có lẽ vẫn còn dính vào trước đây. Nhập help remezvào MATLAB R2011b như sau:

Thiết kế bộ lọc FIR tối ưu của công cụ REMEZ park-McClellan.

REMEZ is obsolete.  REMEZ still works but may be removed in the future.
Use FIRPM instead.

See also FIRPM.

Tôi suy luận rằng Mathworks đã thay đổi tên remez thành Firpm vì nó không phải là một bộ giải Remez chung, mà là hóa thân PM của phương thức Remez.
Mark Borgerding

@MarkBorgerding Tôi tin rằng đó thực sự là lý do cho việc thay đổi tên. Tuy nhiên, vẫn thường thấy mọi người sử dụng hai thuật ngữ thay thế cho nhau.
Lorem Ipsum

2
Tôi nghĩ rằng một tuyên bố công bằng là: tất cả các triển khai của Công viên-McClellan là các triển khai Remez Exchange, nhưng điều ngược lại là không đúng. Liên quan đến thiết kế bộ lọc, tôi nghĩ rằng chúng có thể được sử dụng thay thế cho nhau. Nó sẽ (phần nào) giống như đề cập đến một FFT như là một DFT.
Mark Borgerding

Làm thế nào về Firgr (trong MATLAB)?
daurnimator

@daurnimator thì sao?
Lorem Ipsum
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.