問題描述
如何有效地提高傳感器的測試精度是行業(yè)的發(fā)展趨勢;近來,對傳感器進(jìn)行實(shí)驗(yàn)測試過程中發(fā)現(xiàn)結(jié)果存在明顯的工頻干擾,信號中夾雜有明顯噪音,具體頻率為50hz,因此,近來以解決實(shí)際問題為出發(fā)點(diǎn),對相關(guān)的內(nèi)容進(jìn)行歸納匯總;目前,消除噪音,提高傳感器采集精度主要包含兩種手段:1、硬件:通過電阻電容及電感構(gòu)成濾波電路,對外界干擾源進(jìn)行屏蔽;2、算法:通過數(shù)字信號處理,構(gòu)建IIR、FIR濾波器對噪聲信號進(jìn)行濾除;具體內(nèi)容如下所示~
圖a表述為信號采集系統(tǒng)實(shí)際測試結(jié)果,源信號中包含工頻干擾,即使傳感器未發(fā)生變形,輸出信號具有明顯的波動(幅度為0.6mv左右);圖b表述為局部放大示意圖,從圖中可以看出干擾源的頻率為50hz。
附錄:補(bǔ)充材料
附1、硬件如何實(shí)現(xiàn)信號濾波?
本部分從硬件的角度對信號濾波整體方案進(jìn)行介紹,主要分為三方面內(nèi)容:1、濾波器的種類以及相關(guān)電路,推導(dǎo)了二階低通、高通濾波器的傳遞函數(shù)(實(shí)際中應(yīng)用最廣);2、帶通以及帶阻濾波器具體結(jié)構(gòu);3、帶通濾波器具體設(shè)計(jì)過程,分享了MATLAB程序;
圖a表述為無源一階低通濾波器基本結(jié)構(gòu);圖b表述為無源一階高通濾波器基本結(jié)構(gòu);圖c表述為壓控性二階有源低通濾波器基本結(jié)構(gòu)(現(xiàn)實(shí)中應(yīng)用較廣),第一階電容C直接與運(yùn)算放大器輸出端連接,引入正反饋,能夠有效地減小信號干擾;圖d表述為有源二階高通濾波器基本結(jié)構(gòu);
附1:無源濾波器具有的優(yōu)點(diǎn)為:電路簡單,可靠性高;相應(yīng)的弊端為:信號經(jīng)過濾波器后具有能量損失;具有明顯的負(fù)載效應(yīng);信號無放大作用等;附2:同相放大器具有輸入阻抗高,輸出阻抗低的特性,廣泛應(yīng)用于前置放大級;附3:Rf電阻值不能大約2倍R1電阻值;
本部分對現(xiàn)實(shí)中應(yīng)用最為廣泛的有源二階濾波器進(jìn)行分析,其中,低通濾波器的傳遞函數(shù)為:
通帶增益為:
高通濾波器的傳遞函數(shù)為:
通帶增益為:
另一方面,帶通、帶阻濾波器可以通過基本的低通、高通濾波器串并聯(lián)組成,其基本結(jié)構(gòu)為:
圖a表述為低通濾波和高通濾波器串并聯(lián)組成帶通、帶阻濾波器的基本過程;圖b表述為帶通濾波器基本結(jié)構(gòu);圖c表述為帶阻濾波器基本結(jié)構(gòu);
上圖表述基于MATLAB進(jìn)行帶通濾波器設(shè)計(jì)的具體過程,程序源代碼如下所示,圖中三條曲線分別代表低通濾波器、高通濾波器以及串聯(lián)組成帶通濾波器的幅頻曲線,相關(guān)結(jié)果通過bode圖進(jìn)行直觀展示,其中,縱坐標(biāo)的單位為dB(20lg|G(jw)|),橫坐標(biāo)采用對數(shù)坐標(biāo)系;附1:20dB表示信號衰減一個數(shù)量級;附2:硬件電路設(shè)計(jì)過程中,相關(guān)電阻的大小通過下述程序確定;
clear all;clc %有源帶通濾波器 %LPF 傳遞函數(shù)計(jì)算 f0=35Hz C = 1uF,R = R=4.549kΩ c1 = 1e-6; r1 = 4549; %HPF 傳遞函數(shù)計(jì)算 f0=15Hz C = 1uF c2 = 1e-6; r2 = 10615; %q品質(zhì)因子(品質(zhì)因子和通帶增益具有一定關(guān)系) q=0.7 %LPF Avp1 = 3-(1/q); k1=(3-Avp1)/(c1*r1); k2 = 1/(c1*c1*r1*r1); k3 = Avp1/(c1*c1*r1*r1); num1=[k3]; %傳遞函數(shù)分子 den1=[1 k1 k2]; %傳遞函數(shù)分母 G1=tf(num1,den1); %HPF Avp2 = 3-(1/q); k4=(3-Avp2)/(c2*r2); k5 = 1/(c2*c2*r2*r2); k6 = Avp2; num2=[k600];%傳遞函數(shù)分子 den2=[1k4k5];%傳遞函數(shù)分母 G2=tf(num2,den2); p=bodeoptions; p.FreqUnits='Hz'; p.Grid= 'on'; [num,den] = series(num1,den1,num2,den2); %計(jì)算串聯(lián)傳遞函數(shù) printsys(num,den) %顯示串聯(lián)后的總傳遞函數(shù) hold on; bode(num,den,p); %繪制波特圖 % hold on; % bode(G1,p); % hold on; % bode(G2,p); title('有源二階模擬帶通濾波器相頻特性');%標(biāo)題
附2、程序如何實(shí)現(xiàn)濾波?
本部分從算法的角度論述信號濾波的具體工作流程,主要的內(nèi)容包含:1、濾波器具體的結(jié)構(gòu)以及相關(guān)的參數(shù)設(shè)置,采樣定理的含義;2、算法濾波后具體效果展示;具體內(nèi)容如下~
圖a表述FIR濾波器的幅頻特性曲線,其中,信號的采樣頻率為1000hz(采樣定理:采樣頻率大于信號最高頻率的2倍,即:現(xiàn)有測量系統(tǒng)在保證精度的情況下,待測信號的最大頻率為500hz);現(xiàn)采用低通濾波器,截止頻率為50hz,當(dāng)信號頻率高于截止頻率時(shí),信號幅值衰減10倍以上;圖b表述為采用濾波器對包含工頻干擾的信號進(jìn)行分析處理的結(jié)果,從圖中可以看出,采用濾波算法與直接屏蔽干擾源具有相同的采樣效果,還是挺不錯的~
clear all;clc % 讀取傳感器輸出信號 node='信號采集結(jié)果.txt'; [x,y]... =textread(node,'%f%f','emptyvalue',0,'headerlines',10); output=filter(lowpass,y); caiji=1000length(y); output=output(caiji,1); plot(output) function Hd = lowpass %LOWPASS Returns a discrete-time filter object. % All frequency values are in Hz. Fs = 2000; % Sampling Frequency Fpass=40;%PassbandFrequency Fstop = 50; % Stopband Frequency Dpass = 0.057501127785; % Passband Ripple Dstop = 0.1; % Stopband Attenuation dens = 20; % Density Factor % Calculate the order from the parameters using FIRPMORD. [N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]); %CalculatethecoefficientsusingtheFIRPMfunction. b = firpm(N, Fo, Ao, W, {dens}); Hd = dfilt.dffir(b); % [EOF]
-
傳感器
+關(guān)注
關(guān)注
2552文章
51382瀏覽量
755788 -
測試
+關(guān)注
關(guān)注
8文章
5373瀏覽量
126938 -
算法
+關(guān)注
關(guān)注
23文章
4629瀏覽量
93193 -
硬件
+關(guān)注
關(guān)注
11文章
3380瀏覽量
66383
原文標(biāo)題:工頻信號干擾
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論