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ề remez
chức năng trong Octave và firpm
chứ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 remez
và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.