新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 一階二階電路濾波器的軟件方式實(shí)現(xiàn)

一階二階電路濾波器的軟件方式實(shí)現(xiàn)

作者: 時(shí)間:2016-12-08 來(lái)源:網(wǎng)絡(luò) 收藏

MATLAB中進(jìn)行軟件濾波仿真

本文引用地址:http://www.2s4d.com/article/201612/327994.htm

我身邊有些朋友說(shuō)現(xiàn)在在學(xué)校學(xué)習(xí)什么拉氏變換,Z變換,傅立葉變換沒(méi)有用,傳遞函數(shù)沒(méi)有用,差分方程沒(méi)有用,只是紙上談兵,我這里先就傳遞函數(shù)和拉氏變換和差分方程介紹幾點(diǎn)不自量力的看法,我們學(xué)習(xí)拉氏變換主要是為了從脫離時(shí)域,因?yàn)闀r(shí)域分析有它的難度指數(shù),我們從時(shí)域映射到S域,目的只有一個(gè),那就是簡(jiǎn)化計(jì)算,正如我們?cè)跁r(shí)域要計(jì)算卷積過(guò)來(lái),卷積過(guò)去,我們把它映射到S域過(guò)后,就是乘積過(guò)來(lái)積乘過(guò)去,相對(duì)來(lái)說(shuō),乘積要比卷積的積分要溫柔的多,然后我們?cè)赟域里面得到結(jié)論過(guò)后,再將其反映射回到時(shí)域,然后自然地在時(shí)域使用其所得的結(jié)論了。

以下僅舉兩個(gè)例子,就一階慣性慣性濾波器和二階濾波器的算法實(shí)現(xiàn)做簡(jiǎn)要介紹,如下,我們很容易寫(xiě)出其傳遞函數(shù),G(s)=.../...,在G(s)中,S項(xiàng)即為微分項(xiàng),計(jì)算機(jī)中,微分即為差分,因?yàn)槲覀兪且蚬到y(tǒng),即使用后項(xiàng)差分代替微分,例如:sU(t)轉(zhuǎn)化為U(K)-U(K-1),如此一來(lái),代入傳遞函數(shù)簡(jiǎn)將傳遞函數(shù)化后,再將其寫(xiě)編成軟件仿真。相對(duì)于我自己,覺(jué)得最快的方式就是MATLAB算法仿真,如下即為仿真結(jié)果,二階濾波器仿真同理。在調(diào)整相應(yīng)參數(shù)的時(shí)候,即可看成在硬件電路中調(diào)整R、C的參數(shù)一樣。

一、一階慣性濾波器軟件實(shí)現(xiàn)

clear,clc

Data = load('usefuldata.txt');

plot( Data );

title('original data');

T = 5;%電路綜合參數(shù)(融合了電容電阻和微分時(shí)間參數(shù))

Data2 = zeros( size( Data ) );

Data2( 1 ) = Data( 1 );

[ H V ] = size( Data );

for i =2:V

Data2( i ) = ( Data( i ) + T * Data2( i - 1) ) / ( T+1 );

end

figure

plot(Data2);

title('handled data');

以下是仿真結(jié)果:

1、原始數(shù)據(jù)的波形:

2、濾波過(guò)后的數(shù)據(jù)的波形:

二、二階慣性濾波器軟件實(shí)現(xiàn)

MATLAB代碼如下:

%LRC濾波器軟件實(shí)現(xiàn)

clear,clc

Data = load('usefuldata.txt');

plot( Data );

title('original data');

T = 0.001;%微分時(shí)間

R = 100000;%電路電阻

C = 0.1;%濾波電容

L = 0.02;%濾波電感

Data2 = zeros( size( Data ) );

Data2( 1 ) = Data( 1 );

Data2( 2 ) = Data( 2 );

[ H V ] = size( Data );

for i =3:V

Data2( i ) = ( Data( i ) + ( T * R * C + 2 * T * L * C )... %表明本行還沒(méi)有結(jié)束

* Data2( i - 1) - T * L * C * Data2( i - 2 ) ) / ( T * L * C + 1 + T * R * C );

end

figure

plot(Data2);

title('handled data');

以下是仿真結(jié)果:

1、原始數(shù)據(jù)的波形:

2、濾波過(guò)后的數(shù)據(jù)的波形:

以上程序中,只是用了MATLAB的仿真功能,沒(méi)有調(diào)用MATLAB的濾波函數(shù),所以完全可以將MATLAB程序翻譯成C語(yǔ)言后嵌入下位機(jī)軟件中使用。

雖然上述兩類濾波算法并沒(méi)有FFT和小波分析進(jìn)行濾波來(lái)的高大上,更沒(méi)有后兩者來(lái)的直接,但在一些簡(jiǎn)單數(shù)據(jù)處理中有它獨(dú)特的優(yōu)勢(shì)。建議AD采樣進(jìn)來(lái)的數(shù)據(jù)進(jìn)行簡(jiǎn)單濾波,因?yàn)橐话銘?yīng)用都不會(huì)在AD上面做很精確的基準(zhǔn)電壓。



關(guān)鍵詞: 一階二階電路濾波

評(píng)論


技術(shù)專區(qū)

關(guān)閉