基于fpga的插值濾波器優(yōu)化的方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及無線通信技術領域,具體涉及基于FPGA的插值濾波器優(yōu)化的方法及 裝置。
【背景技術】
[0002] 在無線通信系統(tǒng)中,時常需要將某采樣速率的信號變換成另一具有不同采用頻率 的信號,被稱為多速率信號處理,而提高信號速率的過程稱為插值,插值濾波器的輸入和輸 出數(shù)據(jù)速率具有線性的倍數(shù)關系,是實現(xiàn)數(shù)字通信系統(tǒng)中接收機數(shù)字上變頻(Digital Up Converter,簡稱DUC)的重要技術。
[0003] 在數(shù)字插值時,為了防止數(shù)據(jù)混疊,需要在插值后加入濾波器,插值濾波器是基于 有限脈沖響應(Finite Impulse Responce,簡稱FIR)濾波器實現(xiàn)的,設濾波器的輸入為X_ t(n),濾波器的輸出為Y(n),濾波器的階數(shù)為2M,c〇ef(i)為各相系數(shù),則插值濾波器的計 算公式為:
[0004]
[0005] 而對于插值濾波器,設濾波器階數(shù)為2M,實現(xiàn)N倍插值,設差之前的數(shù)據(jù)為X (η), 把濾波器公式變?yōu)榫仃囆问?,其中插值的N個數(shù)據(jù)計算如下:
[0006]
[0007]
[0008] …
[0009]
[0010] 其中,Μ、Ν均為正整數(shù)。去掉0的計算,插值公式修改為:
[0011]
[0012]
[0013]
[0014]
[0015] 其中:
[0016] coef0 (i) = {coef (N-I), coef (2N-1) ,···, coef (2M-1)}
[0017] Coef1(I) = {coef (N-2), coef (2N-2) ,···, coef (2M-2)}
[0018] ...
[0019] coefN1(i) = {coef (0), coef (0+N), ···, coef (2M-N)}
[0020] 由于濾波器的系數(shù)是對稱的,即
[0021] coef (0) = coef (2M-1)
[0022] coef(l) = coef (2M~2)
[0023] …
[0024] coef (M-I) = coef (M)
[0025] 這樣可以看出插值濾波器中每一相的計算系數(shù)并不是對稱的,不能預加后乘法的 計算,這種方法乘法器應用是預加后乘法器應用的2倍。
【發(fā)明內(nèi)容】
[0026] 針對現(xiàn)有技術的缺陷,本發(fā)明提供一種基于FPGA的插值濾波器優(yōu)化的方法及裝 置,通過對插值濾波器各相不對稱的系數(shù)進行修改,使得各相系數(shù)對稱,從而修改后的插值 濾波器采用預加的方法,節(jié)省了乘法器資源。
[0027] 第一方面,本發(fā)明提供了一種基于FPGA的插值濾波器優(yōu)化的方法,所述方法包 括:
[0028] 將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進行變換,獲得各相對 稱的系數(shù);
[0029] 根據(jù)所述各相對稱的系數(shù),對所述插值濾波器的公式進行變換;
[0030] 根據(jù)變換后的插值濾波器公式,得到優(yōu)化后的插值濾波器。
[0031] 優(yōu)選地,所述將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進行變換, 獲得各相對稱的系數(shù),包括:
[0032] 將N倍插值濾波器的系數(shù)依次分為N組,找出系數(shù)對稱的相第i相和第N-1-i 相,并將對稱相的系數(shù)相加作為修改后第i相的系數(shù),將對稱相的系數(shù)相減作為修改后第 N-1-i相的系數(shù),各相系數(shù)為:
[0033] z_coef〇(i) = { (coef (0)+coef (N-I) ) , (coef (0+N)+coef (2N-1)), ··· ,(coef(2M-N)+coef(2M-1))}
[0034] Z-Coef1 (i) = { (coef (I)+coef (N_2) ), (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0035] …
[0036] z_coefN ! (i) = {(coef (0)-coef (N-1) ),(coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0037] 其中,z_C〇efN di)表示第N相的系數(shù),coef (N-I)表示濾波器的系數(shù)。
[0038] 優(yōu)選地,所述根據(jù)所述各相對稱的系數(shù),對所述插值濾波器的公式進行變換,包 括:
[0039] 根據(jù)修改后的對稱的系數(shù),對第i相進行預加計算,對第N-1-i相進行預減計算, 得到變換后的插值濾波器的公式為:
[0040]
[0041]
[0042]
[0043]
[0044] 其中,插值濾波器的階數(shù)為2M,實現(xiàn)N倍插值,Zn Jn)表示插值濾波器第N相的輸 2M 出,i):+__X(:n-(i^-_l+z:)_)_表不插值濾波器的輸入,z_c〇ef N Ji)表不第N相的系數(shù)。
[Si'
[0045] 優(yōu)選地,所述對各組的不對稱的系數(shù)進行變換,獲得各相對稱的系數(shù),包括:
[0046] 對各組的不對稱的系數(shù)進行變換,獲得修改后第i相的系數(shù)是對稱的,獲得修改 后第N-1-i相的系數(shù)是反對稱的。
[0047] 優(yōu)選地,所述根據(jù)修改后的對稱的系數(shù),對第i相進行預加計算,對第N-1-i相進 行預減計算,包括:
[0048] 當N為偶數(shù)時,對第i相進行預加計算,對第N-1-i相進行預減計算;
[0049] 當N為奇數(shù)時,對第i相進行預加計算,對第N-1-i相進行預減計算,第(N-I)/2 相保持不變。
[0050] 第二方面,本發(fā)明提供了一種基于FPGA的插值濾波器優(yōu)化的裝置,所述裝置包 括:
[0051] 修改模塊,用于將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進行變 換,得到各相修改后的系數(shù);
[0052] 變換模塊,用于根據(jù)所述各相修改后的系數(shù),對所述插值濾波器的公式進行變 換;
[0053] 優(yōu)化模塊,用于根據(jù)變換后的插值濾波器公式,得到優(yōu)化后的插值濾波器。
[0054] 優(yōu)選地,所述修改模塊,具體用于:
[0055] 將N倍插值濾波器的系數(shù)依次分為N組,找出系數(shù)對稱的相第i相和第N-1-i 相,并將對稱相的系數(shù)相加作為修改后第i相的系數(shù),將對稱相的系數(shù)相減作為修改后第 N-1-i相的系數(shù),各相系數(shù)為:
[0056] z_coef〇(i) = { (coef (O)+coef (N-I) ) , (coef (0+N)+coef (2N-1)) , ··· ,(coef (2M-N)+coef (2M-1))}
[0057] Z-Coef1 (i) = { (coef (I)+coef (N_2) ) , (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0058] …
[0059] z_coefN ! (i) = { (coef (0)-coef (N_l)),(coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0060] 其中,z_coefN i(i)表示第N相的系數(shù),coef (N-I)表示濾波器的系數(shù)。
[0061] 優(yōu)選地,所述變換模塊,具體用于:
[0062] 根據(jù)修改后的對稱的系數(shù),對第i相進行預加計算,對第N-1-i相進行預減計算, 得到變換后的插值濾波器的公式為:
[0063]
[0067] 其中,插值濾波器的階數(shù)為2M,實現(xiàn)N倍插值,Zn Jn)表示插值濾波器第N相的輸
[0064]
[0065]
[0066] 出
表不插值濾波器的輸入,z_coefN i (i)表不第N相的系數(shù)。
[0068] 優(yōu)選地,所述修改模塊,用于:
[0069] 對各組的不對稱的系數(shù)進行變換,獲得修改后第i相的系數(shù)是對稱的,獲得修改 后第N-1-i相的系數(shù)是反對稱的。
[0070] 優(yōu)選地,所述變換模塊,還用于:
[0071] 當N為偶數(shù)時,對第i相進行預加計算,對第N-1-i相進行預減計算;
[0072] 當N為奇數(shù)時,對第i相進行預加計算,對第N-1-i相進行預減計算,第(N-I)/2 相保持不變。
[0073] 由上述技術方案可知,本發(fā)明提供一種基于FPGA的插值濾波器優(yōu)化的方法及裝 置,通過對插值濾波器各相不對稱的系數(shù)進行修改,使得各相系數(shù)對稱,從而修改后的插值 濾波器采用預加的方法,節(jié)省了乘法器資源。
【附圖說明】
[0074] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些圖獲得其他的附圖。
[0075] 圖1是本發(fā)明一實施例提供的基于FPGA的插值濾波器優(yōu)化的方法的流程圖;
[0076] 圖2是本發(fā)明一實施例提供的FPGA的插值濾波器優(yōu)化的裝置的結構示意圖。
【具體實施方式】
[0077] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0078] 如圖1所示,圖1示出了本發(fā)明一實施例提供的基于FPGA的插值濾波器優(yōu)化的方 法,該方法包括如下步驟:
[0079] 101、將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進行變換,獲得各 相對稱的系數(shù)。
[0080] 102、根據(jù)所述各相對稱的系數(shù),對所述插值濾波器的公式進行變換。
[0081] 103、根據(jù)變換后的插值濾波器公式,得到優(yōu)化后的插值濾波器。
[0082] 具體來說,對于插值濾波器,設濾波器階數(shù)為2M,實現(xiàn)N倍插值,即在數(shù)據(jù)中間插 入N-I個0,設插值前的數(shù)據(jù)為X (η)。N倍插值計算的過程中,每一相的計算系數(shù)并不相同, 設多相濾波器的對稱相位第m相和第N-1-m相,其系數(shù)具體如下:
[0083] Coefm = {coef (N-1-m),coef (2N-l_m),…,coef (2M-l_m)}
[0084] coefN ! m = {coef (m), coef (m+N), ···, coef (m+2M-N)}
[0085] 其中M、N為正整數(shù),m為大于等于0的整數(shù)。
[0086] 根據(jù)FIR濾波器的系數(shù)對稱性質,可知:
[0087] coef(N-1-m) = coef(m+2M-N)
[0088] …
[0089] coef (2M-1-m) = coef (m)
[0090] 可以看出,第m相和第N-1-m相的系數(shù)之和是對稱的,系數(shù)之差是反對稱的。
[0091] 則修改插值濾波器的公式,如下:
[0092]
[0093]
[0094]
[0095]
[0096] 其中:
[0097] z_coef〇(i) = { (coef (0)+coef (N-I) ) , (coef (0+N)+coef (2N-1)), ··· ,(coef(2M-N)+coef(2M-1))}
[0098] Z-Coef1 (i) = { (coef (I)+coef (N_2) ), (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0099] …
[0100] z_coefN 丄(i) = { (coef (0)-coef (N-1)), (coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0101] 其中,z_coefN Ji)表示第N相的系數(shù),coef (N-I)表示濾波器的系數(shù)。
[0102] 即對稱相第i相和第N_l_i相,第i相的系數(shù)為這兩相的系數(shù)之和,第N_l_i相的 系數(shù)為這兩項的系數(shù)之差。這樣,修改后第i相的系數(shù)是對稱的,而第N-1-i相的系數(shù)是反 對稱的,因此可以采用對稱濾波器進行設計。其中,i為