引言
在振動(dòng)、聲學(xué)、地震、通訊、雷達(dá)、控制系統(tǒng)和生物醫(yī)學(xué)工程等廣泛的科學(xué)技術(shù)領(lǐng)域中都對(duì)實(shí)際所觀察的信號(hào)提出了濾波和頻譜分析的要求。以數(shù)字形式對(duì)它們進(jìn)行處理的內(nèi)容,就構(gòu)成了數(shù)字信號(hào)處理的基本研究?jī)?nèi)容。在虛擬儀器中濾波技術(shù)有著廣泛的應(yīng)用。從測(cè)試現(xiàn)場(chǎng)采集到的信號(hào)中包含有對(duì)數(shù)據(jù)處理有用的信號(hào)、無(wú)用信號(hào)和噪聲,濾波的目的是從信號(hào)中提取有用的信號(hào)。在虛擬儀器系統(tǒng)中,將信號(hào)采集到電腦中,通常還需要利用軟件完成復(fù)雜的分析和信號(hào)處理工作,LabVIEW 提供了大量的分析工具,成熟的算法,方便了軟件的開發(fā)。基于此本文在PC機(jī)LabVIEW軟件中模擬產(chǎn)生一個(gè)接近于實(shí)際信號(hào)的帶噪聲的信號(hào),生成一個(gè)帶噪聲的信號(hào)發(fā)生裝置。選擇濾波速度較快的無(wú)限沖激響應(yīng)濾波器IIR,對(duì)虛擬濾波器去除噪聲進(jìn)行設(shè)計(jì)。
1、設(shè)計(jì)思路
在信號(hào)傳輸過(guò)程中,經(jīng)常會(huì)混入高頻噪聲,噪聲的能量甚至?xí)^(guò)信號(hào)能量。因此接收端收到信號(hào)后,通常首先要進(jìn)行低通濾波,然后才能對(duì)信號(hào)做進(jìn)一步處理。 設(shè)計(jì)的流程圖圖1所示:
2.虛擬濾波器去除噪聲VI設(shè)計(jì)原理
2.1 生成濾波器的自選信號(hào)
自選信號(hào)是信號(hào)發(fā)生器發(fā)出的信號(hào)加上噪聲信號(hào)來(lái)實(shí)現(xiàn)的。在信號(hào)發(fā)生器部分應(yīng)用Basic Function Generator.vi產(chǎn)生正弦波、方波、三角波、鋸齒波等標(biāo)準(zhǔn)信號(hào),噪聲部分我使用了Uniform White Noise Waveform.vi生成均勻分布的偽隨機(jī)的白噪聲,然后一起相加生成自選信號(hào)。
圖1 虛擬濾波器去除噪聲VI流程圖
在本程序中,設(shè)定Fs(采樣頻率)和#s(采樣點(diǎn)數(shù))均為1000,根據(jù)奈奎斯特抽樣定理生成信號(hào)的頻率小于Fs/2,頻譜就不會(huì)失真,所以Basic Function Generator.vi生成信號(hào)的頻率最好不要超過(guò)500Hz。但經(jīng)過(guò)試驗(yàn)在LabVIEW中采樣頻率如果越接近Fs/2頻譜很容易失真。所以Basic Function Generator.vi生成信號(hào)的頻率一定要根據(jù)實(shí)際使用情況選擇。
噪聲的幅度值在[-a,a]之間,a是幅度的絕對(duì)值,本次設(shè)的是默認(rèn)值0.10。由于生成的噪聲輸出信號(hào)要和Basic Function Generator.vi的生成信號(hào)相加,所以Sampling info(采樣信息)和Basic Function Generator.vi的Sampling info一致。輸出的signal out同樣也是一個(gè)簇,包含了to,Y,dt三個(gè)數(shù)據(jù),各個(gè)數(shù)據(jù)的作用和Basic Function Generator.vi中的signal out是一樣的。Basic Function Generator.vi和Uniform White Noise Waveform.vi的signal out輸出的信號(hào)各自經(jīng)過(guò)一個(gè)get waveform component.vi得到波形成分Y。最后兩者生成的信號(hào)經(jīng)過(guò)get waveform component.vi后再經(jīng)過(guò)一個(gè)Add得到模仿的真實(shí)信號(hào),如圖2所示,在連線時(shí)可以將兩者的error in(out)相連以備最后總程序產(chǎn)生報(bào)錯(cuò)系統(tǒng)。
圖2 自選信號(hào)部分程序圖
2.2. 濾波部分
濾波部分是本程序的核心部分。選用濾波速度快,對(duì)相位沒有要求的IIR濾波器,本程序采用Butterworth濾波器和Chebyshev濾波器。巴特沃斯濾波器擁有最平滑的頻率響應(yīng),在截?cái)囝l率以外,頻率響應(yīng)單調(diào)下降。在通帶中是理想的單位響應(yīng),在阻帶中響應(yīng)為零,過(guò)渡帶的陡峭成度正比于濾波器的階數(shù),所以通過(guò)提高階數(shù)可以明顯的提高濾波效果。并且可以選擇低通濾波,高通濾波,帶通濾波或者帶阻濾波,用戶可以根據(jù)自己的濾波要求選擇合適的濾波模式。這個(gè)功能的實(shí)現(xiàn)是用一個(gè)case選擇結(jié)構(gòu)完成的。
在程序的前面板,用一個(gè)下拉框表來(lái)實(shí)現(xiàn)選擇不同濾波器模式的功能,總共設(shè)置了九種不同的模式,當(dāng)我們要觀察自選信號(hào)不經(jīng)過(guò)濾波的形狀時(shí)我們可以選擇關(guān)閉濾波器,當(dāng)我們觀察在不同濾波器下的濾波效果時(shí)可以切換到不同的模式觀察,濾波部分的程序圖表如圖3所示。
圖3 濾波部分
2.3.顯示部分
顯示部分是本程序面向用戶的一個(gè)關(guān)鍵部分,最終的成果是通過(guò)它呈現(xiàn)出來(lái)。我們要顯示的波形圖分為濾波前的自選信號(hào)和濾波后的信號(hào)。
時(shí)域信號(hào)的顯示:從濾波部分以數(shù)組方式輸出的信號(hào)即為濾波結(jié)果的時(shí)域信號(hào),這里通過(guò)一個(gè)Build Waveform.vi來(lái)恢復(fù)波形并連接Waveform Graph(波形圖)這樣就可以在前面板上顯示濾波后的信號(hào)波形了。在本程序中,Y就是從濾波器輸出的數(shù)組元素,dt是在生成自選信號(hào)時(shí)設(shè)定的Fs的倒數(shù)。to為默認(rèn)值0,相當(dāng)于從坐標(biāo)軸的原點(diǎn)開始顯示波形。
頻域信號(hào)的顯示:這里主要用到的是Real FFT.vi
Real FFT.vi:這個(gè)VI計(jì)算輸入序列的快速傅立葉變換(FFT)或離散傅立葉變換(DFT)。如果輸入序列的長(zhǎng)度為2的冪,Real FFT.vi將執(zhí)行FFT程序;如果輸入序列的長(zhǎng)度不是2的冪,則會(huì)調(diào)用一個(gè)有效的DFT程序。本程序中將濾波器輸出的數(shù)組輸入到Real FFT中進(jìn)行快速傅立葉變換,這時(shí)候的輸出是復(fù)數(shù)數(shù)組,才通過(guò)一個(gè)Complex To Polar.vi得到信號(hào)的幅度分量。顯示部分的程序如圖4所示:
圖4 顯示部分的程序圖
3. 去除噪聲效果測(cè)試
首先選擇待濾波的自選信號(hào)的參數(shù),這里選擇的自選信號(hào)是由頻率為10Hz,幅度為1V的正弦信號(hào)疊加幅度為0.5V的白噪聲信號(hào)組成的,如圖5所示:
圖5 自選信號(hào)時(shí)域波形
設(shè)置巴特沃斯低通濾波器的低截止頻率大于10HZ,這里選擇是的是15Hz。自選信號(hào)經(jīng)過(guò)濾波器后的輸出信號(hào)如圖6所示:從圖中看到,噪聲信號(hào)已經(jīng)被濾除掉,得到加噪聲之前的正弦信號(hào),達(dá)到我們預(yù)期的濾波效果。
圖6濾波后的信號(hào)
4、結(jié)論
本文的創(chuàng)新點(diǎn)是在PC機(jī)LabVIEW軟件中模擬產(chǎn)生一個(gè)接近于實(shí)際信號(hào)的帶噪聲的信號(hào),生成一個(gè)帶噪聲的信號(hào)發(fā)生裝置。由于需要濾除的是白噪聲,所以選擇濾波速度較快的無(wú)限沖激響應(yīng)濾波器IIR,對(duì)于濾波后的信號(hào)以數(shù)組的方式得到,通過(guò)合理的顯示方式可以直觀的看到信號(hào)濾波后的效果,對(duì)信號(hào)濾波前后的時(shí)域?qū)Ρ冉o出。