默認(rèn)情況(復(fù)位狀態(tài))下,雙二階濾波器配置為全通濾波器。在這種情況下,濾波器系數(shù)(如方程式 3 中所述)具有以下值:
- N0 = 231 (b0 = 1)
- N1、N2、D1、D2 = 0(b1、b2、a1、a2 = 0)
請(qǐng)按照以下步驟,使用 MATLAB? 等數(shù)字濾波器設(shè)計(jì)套件生成 IIR 雙二階系數(shù):
- 使用濾波器設(shè)計(jì)函數(shù)(如 MATLAB butter 函數(shù))計(jì)算系數(shù) [b0、b1、b2、a0、a1、a2],以便設(shè)計(jì)系統(tǒng)運(yùn)行頻率為 48kHz、截止頻率為 1kHz 的巴特沃斯濾波器。請(qǐng)注意,將 MATLAB 系數(shù)歸一化后,a0 = 1。
[b, a] = butter( 2, 1000 / (48000/2) )
- 將這些系數(shù)轉(zhuǎn)換為 [N0、N1、N2、D1、D2],如下所示:
- N0 = b0
- N1 = b1/2
- N2 = b2
- D1 = -a1/2
- D2 = -a2
- 通過(guò)乘以 231,將系數(shù)轉(zhuǎn)換為 Q31。
- 四舍五入到最接近的整數(shù),并轉(zhuǎn)換為 32 位二進(jìn)制補(bǔ)碼十六進(jìn)制格式:
- 正整數(shù)轉(zhuǎn)換為十六進(jìn)制格式
- 對(duì)于負(fù)整數(shù),先取系數(shù)的絕對(duì)值,再轉(zhuǎn)換為二進(jìn)制,取反,加一,然后轉(zhuǎn)換為十六進(jìn)制。例如,要以 32 位二進(jìn)制補(bǔ)碼十六進(jìn)制格式表示 -135:
- -135 的絕對(duì)值用二進(jìn)制表示為 0000 0000 0000 0000 0000 0000 1000 0111(用十六進(jìn)制表示為 0x00000087)。
- 二進(jìn)制取反的結(jié)果用二進(jìn)制表示為 1111 1111 1111 1111 1111 1111 0111 1000(用十六進(jìn)制表示為 0xFFFFFF78)。
- 向其添加 1 后的結(jié)果用二進(jìn)制表示為 1111 1111 1111 1111 1111 1111 0111 1001(用十六進(jìn)制表示為 0xFFFFFF79)。因此,-135 的 32 位二進(jìn)制補(bǔ)碼十六進(jìn)制表示形式為 0xFFFFFF79。