2.3.2c Đặc tính tần số của bộ lọc FIR pha tuyến tính loại
2.4. Phương pháp lặp và thuật toán chuyển đổi Parks-McClellan
Khởi đầu chúng ta không cần biết tập các tần số cực trị |ωn| cũng không biết các tham số |α(k)| và δ . Để tìm các tham số này, chúng ta dùng một thuật toán lặp, gọi là
thuật toán chuyển đổi Parks-McClellan. Nội dung của thuật toán này được tóm tắt như sau: Trước tiên chúng ta dự đoán một tập tần số cực trị |ωn| sau đó lần lượt tính δ ,
P(ω) và hàm sai số E(ω). Từ hàm sai số E(ω) chúng ta xác định tập (L + 2) tần số cực trị mới và tiến trình này được lặp lại cho đến khi đạt được tập tấn số cực trị tối ưu.
Lưu đồ thuật toán Park- McClellan
Áp dụng phương pháp Park- McClellan vào phương pháp lặp để thiết kế bộ lọc FIR pha tuyến tính theo các bước sau:
Bước1:
Tính tối ưu trên tập hợp tần số cực trị
Xác đinh P(ω) bằng cách nội suy trên M + 1 Xấp xỉ tối ưu Chọn ra M + 2 cực trị lớn nhất Chọn L + 2 tần số cực trị ban đầu Tính hàm sai số E(ω) và tìm lại các cực trị mà ở đó | E(ω) | Các tần số cực trị có thay đổi không ? Có nhiều hơn M +2 cực trị có Không
chọn loại bộ lọc lý tưởng và xác định đáp ứng biên độ |Hdr(ω)|, sau đó chọn hàm trọng số W(ω) (dựa theo các chỉ tiêu kỹ thuật của bộ lọc thực tế), chọn chiều dài của bộ lọc số M, suy ra L
Bước 2:
Chọn loại bộ lọc theo các trường hợp và xác định bài toán gần đúng E(ω) = W(ω)|Hdr(ω) – P(ω)|
Bước 3:
Sử dụng thuật toán Parks-McClellan để giải bài toán gần đúng này. Cụ thể như sau:
Chọn ra tập hợp L + 2 điểm tần số rời rạc ban đầu, trong dải tần số [0, π].
Rabiner, McClellan, …và Parks (1975) đã đề ra công thức tính δ có hiệu
quả hơn, như sau:
Trong đó γk= ∏+ = − 1 0cos cos 1 L n ωk ωn
Xác định P(ω) từ δ : vì P(ω) là một đa thức lượng giác có dạng:
P(ω) = ∑ = L k k x k 0 ) ( α ; với x = cos(ω) Ta có
Xác định hàm lỗi E(ω) bởi công thức:
Trên một tập dày các điểm tần số. Thông thường, số điểm tần số để tính E(ω) là 16M, với M là chiều dài của bộ lọc. Nếu |E(ω)| > δ ở một hay nhiều tần số trên |ωn| thì một tập (L+ 2) tần số cực trị mới được chọn và tiến trình được lặp. Vì tập tần số cực trị mới được chọn tương ứng với các đỉnh của hàm sai số |E(ω)| , nên theo thuật toán này, giá trị của δ tăng lên sau mỗi lần lặp cho tới khi nó hội tụ đến một giới hạn
trên, và đạt được lời giải tối ưu cho bài toán xấp xỉ Chebyshev. Khi |E(ω)| ≤ δ với tất
cả các tần số trong tập các điểm tần số, thì lời giải tối ưu đã tìm được.
Bước 4: Xác định đáp ứng xung h(n) của bộ lọc thực tế. Ta có thể thực hiện bằng 2 cách:
Từ P(ω) (theo lời giải tối ưu), ta sẽ lấy mẫu P(ω) theo M điểm, sau đó xác định các hệ số α(n) và dùng IDFT để tính h(n).
Từ P(ω) (theo lời giải tối ưu), ta sẽ tính trực tiếp h(n) mà không cần tính qua bước trung gian là α(n), bởi vì ta đã có:
Hr(ω) = Q(ω)P(ω) tại các tần số ω = 2πk/M, k = 0, 1, … (M-1)/2 cho M lẻ
Hay k = 0,1,… M/2 cho M chẵn