基于fpga的插值濾波器優(yōu)化的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線通信技術(shù)領(lǐng)域,具體涉及基于FPGA的插值濾波器優(yōu)化的方法及 裝置。
【背景技術(shù)】
[0002] 在無線通信系統(tǒng)中,時(shí)常需要將某采樣速率的信號變換成另一具有不同采用頻率 的信號,被稱為多速率信號處理,而提高信號速率的過程稱為插值,插值濾波器的輸入和輸 出數(shù)據(jù)速率具有線性的倍數(shù)關(guān)系,是實(shí)現(xiàn)數(shù)字通信系統(tǒng)中接收機(jī)數(shù)字上變頻(Digital Up Converter,簡稱DUC)的重要技術(shù)。
[0003] 在數(shù)字插值時(shí),為了防止數(shù)據(jù)混疊,需要在插值后加入濾波器,插值濾波器是基于 有限脈沖響應(yīng)(Finite Impulse Responce,簡稱FIR)濾波器實(shí)現(xiàn)的,設(shè)濾波器的輸入為X_ t(n),濾波器的輸出為Y(n),濾波器的階數(shù)為2M,c〇ef(i)為各相系數(shù),則插值濾波器的計(jì) 算公式為:
[0004]
[0005] 而對于插值濾波器,設(shè)濾波器階數(shù)為2M,實(shí)現(xiàn)N倍插值,設(shè)差之前的數(shù)據(jù)為X (η), 把濾波器公式變?yōu)榫仃囆问?,其中插值的N個(gè)數(shù)據(jù)計(jì)算如下:
[0006]
[0007]
[0008] …
[0009]
[0010] 其中,Μ、Ν均為正整數(shù)。去掉0的計(jì)算,插值公式修改為:
[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] 這樣可以看出插值濾波器中每一相的計(jì)算系數(shù)并不是對稱的,不能預(yù)加后乘法的 計(jì)算,這種方法乘法器應(yīng)用是預(yù)加后乘法器應(yīng)用的2倍。
【發(fā)明內(nèi)容】
[0026] 針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種基于FPGA的插值濾波器優(yōu)化的方法及裝 置,通過對插值濾波器各相不對稱的系數(shù)進(jìn)行修改,使得各相系數(shù)對稱,從而修改后的插值 濾波器采用預(yù)加的方法,節(jié)省了乘法器資源。
[0027] 第一方面,本發(fā)明提供了一種基于FPGA的插值濾波器優(yōu)化的方法,所述方法包 括:
[0028] 將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進(jìn)行變換,獲得各相對 稱的系數(shù);
[0029] 根據(jù)所述各相對稱的系數(shù),對所述插值濾波器的公式進(jìn)行變換;
[0030] 根據(jù)變換后的插值濾波器公式,得到優(yōu)化后的插值濾波器。
[0031] 優(yōu)選地,所述將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進(jìn)行變換, 獲得各相對稱的系數(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ù),對所述插值濾波器的公式進(jìn)行變換,包 括:
[0039] 根據(jù)修改后的對稱的系數(shù),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算, 得到變換后的插值濾波器的公式為:
[0040]
[0041]
[0042]
[0043]
[0044] 其中,插值濾波器的階數(shù)為2M,實(shí)現(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ù)進(jìn)行變換,獲得各相對稱的系數(shù),包括:
[0046] 對各組的不對稱的系數(shù)進(jìn)行變換,獲得修改后第i相的系數(shù)是對稱的,獲得修改 后第N-1-i相的系數(shù)是反對稱的。
[0047] 優(yōu)選地,所述根據(jù)修改后的對稱的系數(shù),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn) 行預(yù)減計(jì)算,包括:
[0048] 當(dāng)N為偶數(shù)時(shí),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算;
[0049] 當(dāng)N為奇數(shù)時(shí),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算,第(N-I)/2 相保持不變。
[0050] 第二方面,本發(fā)明提供了一種基于FPGA的插值濾波器優(yōu)化的裝置,所述裝置包 括:
[0051] 修改模塊,用于將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進(jìn)行變 換,得到各相修改后的系數(shù);
[0052] 變換模塊,用于根據(jù)所述各相修改后的系數(shù),對所述插值濾波器的公式進(jìn)行變 換;
[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相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算, 得到變換后的插值濾波器的公式為:
[0063]
[0067] 其中,插值濾波器的階數(shù)為2M,實(shí)現(xiàn)N倍插值,Zn Jn)表示插值濾波器第N相的輸
[0064]
[0065]
[0066] 出
表不插值濾波器的輸入,z_coefN i (i)表不第N相的系數(shù)。
[0068] 優(yōu)選地,所述修改模塊,用于:
[0069] 對各組的不對稱的系數(shù)進(jìn)行變換,獲得修改后第i相的系數(shù)是對稱的,獲得修改 后第N-1-i相的系數(shù)是反對稱的。
[0070] 優(yōu)選地,所述變換模塊,還用于:
[0071] 當(dāng)N為偶數(shù)時(shí),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算;
[0072] 當(dāng)N為奇數(shù)時(shí),對第i相進(jìn)行預(yù)加計(jì)算,對第N-1-i相進(jìn)行預(yù)減計(jì)算,第(N-I)/2 相保持不變。
[0073] 由上述技術(shù)方案可知,本發(fā)明提供一種基于FPGA的插值濾波器優(yōu)化的方法及裝 置,通過對插值濾波器各相不對稱的系數(shù)進(jìn)行修改,使得各相系數(shù)對稱,從而修改后的插值 濾波器采用預(yù)加的方法,節(jié)省了乘法器資源。
【附圖說明】
[0074] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些圖獲得其他的附圖。
[0075] 圖1是本發(fā)明一實(shí)施例提供的基于FPGA的插值濾波器優(yōu)化的方法的流程圖;
[0076] 圖2是本發(fā)明一實(shí)施例提供的FPGA的插值濾波器優(yōu)化的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0077] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0078] 如圖1所示,圖1示出了本發(fā)明一實(shí)施例提供的基于FPGA的插值濾波器優(yōu)化的方 法,該方法包括如下步驟:
[0079] 101、將插值濾波器的系數(shù)分為若干組,對各組的不對稱的系數(shù)進(jìn)行變換,獲得各 相對稱的系數(shù)。
[0080] 102、根據(jù)所述各相對稱的系數(shù),對所述插值濾波器的公式進(jìn)行變換。
[0081] 103、根據(jù)變換后的插值濾波器公式,得到優(yōu)化后的插值濾波器。
[0082] 具體來說,對于插值濾波器,設(shè)濾波器階數(shù)為2M,實(shí)現(xiàn)N倍插值,即在數(shù)據(jù)中間插 入N-I個(gè)0,設(shè)插值前的數(shù)據(jù)為X (η)。N倍插值計(jì)算的過程中,每一相的計(jì)算系數(shù)并不相同, 設(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ù)對稱性質(zhì),可知:
[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ù)為這兩項(xiàng)的系數(shù)之差。這樣,修改后第i相的系數(shù)是對稱的,而第N-1-i相的系數(shù)是反 對稱的,因此可以采用對稱濾波器進(jìn)行設(shè)計(jì)。其中,i為