Hai Điều kiện, Hai Hệ số
Một bộ lọc với k+1 hệ số tự do có thể đáp ứng chính xác k+1 điều kiện trên hàm truyền của nó. Hamming đã chứng minh điều này với trường hợp đơn giản nhất không tầm thường: hai hệ số, hai điều kiện.
Các Điều kiện
- Tại f = 1/6: H(1/6) = 1 (tần số này được truyền không thay đổi)
- Tại f = 1/3: H(1/3) = 0 (tần số này bị dừng hoàn toàn)
Dạng Bộ lọc
Một bộ lọc sử dụng hai hệ số a và b với đầu vào x_n và một độ trễ:
y_n = a · x_n + b · x_{n−1}
Thay thế Hàm riêng
Đầu vào e^{i2πfn}, đầu ra H(f) · e^{i2πfn}. Cạnh phải cho:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
Chia cả hai vế cho e^{i2πfn}:
H(f) = a + b · e^{−i2πf}
Bây giờ áp dụng hai điều kiện để có được hai phương trình trong hai ẩn số.
Giải cho các Hệ số
Thay f = 1/6 vào H(f) = a + b·e^{−i2πf}:
1 = a + b·e^{−i2π/6} = a + b·(cos(−π/3) + i·sin(−π/3)) = a + b·(1/2 − i√3/2)
Thay f = 1/3:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
Từ hai phương trình này, Hamming giải được a = 1/2, b = 1/2 — giống với một trung bình 3 mẫu (với đầu ra ở vị trí giữa).
Bộ lọc Hoàn chỉnh
Bộ lọc đáp ứng cả hai điều kiện có dạng:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
Đầu ra tại vị trí n sử dụng các mẫu đầu vào trước, hiện tại & kế tiếp.
Hàm truyền:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
Xác minh:
- H(1/6) = cos(π/3) + 1/2 = 1/2 + 1/2 = 1 ✓
- H(1/3) = cos(2π/3) + 1/2 = −1/2 + 1/2 = 0 ✓
Tại các tần số khác: H(0) = 1 + 1/2 = 3/2 (truyền DC với lợi ích), H(1/2) = −1 + 1/2 = −1/2.
Hiểu biết: một bộ lọc kỹ thuật số triển khai phần mềm những gì một bộ lọc RC tương tự triển khai phần cứng. Lựa chọn hệ số kiểm soát phản ứng tần số phân tích.
Hàm Truyền tại Nhiều Tần số
Hàm truyền H(f) = cos(2πf) + 1/2 áp dụng tại mỗi tần số, không chỉ hai điểm thiết kế.
Khám phá của Gibbs
Hamming kể lại câu chuyện về Michelson — nổi tiếng với Michelson-Morley — người đã xây dựng một máy tương tự để tính toán chuỗi Fourier lên đến 75 số hạng. Khi anh ấy tái tạo một hàm không liên tục từ các hệ số của nó, máy cho thấy một vượt quá bền vững gần bước nhảy.
Michelson đã hỏi các nhà toán học địa phương. Họ đổ lỗi cho thiết bị. Chỉ có Gibbs lắng nghe.
Hiện tượng Gibbs: khi một chuỗi Fourier bị cắt ngắn thành N số hạng xấp xỉ một bước không liên tục, xấp xỉ vượt quá xấp xỉ 8,9% chiều cao bước — và vượt quá này KHÔNG giảm khi N tăng. Các số hạng nhiều hơn làm hẹp spike vượt quá nhưng không bao giờ loại bỏ nó.
Về mặt toán học: chuỗi Fourier N-số hạng hội tụ từng điểm ở mọi nơi trừ tại sự không liên tục. Tại sự không liên tục, các tổng một phần hội tụ đến điểm giữa của bước nhảy, nhưng cực đại của tổng một phần gần bước nhảy tiến đến 1.0895 (đối với bước cao đơn vị), không phải 1.0.
Tại sao Điều này Quan trọng cho Bộ lọc
Một bộ lọc thông thấp lý tưởng có hàm truyền bước: H(f) = 1 đối với f < f_c, H(f) = 0 đối với f > f_c. Sự không liên tục giữa dải thông & dải dừng có nghĩa là bất kỳ bộ lọc có độ dài hữu hạn (chuỗi Fourier bị cắt ngắn) đều thể hiện gợn sóng Gibbs trong phản ứng tần số của nó.
Hậu quả: thiết kế chuỗi Fourier bị cắt ngắn riêng lẻ tạo ra bộ lọc với gợn sóng ≈9% trong cả dải thông & dải dừng, bất kể có bao nhiêu hệ số được sử dụng.
Hậu quả của Hiện tượng Gibbs
Hamming đã sử dụng kết quả này để thúc đẩy các hàm cửa sổ: nhân các hệ số Fourier lý tưởng với một cửa sổ nhịp nhàng giảm vượt quá Gibbs đáng kể.
Cửa sổ Hamming: w_k = 0.54 + 0.46·cos(πk/N). Cửa sổ này giảm gợn sóng Gibbs xuống dưới 0,2%.
Sự đánh đổi: cửa sổ làm mịn chuyển tiếp nhưng mở rộng dải chuyển tiếp. Cutoff sắc nét luôn yêu cầu nhiều hệ số hơn.