[0108] 第二數(shù)據(jù)拆分電路,設(shè)置為根據(jù)判斷結(jié)果中的截?cái)辔坏鸵晃淮_定是否對(duì)截?cái)辔坏臀徊糠稚釛墸热纾寒?dāng)截?cái)辔坏鸵晃粸?時(shí),決定對(duì)截?cái)辔坏臀徊糠稚釛墶_@樣,實(shí)現(xiàn)了符號(hào)位保留及四舍五入。
[0109] 補(bǔ)償計(jì)算電路包括第三數(shù)據(jù)判斷電路和第一加法器,其中:
[0110] 第三數(shù)據(jù)判斷電路,設(shè)置為根據(jù)截?cái)辔坏鸵晃坏娜≈祵?duì)截?cái)嗌釛壊糠诌M(jìn)行計(jì)算;
[0111] 第一加法器,設(shè)置為截?cái)辔坏鸵晃粸?時(shí),確定對(duì)保留部分進(jìn)行+1進(jìn)位處理。這樣,實(shí)現(xiàn)了符號(hào)位保留及四舍五入。
[0112] 截位補(bǔ)償電路包括第二加法器,設(shè)置為:
[0113] 將截?cái)嘤?jì)算即截位操作后得到的高位部分與補(bǔ)償計(jì)算得到的低位部分相加得到最終IIR計(jì)算結(jié)果。這樣,通過分段計(jì)算得到數(shù)據(jù)的高位運(yùn)算結(jié)果和低位運(yùn)算結(jié)果,再將兩端結(jié)果進(jìn)行拼接得到新的數(shù)據(jù)。
[0114] 通過本申請(qǐng)IIR計(jì)算電路的處理,實(shí)現(xiàn)了將來自計(jì)算后得到的較大位寬的結(jié)果縮小為較小位寬,同時(shí)與原有的截取高位結(jié)果相比提高了計(jì)算的準(zhǔn)確度。從算法上優(yōu)化了計(jì)算結(jié)果。
[0115] IP核全稱知識(shí)產(chǎn)權(quán)核(Intellectual?Property?Core),是指某一方提供的芯片設(shè)計(jì)模塊。設(shè)計(jì)人員能夠以IP核為基礎(chǔ)進(jìn)行專用集成電路或現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)的邏輯設(shè)計(jì),以縮短設(shè)計(jì)周期、提高設(shè)計(jì)質(zhì)量與效率。本申請(qǐng)實(shí)施例提供的IIR濾波器實(shí)現(xiàn)了一種通用的IIR?IP?core,及其相關(guān)的計(jì)算、控制電路。在一種實(shí)施例中,為了提高本申請(qǐng)IIR濾波器的通用性,使其靈活配置要針對(duì)此設(shè)計(jì)控制核心狀態(tài)機(jī)來協(xié)議控制功能。
[0116] 圖5為本申請(qǐng)實(shí)施例中IIR濾波器實(shí)現(xiàn)IIR濾波的方法的流程示意圖,如圖5所示,包括:
[0117] 步驟500:利用同步采樣技術(shù)從待濾波的多通道并行輸入的數(shù)據(jù)中分時(shí)獲取各通道的數(shù)據(jù)。
[0118] 在一種示例性實(shí)例中,本步驟可以包括:
[0119] 根據(jù)移位寄存器每移動(dòng)的指定位數(shù)確定當(dāng)前的通道數(shù);
[0120] 根據(jù)當(dāng)前的通道數(shù),通過同步采樣技術(shù)從待濾波的多通道并行輸入的數(shù)據(jù)中分時(shí)獲取各通道的數(shù)據(jù)。
[0121] 步驟501:按照重新載入的系數(shù),對(duì)獲得的數(shù)據(jù)進(jìn)行IIR計(jì)算和截位處理。
[0122] 在一種示例性實(shí)例中,步驟501之前還可以包括:
[0123] 通過宏定義參數(shù)配置的方式重新載入系數(shù),或者,通過總線端口寫入以重新載入系數(shù)。
[0124] 在一種示例性實(shí)例中,本步驟可以包括:
[0125] 對(duì)重載的系數(shù)和IIR濾波后的反饋結(jié)果進(jìn)行第一乘法運(yùn)算,同時(shí)對(duì)重載的系數(shù)和多通道分時(shí)輸入的數(shù)據(jù)進(jìn)行第二乘法運(yùn)算;
[0126] 對(duì)第一乘法運(yùn)算的結(jié)果和第二乘法運(yùn)算的結(jié)果進(jìn)行加法運(yùn)算;
[0127] 對(duì)加法運(yùn)算的結(jié)果進(jìn)行截位處理。
[0128] 在一種示例性實(shí)例中,對(duì)加法運(yùn)算的結(jié)果進(jìn)行截位處理,包括:
[0129] 對(duì)加法運(yùn)算的結(jié)果進(jìn)行截?cái)辔粩?shù)判斷;
[0130] 根據(jù)截?cái)辔粩?shù)判斷的判斷結(jié)果進(jìn)行截位操作。
[0131] 在一種示例性實(shí)例中,對(duì)加法運(yùn)算的結(jié)果進(jìn)行截?cái)辔粩?shù)判斷,可以包括:
[0132] 根據(jù)用戶預(yù)先選擇的宏定義參數(shù),比如:輸入數(shù)據(jù)位寬、系數(shù)位寬、輸出數(shù)據(jù)位寬、放大倍數(shù)等,計(jì)算出乘法計(jì)算的參數(shù),比如輸出位寬、輸出數(shù)據(jù)高位保留位、輸出數(shù)據(jù)截?cái)辔坏刃畔ⅲ?
[0133] 根據(jù)計(jì)算出的參數(shù)計(jì)算截?cái)嘟Y(jié)果以進(jìn)行所述截?cái)辔粩?shù)判斷,其中,階段結(jié)果可以包括如需要保留的位數(shù)、反饋數(shù)據(jù)需要保留的位數(shù)。
[0134] 在一種示例性實(shí)例中,根據(jù)截?cái)辔粩?shù)判斷的判斷結(jié)果進(jìn)行截位操作,可以包括:
[0135] 根據(jù)判斷結(jié)果中的符號(hào)位保留有效符號(hào)位;
[0136] 根據(jù)判斷結(jié)果中的截?cái)辔坏鸵晃淮_定是否對(duì)截?cái)辔坏臀徊糠稚釛墶?
[0137] 步驟502:通過四舍五入對(duì)截位處理的結(jié)果進(jìn)行補(bǔ)償后得到IIR濾波的結(jié)果。
[0138] 在一種示例性實(shí)例中,本步驟可以包括:
[0139] 根據(jù)對(duì)加法運(yùn)算的結(jié)果進(jìn)行截?cái)辔粩?shù)判斷的判斷結(jié)果計(jì)算補(bǔ)償數(shù)據(jù);
[0140] 按照補(bǔ)償數(shù)據(jù)對(duì)截位操作后的數(shù)據(jù)進(jìn)行補(bǔ)償?shù)玫絀IR濾波的結(jié)果。
[0141] 在一種示例性實(shí)例中,根據(jù)對(duì)加法運(yùn)算的結(jié)果進(jìn)行截?cái)辔粩?shù)判斷的判斷結(jié)果計(jì)算補(bǔ)償數(shù)據(jù),可以包括:
[0142] 根據(jù)截?cái)辔坏鸵晃坏娜≈祵?duì)截?cái)嗌釛壊糠诌M(jìn)行計(jì)算;
[0143] 當(dāng)截?cái)辔坏鸵晃粸?時(shí),確定對(duì)保留部分進(jìn)行+1進(jìn)位處理。這樣,實(shí)現(xiàn)了符號(hào)位保留及四舍五入。
[0144] 在一種示例性實(shí)例中,按照補(bǔ)償數(shù)據(jù)對(duì)截位操作后的數(shù)據(jù)進(jìn)行補(bǔ)償?shù)玫絀IR濾波的結(jié)果,可以包括:
[0145] 將截?cái)嘤?jì)算得到的高位部分與補(bǔ)償計(jì)算得到的低位部分相加得到最終IIR計(jì)算結(jié)果。
[0146] 本申請(qǐng)實(shí)施例通過截位后的四舍五入補(bǔ)償,提高了計(jì)算的準(zhǔn)確度。從算法上優(yōu)化了IIR計(jì)算結(jié)果。