專利名稱:基于fpga設(shè)計(jì)的串行自適應(yīng)消噪模塊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字濾波設(shè)備領(lǐng)域,尤其是一種基于FPGA設(shè)計(jì)的串行自適 應(yīng)消噪模塊。
背景技術(shù):
現(xiàn)場(chǎng)可編程門陣列(FPGA,英文為Field Programmable Gate Array)是作 為專用集成電路(ASIC)的一種半定制電路而出現(xiàn),它既解決了定制電路的 不足,又克服了原有可編程器件門電路數(shù)目有限的缺點(diǎn),因此,現(xiàn)場(chǎng)可編程 門陣列(FPGA)芯片得到了廣泛的應(yīng)用。目前,使用FPGA芯片開發(fā)LMS (最小均方算法)數(shù)字濾波器產(chǎn)品的應(yīng)用越來越廣泛,現(xiàn)有技術(shù)主要針對(duì)于 高速數(shù)字信號(hào)進(jìn)行處理,采用并行多級(jí)流水線結(jié)構(gòu)來實(shí)現(xiàn),其存在的問題是 并行多級(jí)流水結(jié)構(gòu)需要消耗較多的邏輯資源,需要使用高性能的FPGA芯片 進(jìn)行處理,尤其是當(dāng)LMS濾波器的階數(shù)比較高時(shí),造成LMS濾波器的開發(fā) 成本和產(chǎn)品成本大幅度增加,不適用于LMS濾波器的階數(shù)比較高時(shí)的中低速 信號(hào)的處理。
發(fā)明內(nèi)容
本發(fā)明在于克服現(xiàn)有技術(shù)的不足,提出一種串行LMS濾波器結(jié)構(gòu)、能夠 較大降低LMS濾波器成本的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊。
本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的 一種基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,由信號(hào)轉(zhuǎn)換電路、u值計(jì) 算電路、LMS濾波器電路及輸出調(diào)整電路構(gòu)成,其特征在于該LMS濾波器電 路為串行LMS濾波器電路,信號(hào)轉(zhuǎn)換電路的兩個(gè)輸入端分別與原始信號(hào)s(n) 及噪聲輸入信號(hào)r(n)相連接,信號(hào)轉(zhuǎn)換電路輸出轉(zhuǎn)換后的輸入信號(hào)sl(n)和 參考信號(hào)rl (n)分別連接到串行LMS濾波器電路的兩個(gè)輸入端,該信號(hào)轉(zhuǎn)換電 路輸出的縮小倍數(shù)b與u值計(jì)算電路的輸入端相連接,該信號(hào)轉(zhuǎn)換電路輸出 的調(diào)整信號(hào)m與輸出調(diào)整電路的一個(gè)輸入端相連接,P值計(jì)算電路輸出的U 值連接到串行LMS濾波器電路的第三個(gè)輸入端,串行LMS濾波器的輸出信號(hào) y(n)連接到輸出調(diào)整電路的另一個(gè)輸入端,輸出調(diào)整電路輸出消除噪聲的信 號(hào)Y(n)。
而且,所述的信號(hào)轉(zhuǎn)換電路包括噪聲信號(hào)轉(zhuǎn)換電路及原始信號(hào)轉(zhuǎn)換電路,
其中-
(l).噪聲信號(hào)轉(zhuǎn)換電路包括緩存器(1)、比較器(1)、寄存器(1一3)、
5除法器(1)、移位寄存器(1)、計(jì)數(shù)器(1)及整數(shù)乘法器(1),噪聲輸入信
號(hào)r(n)分別連接到比較器(1)的一個(gè)輸入端和緩存器(1)的輸入端,緩存
器(1)的輸出端連接除法器(1)的被除數(shù)端,比較器(1)的輸出端與寄存
器(1)的輸入端相連接,寄存器(1)的輸出端分別與寄存器(2)的一個(gè)輸
入端、比較器(1)的另一個(gè)輸入端相連接,計(jì)數(shù)器(1)的輸出端與寄存器
(2)的另一個(gè)輸入端相連接,寄存器(2)的輸出端分別與除法器(1)的除 數(shù)端、除法器(2)的除數(shù)端、整數(shù)乘法器(1)的一個(gè)輸入端相連接,除法 器(1)的輸出端與移位寄存器(1)的輸入端相連接,移位寄存器(1)的一 個(gè)輸出端連接寄存器(3),移位寄存器(1)的第二個(gè)輸出端輸出縮小倍數(shù)b 并與整數(shù)乘法器(1)的另一個(gè)輸入端相連接,寄存器(3)的輸出端輸出轉(zhuǎn) 換后的參考信號(hào)rl(n),整數(shù)乘法器(1)的輸出端輸出調(diào)整信號(hào)m;
(2).原始信號(hào)轉(zhuǎn)換電路包括緩存器(2)、除法器(2)、移位寄存器(2) 及寄存器(4),原始信號(hào)s(n)連接到緩存器(2)的輸入端,緩存器(2)的 輸出端連接到除法器(2)的被除數(shù)端,除法器(2)的除數(shù)端與噪聲信號(hào)轉(zhuǎn) 換電路中的寄存器(2)的輸出端相連接,該除法器(2)的輸出端與移位寄 存器(2)輸入端相連接,移位寄存器(2)的輸出端與寄存器(4)的輸入端 相連接,寄存器(4)的輸出端輸出轉(zhuǎn)換后的輸入信號(hào)sl(n)。
而且,所述的p值計(jì)算電路由整數(shù)乘法器(2)構(gòu)成,整數(shù)乘法器(2) 的兩個(gè)輸入端分別與一個(gè)常數(shù)a及信號(hào)轉(zhuǎn)換輸出電路輸出的縮小倍數(shù)b相連 接,其輸出值即為u值,該u值的計(jì)算公式如下
y 二b/a
其中a是常數(shù),b是縮小倍數(shù)。
而且,所述的串行LMS濾波器電路由分時(shí)復(fù)用電路、乘法累加器、反向 器、小數(shù)加法器(1)及加權(quán)系數(shù)計(jì)算電路構(gòu)成,分時(shí)復(fù)用電路的輸入端與參 考信號(hào)rl(n)相連接,其輸出端輸出的信號(hào)r2(n)分別連接到乘法累加器的第 一個(gè)輸入端和加權(quán)系數(shù)計(jì)算電路的第一個(gè)輸入端,其輸出端輸出的控制信號(hào)1 及y計(jì)算電路輸出的U值分別與加權(quán)系數(shù)計(jì)算電路的第二個(gè)輸入端及第三 個(gè)輸入端相連接,乘法累加器的一個(gè)輸出端與反向器的輸入端相連接,該反 向器的輸出端及輸入信號(hào)sl(n)分別連接到小數(shù)加法器(1)的兩個(gè)輸入端, 小數(shù)加法器(1)輸出端輸出信號(hào)y(n),該輸出信號(hào)y(n)及乘法累加器另一 個(gè)輸出端輸出的控制信號(hào)2分別連接到加權(quán)系數(shù)計(jì)算電路的第四個(gè)輸入端及 第五個(gè)輸入端,該加權(quán)系數(shù)計(jì)算電路的數(shù)據(jù)輸出端連接到乘法累加器的另一 個(gè)輸入端,串行LMS濾波器電路計(jì)算y(n)的計(jì)算公式如下
y (n)二sl (n) - v, (n)
二sl (n) — [Wo (n) rl (n) +Wi (n) rl (n-l) + W2 (n) rl (n-2)
6+W3 (n) r 1 (n-3) +W4 (n) rl (n_4) +W5 (n) r 1 (n-5) +W6 (n) r 1 (n-6)
+......+WM(n)rl(n-M)]
其中M為濾波器的階數(shù),sl(n)為輸入到串行LMS濾波器的輸入信號(hào),
rl(n)、 rl(n-l)、 rl (n-2) 、 rl (n-3) 、 rl (n-4) 、 rl (n-5) 、 rl (n_6)、......、
rl(n-M)分別代表n、 n-1、 n-2、 n-3、 n-4、 n_5、 n_6、 ......、 n-M時(shí)刻輸入
到串行LMS濾波器的參考信號(hào),W。(n)、 Wi(n)、 W2(n)、 W3(n)、 W4(n)、 W5(n)、 W"n)、……、WM(n)分別代表n時(shí)刻的濾波器加權(quán)系數(shù),其計(jì)算公式如下 WL(n)=WL(n-l)+2yrl(n-L-l)y(n-1), L二O, 1,…,M
其中Wjn)和Wjn-1)分別代表n和n-1時(shí)刻串行LMS濾波器的第L階濾 波器加權(quán)系數(shù),rl (n-L-l)代表n-L-1時(shí)刻串行LMS濾波器輸入的參考信號(hào), y(n-l)代表n-1時(shí)刻串行LMS濾波器的輸出。
而且,所述的輸出調(diào)整電路由整數(shù)乘法器(4)構(gòu)成,該整數(shù)乘法器(4) 兩個(gè)輸入端分別與串行LMS濾波器的輸出信號(hào)y(n)及信號(hào)轉(zhuǎn)換電路輸出的調(diào) 整信號(hào)m相連接,該整數(shù)乘法器(4)的輸出端輸出最終去除噪聲的信號(hào)Y(n)。
而且,所述的分時(shí)復(fù)用電路由計(jì)數(shù)器(2)、寄存器(5-12)、地址總線和 數(shù)據(jù)總線構(gòu)成,計(jì)數(shù)器(2)的輸出端連接到地址總線上,寄存器(5 — 12) 順序連接接入到地址總線和數(shù)據(jù)總線上,參考信號(hào)rl(n)與寄存器(5)的輸 入端相連接,寄存器(5 — 12)的輸出端分別輸出信號(hào)r2 (n)。
而且,所述的加權(quán)系數(shù)計(jì)算電路由整數(shù)乘法器(3)、緩存器(3-5)、小 數(shù)乘法器和小數(shù)加法器(2)連接構(gòu)成,整數(shù)乘法器(3)的兩個(gè)輸入端分別 與p值及信號(hào)r2(n)相連接,整數(shù)乘法器(3)的輸出端與緩存器(3)的輸入 端相連接,緩存器(3)的輸出端及信號(hào)y(n)分別連接到小數(shù)乘法器的兩個(gè)輸 入端,小數(shù)乘法器的輸出端連接到小數(shù)加法器(2)的一個(gè)輸入端,小數(shù)加法 器(2)的輸出端與緩存器(4)的輸入端相連接,緩存器(4)的輸出端輸出 加權(quán)系數(shù)并連接到緩存器(5)的輸入端,緩存器(5)的輸出端連接到小數(shù) 加法器(2)的另一個(gè)輸入端,緩存器(3)、緩存器(4)及緩存器(5)還分 別與分時(shí)復(fù)用電路輸出的控制信號(hào)1及乘法累加器輸出的控制信號(hào)2相連接, 加權(quán)系數(shù)計(jì)算電路計(jì)算加權(quán)系數(shù)W, (n+l)的公式如下 WL(n + l)=WL(n)+2url(n-L)y(n), L=0, 1, 2,…,M
其中M為濾波器的階數(shù),Wjn+l)和Wjn)分別代表n+l和n時(shí)刻串行 LMS濾波器的第L階濾波器加權(quán)系數(shù),rl (n-L)代表n-L時(shí)刻串行LMS濾波器 輸入的參考信號(hào),y(n)代表n時(shí)刻串行LMS濾波器的輸出。
而且,所述的常數(shù)&=10 500。
而且,所述的濾波器的階數(shù)M二3 30。
而且,所述的所有寄存器、所有小數(shù)乘法器、所有小數(shù)加法器、所有除 法器、所有的緩存器、所有整數(shù)乘法器以及乘法累加器、反向器、計(jì)數(shù)器為Xilinx公司FPGA芯片的IP核。
本發(fā)明的優(yōu)點(diǎn)和積極效果是
1.基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊采用了串行LMS濾波器電路結(jié) 構(gòu),這種結(jié)構(gòu)充分利用了 FPGA芯片邏輯資源,尤其適用于當(dāng)LMS濾波器的階 數(shù)比較高時(shí)的中低速信號(hào)處理,可以顯著降低LMS濾波器的開發(fā)成本及產(chǎn)品 成本。
2..基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊采用了 LMS自適應(yīng)濾波器,通 過最小均方差LMS自適應(yīng)算法控制內(nèi)部濾波器,具有自身調(diào)節(jié)參數(shù)的能力, 因而設(shè)計(jì)者僅需要很少或根本不需要信號(hào)和噪聲(干擾)的先驗(yàn)知識(shí),就能將 噪聲、干擾信號(hào)抑制到用直接濾波難于或不能達(dá)到的程度,從而可以實(shí)時(shí)地 從很微弱的信號(hào)或者信號(hào)用常規(guī)的方法無法檢測(cè)的噪聲(干擾)場(chǎng)中的多個(gè)傳 感器取得的輸入中消除噪聲(或干擾)并盡量地保留信號(hào)。
3.本發(fā)明采用串行濾波處理器電路結(jié)構(gòu),能夠快速自動(dòng)調(diào)整參數(shù)來消除 噪聲,提高了 LMS濾波器的性能,降低了 LMS濾波器成本,可廣泛應(yīng)用于信 號(hào)去噪的應(yīng)用中。
圖1是本發(fā)明系統(tǒng)原理框圖2是信號(hào)轉(zhuǎn)換電路的電路框圖3是"值計(jì)算電路的電路框圖4是串行LMS濾波器電路的電路框圖5是分時(shí)復(fù)用電路的電路框圖6是加權(quán)系數(shù)計(jì)算電路的電路框圖7是輸出調(diào)整電路的電路框圖。
具體實(shí)施例方式
以下結(jié)合附圖對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳述
基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊使用的FPGA(現(xiàn)場(chǎng)可編程門陣列) 芯片為xilinx公司的Spartan XC3S400芯片,以下說明中的所有寄存器、所 有小數(shù)乘法器、所有小數(shù)加法器、所有除法器、所有的緩存器、所有整數(shù)乘 法器以及乘法累加器、反向器和計(jì)數(shù)器均為Xilinx公司的FPGA芯片的IP核, 其中小數(shù)乘法器和整數(shù)乘法器是在Xilinx公司的16位整數(shù)乘法器的IP核的 基礎(chǔ)上修改得來,小數(shù)乘法器是取Xilinx公司的16位整數(shù)乘法器的32位輸 出中的高十六位作為小數(shù)乘法器的輸出,整數(shù)乘法器是取Xilinx公司的16 位整數(shù)乘法器的32位輸出中的低十六位作為小數(shù)乘法器的輸出。
基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊有兩個(gè)信號(hào)輸入通道及一個(gè)輸出通 道 一個(gè)輸入通道是原始信號(hào)輸入通道,該通道除接收到信號(hào)源x(n)外,還 收到一個(gè)與信號(hào)不相關(guān)的噪聲v(n),因此,該輸入通道接收的原始信號(hào)為s (n) =x(n)+v(n);另一個(gè)輸入通道是噪聲輸入通道,該通道接收與信號(hào)不相 關(guān)的而以某種未知方式與原始信號(hào)通道噪聲v(n)相關(guān)的噪聲信號(hào)r(n);輸出 通道是指經(jīng)消噪處理后的輸出端,其輸出的信號(hào)為Y(n)。
圖1為基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊的原理框圖,該模塊由信號(hào) 轉(zhuǎn)換電路、y值計(jì)算電路、串行LMS濾波器電路及輸出調(diào)整電路構(gòu)成,信號(hào) 轉(zhuǎn)換電路的兩個(gè)輸入端分別與原始信號(hào)s(n)及噪聲輸入信號(hào)r(n)相連接,信 號(hào)轉(zhuǎn)換電路輸出的幅值調(diào)整后的輸入信號(hào)sl (n)連接到串行LMS濾波器的一個(gè) 輸入端,信號(hào)轉(zhuǎn)換電路輸出的參考信號(hào)rl(n)與串行LMS濾波器的另一個(gè)輸入 端相連接,信號(hào)轉(zhuǎn)換電路輸出的縮小倍數(shù)b連接到"值計(jì)算電路的輸入端, 該信號(hào)轉(zhuǎn)換電路輸出的調(diào)整信號(hào)m與輸出調(diào)整電路的一個(gè)輸入端相連接,n 值計(jì)算電路輸出的P值連接到串行LMS濾波器電路的第三個(gè)輸入端,串行LMS 濾波器的輸出信號(hào)y(n)連接到輸出調(diào)整電路的另一個(gè)輸入端,輸出調(diào)整電路 輸出消除噪聲的信號(hào)Y(n)。
如圖2所示,信號(hào)轉(zhuǎn)換電路包括噪聲信號(hào)轉(zhuǎn)換電路及原始信號(hào)轉(zhuǎn)換電路, 圖2中的上半部分是噪聲信號(hào)轉(zhuǎn)換電路,該電路包括緩存器(l)、比較器(l)、 寄存器(1—3)、除法器(1)、移位寄存器(1)、計(jì)數(shù)器(1)及整數(shù)乘法器
(1),噪聲輸入信號(hào)r(n)分別連接到比較器(1)的一個(gè)輸入端和緩存器(1) 的輸入端,緩存器(1)的輸出端連接除法器(1)的被除數(shù)端,比較器(1) 的輸出端與寄存器(1)的輸入端相連接,寄存器(1)的輸出端分別與寄存 器(2)的一個(gè)輸入端、比較器(1)的另一個(gè)輸入端相連接,計(jì)數(shù)器(1)的 輸出端與寄存器(2)的另一個(gè)輸入端相連接,寄存器(2)的輸出端分別與 除法器(1)的除數(shù)端、除法器(2)的除數(shù)端、整數(shù)乘法器(1)的一個(gè)輸入 端相連接,除法器(1)的輸出端與移位寄存器(1)的輸入端相連接,移位 寄存器(1)的一個(gè)輸出端連接寄存器(3),移位寄存器(1)的第二個(gè)輸出 端輸出縮小倍數(shù)b并與整數(shù)乘法器(1)的另一個(gè)輸入端相連接,寄存器(3) 的輸出端輸出轉(zhuǎn)換后的參考信號(hào)rl(n),整數(shù)乘法器(1)的輸出端輸出調(diào)整 信號(hào)m。該部分電路處理過程如下噪聲輸入r(n)輸入后分成二路, 一路信 號(hào)經(jīng)過比較器(1)、寄存器(1)后,找到信號(hào)的最大值傳送給寄存器(2), 計(jì)數(shù)器(1)控制寄存器(2)的輸入,每經(jīng)一個(gè)信號(hào)周期寄存器(2)更新一 次,存儲(chǔ)該周期的信號(hào)最大值,并將最大值輸入到除法器(1)的除數(shù)端,另 一路經(jīng)緩存器(1)后輸入到除法器(1)的被除數(shù)端,除法器(1)的輸出信 號(hào)就是歸一化后的噪聲輸入r (n),歸一化后的噪聲輸入r (n)輸入移位寄存器
(1),經(jīng)移位縮小后,從寄存器(3)輸出處理后的參考信號(hào)rl(n),在該部 分電路中,電路中整數(shù)乘法器(1)是相對(duì)獨(dú)立的一塊電路,被乘數(shù)是前端采 集電路中采到的信號(hào)的最大值,乘數(shù)是縮小電路的縮小的倍數(shù),其輸出即為調(diào)整信號(hào)m。圖2中的下半部分是原始信號(hào)轉(zhuǎn)換電路,該電路包括緩存器(2)、 除法器(2)、移位寄存器(2)及寄存器(4),原始信號(hào)s(n)連接到緩存器(2) 的輸入端,緩存器(2)的輸出端連接除法器(2)的被除數(shù)端,除法器(2) 的除數(shù)端與噪聲信號(hào)轉(zhuǎn)換電路中的寄存器(1)的輸出端,除法器(2)的輸 出端與移位寄存器(2)、寄存器(4)依次相連接,寄存器(4)輸出轉(zhuǎn)換后 的輸入信號(hào)sl(n)。該部分電路的處理過程為原始信號(hào)s(n)經(jīng)過緩存器(l) 后,輸入到除法器(2)的被除數(shù)端,除法器(2)的輸出信號(hào)就是歸一化后 的原始信號(hào)s(n),歸一化后的原始信號(hào)s(n)輸入移位寄存器(2),經(jīng)移位縮 小后,從寄存器(4)輸出處理后的輸入信號(hào)sl(n)。在本實(shí)施例中,移位寄 存器(1)及移位寄存器(2)均采用右移兩位的方法,即縮小4倍。
如圖3所示,p值計(jì)算電路由整數(shù)乘法器(2)構(gòu)成,整數(shù)乘法器(2) 的兩個(gè)輸入端分別與一個(gè)常數(shù)a及信號(hào)轉(zhuǎn)換輸出電路輸出的縮小倍數(shù)b相連 接,其輸出值即為u值,該p值的計(jì)算公式如下
u =b/a
其中a是常數(shù),b是縮小倍數(shù),在本實(shí)施例中常數(shù)a =10 500。 P值計(jì)算電路按照上述計(jì)算公式來實(shí)現(xiàn)的信號(hào)轉(zhuǎn)換電路輸出的縮小倍 數(shù)b輸入到整數(shù)乘法器(2),實(shí)現(xiàn)b倍放大,整數(shù)乘法器(2)的輸出即為最 終的u值。
如圖4所示,串行LMS濾波器電路由分時(shí)復(fù)用電路、乘法累加器、反向 器、小數(shù)加法器(1)及加權(quán)系數(shù)計(jì)算電路構(gòu)成,分時(shí)復(fù)用電路的輸入端與參 考信號(hào)rl(n)相連接,其輸出端輸出的信號(hào)r2(n)分別連接到乘法累加器的第 一個(gè)輸入端和加權(quán)系數(shù)計(jì)算電路的第一個(gè)輸入端,其輸出端輸出的控制信號(hào)1 及P計(jì)算電路輸出的y值分別與加權(quán)系數(shù)計(jì)算電路的第二個(gè)輸入端及第三 個(gè)輸入端相連接,乘法累加器的一個(gè)輸出端與反向器的輸入端相連接,該反 向器的輸出端及輸入信號(hào)sl(n)分別連接到小數(shù)加法器(1)的兩個(gè)輸入端, 小數(shù)加法器(1)輸出端輸出信號(hào)y(n),該輸出信號(hào)y(n)及乘法累加器另一 個(gè)輸出端輸出的控制信號(hào)2分別連接到加權(quán)系數(shù)計(jì)算電路的第四個(gè)輸入端及 第五個(gè)輸入端,該加權(quán)系數(shù)計(jì)算電路的數(shù)據(jù)輸出端連接到乘法累加器的另一 個(gè)輸入端,串行LMS濾波器電路計(jì)算y (n)的計(jì)算公式如下
<formula>formula see original document page 10</formula>
其中M為濾波器的階數(shù),sl(n)為輸入到串行LMS濾波器的輸入信號(hào), rl(n)、 rl(n-l)、 rl (n-2) 、 rl (n-3) 、 rl (n-4) 、 rl (n-5) 、 rl (n-6)、......、rl(n-M)分別代表n、 n_l、 n-2、 n-3、 n_4、 n-5、 n-6、 ......、 n_M時(shí)刻輸入
到串行LMS濾波器的參考信號(hào),W0(n)、 W,(n)、 W"n)、 W3(n)、 W"n)、 W5(n)、 W6(n)、……、Ww(n)分別代表n時(shí)刻的濾波器加權(quán)系數(shù),其計(jì)算公式如下 WL(n)=WL(n-l)+2ixrl(n-L-l)y(n-l), L=0, 1,…,M
其中Wjn)和Wt(n-l)分別代表n和n-1時(shí)刻串行LMS濾波器的第L階 濾波器加權(quán)系數(shù),rl (n-L-l)代表n-L-l時(shí)刻串行LMS濾波器輸入的參考信 號(hào),y(n-l)代表n-l時(shí)刻串行LMS濾波器的輸出。
本串行LMS濾波器電路的處理過程為信號(hào)轉(zhuǎn)換電路輸出的參考信號(hào) rl(n)輸入到分時(shí)復(fù)用電路中,參考信號(hào)rl(n)經(jīng)分時(shí)復(fù)用電路后,輸出為 r2 (n) , r2 (n)的輸出速率為rl (n)輸入速度的(M+l)倍,r2 (n)分為二路傳輸, 一路輸入到乘法累加器中,計(jì)算出信號(hào)y(n); —路輸入到加權(quán)系數(shù)計(jì)算電路 中計(jì)算濾波器加權(quán)系數(shù)。控制信號(hào)1和2控制加權(quán)系數(shù)計(jì)算電路的運(yùn)算過程, 從而計(jì)算出當(dāng)前的W,(n)。由乘法累加器與加權(quán)系數(shù)計(jì)算電路構(gòu)成的運(yùn)算電路 的計(jì)算速度是rl(n)輸入速度的2X(M+1)倍,乘法累加器利用前(M+l)個(gè) 時(shí)鐘周期計(jì)算出n時(shí)刻的v' (n), ? (n)的計(jì)算公式為
v' (n)=sl(n)-[W。(n)rl(n)+W!(n)rl(n-1)+ W2(n)rl(n-2)
+W3 (n) r 1 (n-3) +W4 (n) rl (n—4) +W5 (n) rl (n—5) +W6 (n) r 1 (n_6)
+......+WM(n)rl(n-M)]
加權(quán)系數(shù)計(jì)算電路利用剩下的(M+l)個(gè)時(shí)鐘周期計(jì)算出(n + l)時(shí)刻的 濾波器的系數(shù)WL(n+l),其計(jì)算公式如下
WL(n+l)=WL(n)+2url(n-L)y(n), L二O, 1, 2,…,M 乘法累加器的輸出一個(gè)脈沖信號(hào)控制信號(hào)2,用來控制加權(quán)系數(shù)計(jì)算電 路中緩存器中數(shù)據(jù)的輸入和輸出。當(dāng)乘法累加器利用前(M+l)個(gè)時(shí)鐘周期 計(jì)算出n時(shí)刻的v' (n)后,控制信號(hào)2變成高電平,然后當(dāng)加權(quán)系數(shù)計(jì)算電 路利用剩下的(M+l)個(gè)時(shí)鐘周期計(jì)算出(n + l)時(shí)刻的濾波器的系數(shù)Wjn十 l)后,控制信號(hào)2又成為低電平。
本發(fā)明濾波器的階數(shù)M二3 30,本實(shí)施例中濾波器的階數(shù)M二7,因此, r2(n)的輸出速率為rl(n)輸入速度的8倍,由乘法累加器與加權(quán)系數(shù)計(jì)算電 路構(gòu)成的運(yùn)算電路的計(jì)算速度是rl(n)輸入速度的16倍,乘法累加器利用前 8個(gè)時(shí)鐘周期計(jì)算出n時(shí)刻的v' (n)。
v, (n)二sl(n) —[W。(n)rl(n)+W"n)rl(n—1)+ W2(n)rl(n-2)
+W3 (n) r 1 (n-3) +W4 (n) r 1 (n—4) +W5 (n) r 1 (n—5) +W6 (n) r 1 (n-6) +W7(n)rl(n-7)]
加權(quán)系數(shù)計(jì)算電路利用剩下的8個(gè)時(shí)鐘周期計(jì)算出(n + l)時(shí)刻的濾波器 的系數(shù)Wl(h + 1)。WL(n + l)=WL(n)+2url(n-L)y(n), L=0, 1, 2,…,7 乘法累加器利用前8個(gè)時(shí)鐘周期計(jì)算出n時(shí)刻的v' (n)后,控制信號(hào)2 變成高電平,然后當(dāng)加權(quán)系數(shù)計(jì)算電路利用剩下的8個(gè)時(shí)鐘周期計(jì)算出(11+ l)時(shí)刻的濾波器的系數(shù)W,(n+1)后,控制信號(hào)2又成為低電平。
串行LMS濾波器也可以看作是由三部分組成的,第一部分是由乘法累加 器實(shí)現(xiàn)計(jì)算v' (n)的FIR濾波器(有限脈沖響應(yīng)濾波器)電路,第二部分是將 輸入信號(hào)sl(n)與v, (n)信號(hào)相減的運(yùn)算電路,第三部分是FIR濾波器的系 數(shù)計(jì)算電路。在這里使用了最小均方算法(LMS),使得均方誤差輸出在性能 表面上下降。在濾波器收斂穩(wěn)定后,其輸出的v' (n)與噪聲差別達(dá)到最小, 通過最后的減法計(jì)算輸出達(dá)到均方誤差的最小值。
如圖5所示,所述的分時(shí)復(fù)用電路由計(jì)數(shù)器(2)、寄存器(5-12)、地址 總線和數(shù)據(jù)總線構(gòu)成,計(jì)數(shù)器(2)的輸出端連接到地址總線上,寄存器(5 一12)順序連接接入到地址總線和數(shù)據(jù)總線上,參考信號(hào)rl(n)與寄存器(5) 的輸入端相連接,寄存器(5 — 12)的輸出端分別與數(shù)據(jù)總線相連接并輸出信 號(hào)r2 (n)。分時(shí)復(fù)用電路的處理過程如下rl (n)沿著寄存器(5)、寄存器(6)、 寄存器(7)、寄存器(8)、寄存器(9)、寄存器(10)、寄存器(11)、寄存 器(12)傳輸,每當(dāng)時(shí)鐘信號(hào)的上升沿到來時(shí),參考信號(hào)rl(n)傳輸給下一個(gè) 相鄰的寄存器,形成一個(gè)單位的延時(shí),因此,寄存器(5)、寄存器(6)、寄存 器(7)、寄存器(8)、寄存器(9)、寄存器(10)、寄存器(11)、寄存器(12) 存儲(chǔ)的數(shù)據(jù)便是n、 n-1、 n-2、 n-3、 n-4、 n-5、 n-6、 n-7時(shí)刻輸入到LMS濾 波器的參考信號(hào)rl (n) 、 rl (n-1) 、 rl (n- 2 ) 、 rl (n- 3 ) 、 rl (n- 4 ) 、 rl (n_5)、 rl(n-6)、 rl(n-7)。計(jì)數(shù)器(2)的輸出端連接地址總線,地址總線與各個(gè)寄 存器相連,控制各個(gè)寄存器的輸出,各個(gè)寄存器的輸出與數(shù)據(jù)總線相連,將 其數(shù)據(jù)輸出到數(shù)據(jù)總線上,數(shù)據(jù)總線的數(shù)據(jù)即為r2 (n)。計(jì)數(shù)器(2)產(chǎn)生地 址數(shù)據(jù),從而使相應(yīng)地址的寄存器輸出數(shù)據(jù),r2 (n)的輸出速率是rl (n) 輸入速率的(M+l)倍,每當(dāng)輸入一個(gè)rl (n), r2 (n)將所有寄存器中存儲(chǔ) 的數(shù)據(jù)依次輸出。本發(fā)明濾波器的階數(shù)M^3 30,本實(shí)施例中濾波器階數(shù)M二7, 因此r2 (n)的輸出速率是rl (n)輸入速率的8倍,每當(dāng)輸入一個(gè)rl (n), r2 (n)需將rl(n) 、 rl (n_l) 、 rl(n-2)、 rl (n-3 ) 、 rl(n-4)、 rl (n-5)、 rl(n-6)、 rl(n-7)依次輸出。
如圖6所示,所述的加權(quán)系數(shù)計(jì)算電路由整數(shù)乘法器(3)、緩存器(3-5)、 小數(shù)乘法器和小數(shù)加法器(2)連接構(gòu)成,整數(shù)乘法器(3)的兩個(gè)輸入端分 別與p值及信號(hào)r2(n)相連接,整數(shù)乘法器(3)的輸出端與緩存器(3)的輸 入端相連接,緩存器(3)的輸出端及信號(hào)y(n)分別連接到小數(shù)乘法器的兩個(gè) 輸入端,小數(shù)乘法器的輸出端連接到小數(shù)加法器(2)的一個(gè)輸入端,小數(shù)加法器(2)的輸出端與緩存器(4)的輸入端相連接,緩存器(4)的輸出端輸 出加權(quán)系數(shù)并連接到緩存器(5)的輸入端,緩存器(5)的輸出端連接到小 數(shù)加法器(2)的另一個(gè)輸入端,緩存器(3)、緩存器(4)及緩存器(5)還 分別與分時(shí)復(fù)用電路輸出的控制信號(hào)1及乘法累加器輸出的控制信號(hào)2相連 接。本部分電路實(shí)現(xiàn)加權(quán)系數(shù)計(jì)算,計(jì)算速度是rl(n)輸入速度的2X (M+l) 倍,在前(M+l)個(gè)時(shí)鐘周期,整數(shù)乘法器(3)計(jì)算2ixrl(n-L),緩存器(4) 為乘法累加器提供當(dāng)前時(shí)刻的加權(quán)系數(shù)值;在剩下的(M+l)個(gè)時(shí)鐘周期, 小數(shù)乘法器(2)計(jì)算出2url(n-L)y(n),小數(shù)加法器(2)計(jì)算出 Wjn)+2url(n-L)y(n),從而計(jì)算出下一時(shí)刻的濾波器的系數(shù)Wjn + 1),計(jì)算 加權(quán)系數(shù)W, (n + l)的公式如下:
WL(n + l)=WL(n)+2url(n-L)y(n), L=0, 1, 2,…,M 在本實(shí)施例中濾波器階數(shù)M-7,因此,其計(jì)算公式為 WL(n + l)=WL(n)+2 u rl(n-L)y(n) , L=0, 1, 2,…,7
如圖7所示,所述的輸出調(diào)整電路包括整數(shù)乘法器(4),該整數(shù)乘法器 (4)兩個(gè)輸入端分別與串行LMS濾波器的輸出信號(hào)y(n)及信號(hào)轉(zhuǎn)換電路輸出 的調(diào)整信號(hào)m相連接,該整數(shù)乘法器(4)的輸出端輸出最終去除噪聲的信號(hào) Y(n)。
需要強(qiáng)調(diào)的是,本發(fā)明所述的實(shí)施例是說明性的,而不是限定性的,因 此本發(fā)明并不限于具體實(shí)施方式
中所述的實(shí)施例,凡是由本領(lǐng)域技術(shù)人員根 據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明保護(hù)的范圍。
1權(quán)利要求
1.一種基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,由信號(hào)轉(zhuǎn)換電路、μ值計(jì)算電路、LMS濾波器電路及輸出調(diào)整電路構(gòu)成,其特征在于該LMS濾波器電路為串行LMS濾波器電路,信號(hào)轉(zhuǎn)換電路的兩個(gè)輸入端分別與原始信號(hào)s(n)及噪聲輸入信號(hào)r(n)相連接,信號(hào)轉(zhuǎn)換電路輸出轉(zhuǎn)換后的輸入信號(hào)s1(n)和參考信號(hào)r1(n)分別連接到串行LMS濾波器電路的兩個(gè)輸入端,該信號(hào)轉(zhuǎn)換電路輸出的縮小倍數(shù)b與μ值計(jì)算電路的輸入端相連接,該信號(hào)轉(zhuǎn)換電路輸出的調(diào)整信號(hào)m與輸出調(diào)整電路的一個(gè)輸入端相連接,μ值計(jì)算電路輸出的μ值連接到串行LMS濾波器電路的第三個(gè)輸入端,串行LMS濾波器的輸出信號(hào)y(n)連接到輸出調(diào)整電路的另一個(gè)輸入端,輸出調(diào)整電路輸出消除噪聲的信號(hào)Y(n)。
2. 根據(jù)權(quán)利要求1所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特征在于所述的信號(hào)轉(zhuǎn)換電路包括噪聲信號(hào)轉(zhuǎn)換電路及原始信號(hào)轉(zhuǎn)換電路,其中-(1) .噪聲信號(hào)轉(zhuǎn)換電路包括緩存器(1)、比較器(1)、寄存器(l一3)、除法器(1)、移位寄存器(1)、計(jì)數(shù)器(1)及整數(shù)乘法器(1),噪聲輸入信號(hào)r(n)分別連接到比較器(1)的一個(gè)輸入端和緩存器(1)的輸入端,緩存器(1)的輸出端連接除法器(1)的被除數(shù)端,比較器(1)的輸出端與寄存器(1)的輸入端相連接,寄存器(1)的輸出端分別與寄存器(2)的一個(gè)輸入端、比較器(1)的另一個(gè)輸入端相連接,計(jì)數(shù)器(1)的輸出端與寄存器(2)的另一個(gè)輸入端相連接,寄存器(2)的輸出端分別與除法器(1)的除數(shù)端、除法器(2)的除數(shù)端、整數(shù)乘法器(1)的一個(gè)輸入端相連接,除法器(1)的輸出端與移位寄存器(1)的輸入端相連接,移位寄存器(1)的一個(gè)輸出端連接寄存器(3),移位寄存器(1)的第二個(gè)輸出端輸出縮小倍數(shù)b并與整數(shù)乘法器(1)的另一個(gè)輸入端相連接,寄存器(3)的輸出端輸出轉(zhuǎn)換后的參考信號(hào)rl(n),整數(shù)乘法器(1)的輸出端輸出調(diào)整信號(hào)m;(2) .原始信號(hào)轉(zhuǎn)換電路包括緩存器(2)、除法器(2)、移位寄存器(2)及寄存器(4),原始信號(hào)s(n)連接到緩存器(2)的輸入端,緩存器(2)的輸出端連接到除法器(2)的被除數(shù)端,除法器(2)的除數(shù)端與噪聲信號(hào)轉(zhuǎn)換電路中的寄存器(2)的輸出端相連接,該除法器(2)的輸出端與移位寄存器(2)輸入端相連接,移位寄存器(2)的輸出端與寄存器(4)的輸入端相連接,寄存器(4)的輸出端輸出轉(zhuǎn)換后的輸入信號(hào)sl(n)。
3. 根據(jù)權(quán)利要求1所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特征在于所述的p值計(jì)算電路由整數(shù)乘法器(2)構(gòu)成,整數(shù)乘法器(2)的兩個(gè)輸入端分別與一個(gè)常數(shù)a及信號(hào)轉(zhuǎn)換輸出電路輸出的縮小倍數(shù)b相連接,其輸出值即為^值,該y值的計(jì)算公式如下n =b/a其中a是常數(shù),b是縮小倍數(shù)。
4.根據(jù)權(quán)利要求1所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特征在于所述的串行LMS濾波器電路由分時(shí)復(fù)用電路、乘法累加器、反向器、小數(shù)加法器(1)及加權(quán)系數(shù)計(jì)算電路構(gòu)成,分時(shí)復(fù)用電路的輸入端與參考信號(hào)rl(n)相連接,其輸出端輸出的信號(hào)r2(n)分別連接到乘法累加器的第一個(gè)輸入端和加權(quán)系數(shù)計(jì)算電路的第一個(gè)輸入端,其輸出端輸出的控制信號(hào)1及l(fā)i計(jì)算電路輸出的P值分別與加權(quán)系數(shù)計(jì)算電路的第二個(gè)輸入端及第三個(gè)輸入端相連接,乘法累加器的一個(gè)輸出端與反向器的輸入端相連接,該反向器的輸出端及輸入信號(hào)sl(n)分別連接到小數(shù)加法器(1)的兩個(gè)輸入端,小數(shù)加法器(1)輸出端輸出信號(hào)y(n),該輸出信號(hào)y(n)及乘法累加器另一個(gè)輸出端輸出的控制信號(hào)2分別連接到加權(quán)系數(shù)計(jì)算電路的第四個(gè)輸入端及第五個(gè)輸入端,該加權(quán)系數(shù)計(jì)算電路的數(shù)據(jù)輸出端連接到乘法累加器的另一個(gè)輸入端,串行LMS濾波器電路計(jì)算y (n)的計(jì)算公式如下y (n) =sl (n) - v, (n)二sl (n) - [Wo (n) rl (n) +Wt (n) rl (n-1) + W2 (n) rl (n-2)+W3 (n) r 1 (n-3) +W4 (n) rl (n-4) +W5 (n) rl (n-5) +W6 (n) r 1 (n-6)+......+WM(n)rl(n-M)]其中M為濾波器的階數(shù),sl(n)為輸入到串行LMS濾波器的輸入信號(hào),rl(n)、 rl(n-l)、 rl (n-2) 、 rl (n-3) 、 rl (n-4) 、 rl (n-5) 、 rl (n-6)、......、rl(n-M)分別代表n、 n_l、 n-2、 n-3、 n-4、 n-5、 n-6、 ......、 n-M時(shí)刻輸入到串行LMS濾波器的參考信號(hào),W。(n)、 W"n)、 W"n)、 W3(n)、 W"n)、 W5(n)、W"n)、……、WM(n)分別代表n時(shí)刻的濾波器加權(quán)系數(shù),其計(jì)算公式如下WL(n)=WL(n-l)+2url(n-L-l)y(n-l), L=0, 1,…,M其中Wjn)和Wjn-l)分別代表n和n-1時(shí)刻串行LMS濾波器的第L階濾波器加權(quán)系數(shù),rl (n-L-l)代表ri-L-1時(shí)刻串行LMS濾波器輸入的參考信號(hào),y(n-l)代表n-1時(shí)刻串行LMS濾波器的輸出。
5. 根據(jù)權(quán)利要求1所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特征在于所述的輸出調(diào)整電路由整數(shù)乘法器(4)構(gòu)成,該整數(shù)乘法器(4)兩個(gè)輸入端分別與串行LMS濾波器的輸出信號(hào)y(n)及信號(hào)轉(zhuǎn)換電路輸出的調(diào)整信號(hào)m相連接,該整數(shù)乘法器(4)的輸出端輸出最終去除噪聲的信號(hào)Y(n)。
6. 根據(jù)權(quán)利要求4所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特征在于所述的分時(shí)復(fù)用電路由計(jì)數(shù)器(2)、寄存器(5-12)、地址總線和數(shù)據(jù)總線構(gòu)成,計(jì)數(shù)器(2)的輸出端連接到地址總線上,寄存器(5 — 12)順序連接接入到地址總線和數(shù)據(jù)總線上,參考信號(hào)rl(n)與寄存器(5)的輸入3端相連接,寄存器(5 — 12)的輸出端分別輸出信號(hào)r2 (n)。
7.根據(jù)權(quán)利要求4所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特 征在于所述的加權(quán)系數(shù)計(jì)算電路由整數(shù)乘法器(3)、緩存器(3-5)、小數(shù) 乘法器和小數(shù)加法器(2)連接構(gòu)成,整數(shù)乘法器(3)的兩個(gè)輸入端分別與 y值及信號(hào)r2(n)相連接,整數(shù)乘法器(3)的輸出端與緩存器(3)的輸入端相 連接,緩存器(3)的輸出端及信號(hào)y(n)分別連接到小數(shù)乘法器的兩個(gè)輸入端, 小數(shù)乘法器的輸出端連接到小數(shù)加法器(2)的一個(gè)輸入端,小數(shù)加法器(2) 的輸出端與緩存器(4)的輸入端相連接,緩存器(4)的輸出端輸出加權(quán)系 數(shù)并連接到緩存器(5)的輸入端,緩存器(5)的輸出端連接到小數(shù)加法器 (2)的另一個(gè)輸入端,緩存器(3)、緩存器(4)及緩存器(5)還分別與分 時(shí)復(fù)用電路輸出的控制信號(hào)1及乘法累加器輸出的控制信號(hào)2相連接,加權(quán) 系數(shù)計(jì)算電路計(jì)算加權(quán)系數(shù)W, (n + l)的公式如下WL(n + l)=WL(n)+2yrl(n-L)y(n), L=0, 1, 2,…,M 其中M為濾波器的階數(shù),Wjn+l)和W,(n)分別代表n+l和n時(shí)刻串行 LMS濾波器的第L階濾波器加權(quán)系數(shù),rl (n-L)代表n-L時(shí)刻串行LMS濾波器 輸入的參考信號(hào),y (n)代表n時(shí)刻串行LMS濾波器的輸出。
8. 根據(jù)權(quán)利要求3所述的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,其特 征在于所述的常數(shù)a二10 500。
9. 根據(jù)權(quán)利要求4或7所述的基于FPGA設(shè)計(jì)的快速自適應(yīng)消噪模塊, 其特征在于所述的濾波器的階數(shù)M二3 30。
10. 根據(jù)權(quán)利要求2至7任一權(quán)利要求所述的基于FPGA設(shè)計(jì)的串行自適 應(yīng)消噪模塊,其特征在于所述的所有寄存器、所有小數(shù)乘法器、所有小數(shù) 加法器、所有除法器、所有的緩存器、所有整數(shù)乘法器以及乘法累加器、反 向器、計(jì)數(shù)器均為Xilinx公司FPGA芯片的IP核。
全文摘要
本發(fā)明涉及數(shù)字濾波設(shè)備領(lǐng)域的基于FPGA設(shè)計(jì)的串行自適應(yīng)消噪模塊,該模塊的信號(hào)轉(zhuǎn)換電路的兩個(gè)輸入端分別與原始信號(hào)s(n)及噪聲輸入信號(hào)r(n)相連接,信號(hào)轉(zhuǎn)換電路輸出的輸入信號(hào)s1(n)和參考信號(hào)r1(n)分別連接到串行LMS濾波器電路的兩個(gè)輸入端,該信號(hào)轉(zhuǎn)換電路輸出的縮小倍數(shù)b、調(diào)整信號(hào)m分別與μ值計(jì)算電路的輸入端、輸出調(diào)整電路的一個(gè)輸入端相連接,μ值計(jì)算電路輸出的μ值連接到串行LMS濾波器電路的第三個(gè)輸入端,串行LMS濾波器的輸出信號(hào)y(n)連接到輸出調(diào)整電路的另一個(gè)輸入端,輸出調(diào)整電路輸出消除噪聲的信號(hào)Y(n)。本發(fā)明采用串行LMS濾波器電路,能夠快速自動(dòng)調(diào)整參數(shù)來消除噪聲,提高了LMS濾波器的性能,降低了LMS濾波器成本,可廣泛應(yīng)用于信號(hào)去噪的應(yīng)用中。
文檔編號(hào)H03H21/00GK101494448SQ20081005214
公開日2009年7月29日 申請(qǐng)日期2008年1月22日 優(yōu)先權(quán)日2008年1月22日
發(fā)明者崔紅巖, 沈沖飛, 勇 胡, 謝小波 申請(qǐng)人:中國醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)工程研究所