DSP & chỉnh âm

FIR và IIR khác nhau thế nào? Chọn lọc nào cho EQ và crossover

Cimo 9 phút đọc

So sánh FIR và IIR về hồi tiếp, ổn định, pha, số tap, độ phân giải tần số và độ trễ, kèm ví dụ tính FIR 1024 tap ở 48 kHz và EQ 10 band để chọn đúng loại lọc cho EQ và crossover.

FIR và IIR khác nhau thế nào? Chọn lọc nào cho EQ và crossover
Mục lục
  1. IIR là gì? Lọc hồi tiếp với rất ít hệ số
  2. FIR là gì? Lọc không hồi tiếp, dài nhưng dễ kiểm soát pha
  3. Bảng so sánh FIR và IIR
  4. Quan hệ số tap, độ phân giải tần số và độ trễ
  5. Ví dụ: FIR 1024 tap gây trễ bao nhiêu ở 48 kHz?
  6. Ví dụ: cùng làm EQ 10 band, IIR và FIR tốn bao nhiêu?
  7. Khi nào dùng IIR, khi nào dùng FIR?
  8. IIR cho EQ và crossover thông thường
  9. FIR cho sửa pha và hệ thống đo kiểm kỹ
  10. Kết hợp cả hai trong cùng một hệ thống
  11. Kết luận: chọn theo độ trễ và mục tiêu pha
  12. Câu hỏi thường gặp
  13. FIR có hay hơn IIR không?
  14. Vì sao EQ trên điện thoại và DSP giá rẻ hầu như toàn IIR?
  15. FIR pha tuyến tính có làm mất nhạc tính vì trễ không?
  16. Có thể giảm trễ FIR bằng cách tăng sample rate không?
  17. ADAU1701 nên dùng FIR hay IIR?

FIR và IIR khác nhau thế nào là câu hỏi cốt lõi khi bạn bắt đầu làm EQ (equalizer, bộ cân bằng tần số) và phân tần số: IIR dùng hồi tiếp nên ít hệ số, độ trễ thấp, còn FIR không hồi tiếp nên luôn ổn định và có thể đạt pha tuyến tính, đổi lại tốn nhiều phép tính và trễ hơn. Hiểu đúng khác biệt này giúp bạn không chọn lọc theo lời đồn mà theo bài toán thật: chỉnh tông, chia dải hay sửa pha.

Bài nền tảng về biquad đã trình bày cấu trúc IIR cơ bản trong biquad và bộ lọc IIR trong EQ số. Bài này đi sâu vào so sánh trực tiếp FIR với IIR, kèm hai ví dụ tính số cụ thể về độ trễ và độ phân giải tần số.

Loa DIY hai đường tiếng và bo mạch DSP trên bàn làm việc điện tử

IIR là gì? Lọc hồi tiếp với rất ít hệ số

IIR (Infinite Impulse Response, đáp ứng xung vô hạn) là họ lọc mà ngõ ra hiện tại phụ thuộc cả vào mẫu đầu vào trước đó và mẫu đầu ra trước đó. Chính vòng hồi tiếp (feedback, đưa một phần kết quả quay lại đầu vào tính toán) khiến một xung ngắn có thể để lại dư âm kéo dài rất lâu trong lý thuyết, và cũng khiến lọc đạt đáp tuyến dốc chỉ với ít hệ số (coefficient, các trọng số nhân với mẫu tín hiệu).

Khối xây dựng phổ biến nhất của IIR trong âm thanh là biquad: một tầng lọc bậc hai gồm năm hệ số chính, làm được low-pass (lọc thông thấp, chỉ cho tần số thấp đi qua), high-pass (lọc thông cao), peaking và shelving. Một EQ tham số 10 band thường là mười biquad nối tiếp. Vì mỗi biquad chỉ xử lý vài phép nhân cộng cho mỗi mẫu, IIR chạy nhẹ trên hầu hết chip DSP và vi điều khiển.

Đổi lại, hồi tiếp mang hai hệ quả: thiết kế phải bảo đảm ổn định, vì hệ số sai có thể khiến lọc tự dao động; và pha thường phi tuyến — các tần số bị trễ không đều — thuộc nhóm pha tối thiểu (minimum-phase), tức độ trễ gắn liền với hình dạng đáp tuyến biên độ.

FIR là gì? Lọc không hồi tiếp, dài nhưng dễ kiểm soát pha

FIR (Finite Impulse Response, đáp ứng xung hữu hạn) tính ngõ ra bằng tổng có trọng số của một cửa sổ gồm N mẫu đầu vào gần nhất, không dùng ngõ ra cũ. N ở đây gọi là số tap — số hệ số của lọc. Vì không có hồi tiếp, FIR luôn ổn định: đầu vào ngừng thì sau tối đa N mẫu, ngõ ra cũng về yên.

Ưu điểm lớn nhất là pha. Nếu các hệ số đối xứng quanh tâm cửa sổ, FIR đạt pha tuyến tính tuyệt đối (linear phase): mọi tần số bị trễ cùng một lượng, nên dạng sóng được giữ nguyên hình dạng, chỉ đến muộn hơn. Cái giá là tài nguyên: muốn đáp tuyến chi tiết, nhất là ở tần số thấp, FIR cần hàng trăm đến hàng nghìn tap, và mỗi tap là một phép nhân cộng cho mỗi mẫu, cho mỗi kênh.

Bảng so sánh FIR và IIR

Tiêu chíIIRFIR
Cấu trúcCó hồi tiếp, dùng cả mẫu ra cũKhông hồi tiếp, chỉ dùng mẫu vào
Ổn địnhPhải thiết kế và kiểm tra cẩn thậnLuôn ổn định theo cấu trúc
Số hệ số điển hình cho EQ5 hệ số cho mỗi biquadHàng trăm đến hàng nghìn tap
PhaPhi tuyến, thường là pha tối thiểuCó thể tuyến tính tuyệt đối khi hệ số đối xứng
Độ trễThấp, thay đổi theo tần sốCố định (N − 1)/2 mẫu với FIR pha tuyến tính
Tài nguyên tínhRất nhẹTăng tuyến tính theo số tap
Hợp nhất vớiEQ, crossover thông thường, xử lý thời gian thực chặtSửa pha, FIR crossover, đo kiểm và hệ thống chấp nhận trễ

Bảng trên so sánh theo cấu trúc, không phải xếp hạng hay dở.

Quan hệ số tap, độ phân giải tần số và độ trễ

Ba đại lượng của FIR pha tuyến tính gắn chặt với nhau qua sample rate (tần số lấy mẫu, số mẫu trong một giây, ký hiệu fs). Độ phân giải tần số — mức chi tiết nhỏ nhất mà lọc có thể phân biệt quanh vùng tần thấp — xấp xỉ bằng fs chia N. Số tap càng lớn, độ phân giải càng mịn. Nhưng độ trễ nhóm (group delay, thời gian tín hiệu bị giữ lại) cũng tăng theo công thức (N − 1)/2 mẫu. Bạn không thể có cả độ phân giải rất mịn ở tần thấp, độ trễ thấp và ít tap cùng lúc; tăng một thứ phải trả giá bằng thứ khác.

Với IIR, quan hệ này lỏng hơn nhiều: một biquad tạo được một đỉnh EQ hẹp ở 50 Hz mà không cần giữ hàng nghìn mẫu trong bộ nhớ, vì hồi tiếp tái sử dụng thông tin quá khứ qua trạng thái nội bộ thay vì lưu mọi mẫu. Đây là lý do EQ số truyền thống gần như mặc định dùng IIR.

Ví dụ: FIR 1024 tap gây trễ bao nhiêu ở 48 kHz?

Ví dụ: xét FIR pha tuyến tính có N = 1024 tap, chạy ở fs = 48 kHz, tức 48.000 mẫu mỗi giây. Giả định lọc đối xứng nên độ trễ nhóm bằng (N − 1)/2 mẫu. Thay số: (1024 − 1)/2 = 511,5 mẫu. Đổi ra thời gian: 511,5 / 48.000 = 0,01066 giây, khoảng 10,7 ms. Đây là kết quả tính toán theo công thức, không phải kết quả đo trên bo mạch cụ thể.

Quy đổi ra khoảng cách: lấy tốc độ âm khoảng 343 m/giây, 0,01066 × 343 ≈ 3,7 m. Riêng khâu lọc đã làm tiếng muộn như thể loa lùi thêm khoảng 3,7 m, chưa kể trễ bluetooth và buffer.

Hệ quả: nghe nhạc thuần túy, 10,7 ms gần như không thành vấn đề. Xem phim, nó cộng dồn với trễ bluetooth có thể gây lệch hình và tiếng ở cảnh đối thoại nhanh. Hát karaoke còn nhạy hơn, vì giọng hát bị trễ làm người hát khó giữ nhịp. Vì vậy FIR dài thường không đặt vào đường karaoke cần phản hồi tức thì.

Ví dụ: cùng làm EQ 10 band, IIR và FIR tốn bao nhiêu?

Ví dụ: nhiệm vụ là EQ 10 band cho loa stereo ở 48 kHz. Phương án IIR dùng 10 biquad cho mỗi kênh. Mỗi biquad thêm độ trễ rất nhỏ ở vùng trung và cao, và độ trễ nhóm chỉ tăng đáng kể gần tần số trung tâm ở vùng thấp tùy hệ số Q (hệ số phẩm chất, quyết định độ hẹp của đỉnh EQ). Tổng thể, người dùng thường không nhận ra độ trễ của EQ IIR trong nghe nhạc, xem phim hay karaoke.

Phương án FIR phải đạt độ phân giải đủ mịn để vẽ riêng từng band, đặc biệt band thấp nhất quanh 31–63 Hz. Áp dụng xấp xỉ độ phân giải = fs/N, tính bằng Python cho ra: N = 256 cho khoảng 187,5 Hz — quá thô ở vùng bass; N = 1024 cho khoảng 46,9 Hz — mới tạm phân biệt được các band thấp; N = 4096 cho khoảng 11,7 Hz — mịn, nhưng độ trễ nhóm đã là (4096 − 1)/2 mẫu, khoảng 42,7 ms. Muốn độ phân giải khoảng 20 Hz, N cần cỡ 48.000/20 = 2400 tap và độ trễ khoảng 25 ms.

Kết luận của ví dụ: không phải FIR không làm được EQ, mà là chi phí tap và độ trễ tăng rất nhanh khi bạn đòi chi tiết ở tần số thấp, trong khi IIR giải quyết cùng việc bằng mười tầng biquad gọn nhẹ. Ngược lại, nếu mục tiêu là giữ pha tuyến tính để căn chỉnh hệ thống đo kiểm, chi phí đó có thể đáng trả.

Khi nào dùng IIR, khi nào dùng FIR?

IIR cho EQ và crossover thông thường

Hầu hết EQ và crossover (phân tần, chia tín hiệu cho loa bass và loa treble) trong loa kéo, loa bluetooth và DSP phổ thông đều dùng IIR qua biquad: độ trễ thấp, ít tài nguyên, chỉnh trực tiếp theo tần số, Q và gain (độ tăng giảm tính bằng decibel, dB). Trong SigmaDSP, đây cũng là cách mặc định khi dựng sơ đồ trên SigmaStudio, như bài SigmaStudio cơ bản cho ADAU1701 trình bày.

FIR cho sửa pha và hệ thống đo kiểm kỹ

FIR phát huy khi cần sửa pha độc lập với biên độ, xây FIR crossover pha tuyến tính, hoặc áp đáp tuyến đo được từ phòng và loa vào lọc hiệu chỉnh dài. Các tình huống này thường thuộc hệ thống đo kiểm kỹ hoặc loa kiểm âm, nơi người làm chấp nhận độ trễ và có công cụ đo để tạo hệ số và kiểm chứng kết quả.

Kết hợp cả hai trong cùng một hệ thống

Nhiều hệ thống dùng lai: IIR lo EQ và crossover chính, FIR ngắn hoặc khối delay lo căn thời gian giữa các củ loa. Bức tranh tổng thể nằm ở bài trụ cột DSP âm thanh là gì và cách chọn nền tảng xử lý.

Kết luận: chọn theo độ trễ và mục tiêu pha

Hãy hỏi ba câu trước khi chọn: hệ thống có chịu được thêm bao nhiêu mili giây trễ, bạn có thật sự cần pha tuyến tính không, và chi tiết cần đạt nằm ở vùng tần thấp đến mức nào. Nếu đáp án là trễ phải thấp và chỉ cần EQ hay crossover thường, IIR là lựa chọn mặc định đúng. Nếu đáp án là sửa pha có đo kiểm và chấp nhận trễ, FIR mới là công cụ phù hợp.

Đang dựng cấu hình DSP cho loa DIY và cần đối chiếu bo xử lý, module và ampli theo đúng thông số phiên bản định dùng, bạn có thể tham khảo thêm tại cimo.vn trước khi chốt linh kiện.

Câu hỏi thường gặp

FIR có hay hơn IIR không?

Không có đáp án chung. FIR hơn ở khả năng pha tuyến tính và kiểm soát đáp tuyến chi tiết; IIR hơn ở độ trễ và tài nguyên. Chất lượng cuối cùng phụ thuộc hệ số được thiết kế và đo kiểm thế nào, không chỉ họ lọc.

Vì sao EQ trên điện thoại và DSP giá rẻ hầu như toàn IIR?

Vì EQ cần chỉnh tức thì, độ trễ thấp và chạy trên phần cứng hạn chế. Mười biquad IIR đáp ứng đủ nhu cầu chỉnh tông và sửa đỉnh đáp tuyến với chi phí tính rất nhỏ.

FIR pha tuyến tính có làm mất nhạc tính vì trễ không?

Độ trễ tự nó không làm sai âm thanh khi nghe nhạc một mình; vấn đề chỉ xuất hiện khi cần đồng bộ với hình ảnh, giọng hát trực tiếp hoặc tín hiệu khác không bị trễ tương đương.

Có thể giảm trễ FIR bằng cách tăng sample rate không?

Có về mặt thời gian: cùng số tap, sample rate cao hơn cho độ trễ tính bằng giây nhỏ hơn. Nhưng độ phân giải fs/N cũng thô đi tương ứng, nên để giữ cùng độ chi tiết tần số bạn lại cần thêm tap, và tải tính tăng theo sample rate.

ADAU1701 nên dùng FIR hay IIR?

Với ngân sách lệnh mỗi mẫu có hạn của ADAU1701, IIR qua biquad là lựa chọn thực dụng cho EQ và crossover. FIR chỉ nên dùng ngắn và có mục đích rõ, sau khi đã tính tap, độ trễ và ngân sách xử lý.

#FIR và IIR khác nhau thế nào
Chia sẻ bài viết
Facebook
Cimo
Cimo
Cimo - Mọi thứ bạn cần với mức giá tốt nhất

Bài viết liên quan

Tất cả danh mục
Flash Sale
Ưu đãi hôm nay
Đấu giá