衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一階數字低通濾波器原理及公式推導

硬件攻城獅 ? 來源:Spring嵌入式工作室 ? 作者:Spring嵌入式工作室 ? 2022-08-26 14:22 ? 次閱讀

前面我們基本把有感FOC介紹得差不多了,接下來我本打算進入無感FOC控制的深入學習,奈何導師項目項目太多太雜........................先把自己這段時間學的東西總結分享一下再說吧。查閱了很多無感FOC控制的相關資料,把基本原理和流程漸漸的了解了一下(以后有時間再詳細介紹了),發現很多環節都會用到”一階低通數字濾波器“(相電流濾波,反電勢濾波,角度、轉速濾波,校正因子濾波),雖然代碼里面只是一個簡單的公式,但為了控制系統參數設計,我還是淺淺的去探究了一下其基本原理,如有錯誤還望提出指正。

開局先直接給出公式:

49f2f140-2505-11ed-ba43-dac502259ad0.png

式中:x(k)為當前輸入,y(k-1)為上一次的輸出,y(k)為當前計算的輸出;a為濾波系數,取值范圍0~1,a取值越小,當前輸入權重就越小,輸出波形越平滑,但響應靈敏度降低;

如果只是套用公式寫代碼的話,看到這里就可以結束了,想要理解其中的原理,以及采樣頻率、截止頻率和參數的計算,那么請接著往下看。

01. 原理及公式推導

一階低通數字濾波器“對應的物理電路模型是”一階RC低通濾波電路“,電路如下圖所示。

49fde01e-2505-11ed-ba43-dac502259ad0.png

電容的阻抗表示為1/jωC,對于上面電路,有輸入輸出電壓關系:

4a0989b4-2505-11ed-ba43-dac502259ad0.png

上式寫成傳遞函數形式:

4a157152-2505-11ed-ba43-dac502259ad0.png

在《自動控制原理》中稱為一階慣性環節。

由Y(s)=G(s).F(s)得到時域的微分方程:

4a21c8ee-2505-11ed-ba43-dac502259ad0.png

使用一階后向差分法,對上面微分方程進行離散化,有:

4a30e126-2505-11ed-ba43-dac502259ad0.png

其中T為采樣周期,對上式進行整理化簡可寫成:

4a413abc-2505-11ed-ba43-dac502259ad0.png

4a4acf64-2505-11ed-ba43-dac502259ad0.png得到一般表達式:4a55d5d0-2505-11ed-ba43-dac502259ad0.png,a稱為濾波系數。

02. 截止頻率和參數計算

對于電路模型,有截止頻率4a6e9606-2505-11ed-ba43-dac502259ad0.png(截止頻率定義為幅頻響應曲線衰減 -3db,即為原來的1/sqrt(2)時的頻率,模電里面的基礎知識這里不細講)

可得是將常數4a7beebe-2505-11ed-ba43-dac502259ad0.png

代入濾波系數a的表達式得:

4a88b7b6-2505-11ed-ba43-dac502259ad0.png

式中f=1/T為采樣頻率。

在實際的應用中,一般有采樣頻率遠大于截止頻率,即有4a9baeb6-2505-11ed-ba43-dac502259ad0.png,故近似有4aa86002-2505-11ed-ba43-dac502259ad0.png,所以已知截止頻率和采樣頻率,我么就能夠計算濾波系數a的值了。

又會問:截止頻率和采樣頻率怎么確定呢?選取不同的值會對計算輸出有什么影響呢?下面為你簡單介紹一下。

03. 頻率的選擇

3.1采樣頻率的選擇

一般人為主觀選擇,在不影響其他功能性能的條件下,盡量越大越好。

先以我之前做的電機控制為例。在程序中,PWM定時器開啟中斷,在中斷服務函數中用ADC采集相電流,故采樣頻率就等于PWM定時器頻率,我在控制代碼中用的是20kHz,即采樣頻率f=20kHz。

3.2截止頻率的選擇

根據采樣對象信號的頻率選擇,一般稍大于被采樣信號的最大基波頻率就好。

還是以我做的電機控制為例。我用的永磁同步電機額定轉速為3000rpm,極對數為4,采樣對象為相電流。則在額定條件下,相電流的頻率為f_current=3000*4/60=200Hz,考慮到電機超負荷運行,瞬時轉速可以大于3000,保留一定余量,我取截止頻率f_H=500Hz。如此計算得濾波系數4ab504c4-2505-11ed-ba43-dac502259ad0.png

在電機運行前,對放大器進行校準時,只考慮直流偏置輸入,即被采樣的信號頻率趨近于0Hz,主要濾掉電路中的高頻干擾和噪聲,故可把截止頻率取得很小,我這里取f_H=5Hz,計算得濾波系數a=0.00157。

04頻率選擇對輸出的影響(附仿真分析)

在采樣頻率固定的情況下,截止頻率越大,濾波系數a的值越大,當前輸入的權重就越大,計算的輸出和實際的輸出跟蹤效果更好,即動態響應更好,幅值衰減的影響更小。

減小截止頻率,濾波系數a的值越小,當前輸入的權重越小,故計算的輸出信號更平滑,對噪聲干擾和諧波的濾除效果更好,但是動態響應變差,而且會產生一定程度的幅值衰減。

下面是matlab代碼和仿真結果分析:

仿真結果:

4ad25236-2505-11ed-ba43-dac502259ad0.png

圖中,綠色為含有噪聲的采樣信號,藍色為標準的正弦信號,紅色為采樣信號經過一階低通濾波器的計算輸出。

可以發現,當截止頻率較小時,輸出信號幅值衰減明顯,且存在一定滯后;隨著截止頻率的增大,對標準正弦信號的跟蹤效果越好;當截止頻率過大時,幾乎能完全復現采樣信號,但是對噪聲的濾波效果變差。

下面再看一下對直流信號的測試

4b10a96e-2505-11ed-ba43-dac502259ad0.png

可以看出,隨著截止頻率的減小,計算輸出的信號越來越平滑,接近直流信號,但同時調節時間也增大,對應我前面電機控制中,對放大器的校準時間需要延長。在實際應用中,對于直流信號的濾波,截止頻率一般取1~50Hz我覺得就好了(當然也有可能其它情況我沒想到)。

最后附上matlab的仿真源代碼

代碼源程序:

交流信號部分:

f_basic=200;%原信號頻率為200Hzw_basic=2*pi*f_basic;f_H=1;%截止頻率500Hzf_simple=20000;%采樣頻率20kHzPointNumber = 100000;%坐標點數量
x=0PointNumber-1;Standard =2+sin(w_basic*x*0.0000005);%原始標準信號noise = 0+0.1*randn(1,PointNumber);AddNoise=Standard+noise;
a=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endfigure(1);X=0PointNumber-1;plot(X,AddNoise,'-.g');hold on;plot(X,Standard,'-..b');hold on;plot(X,output,'-..r');hold on;legend('With noise','Standard','Output') xlabel('time');ylabel('value');title('一階低通濾波器(fH=1Hz)');


f_basic=200;%原信號頻率為200Hzw_basic=2*pi*f_basic;f_H=5;%截止頻率500Hzf_simple=20000;%采樣頻率20kHzPointNumber = 100000;%坐標點數量
x=0PointNumber-1;Standard =2+sin(w_basic*x*0.0000005);%原始標準信號noise = 0+0.1*randn(1,PointNumber);AddNoise=Standard+noise;
a=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endfigure(2);X=0PointNumber-1;plot(X,AddNoise,'-.g');hold on;plot(X,Standard,'-..b');hold on;plot(X,output,'-..r');hold on;legend('With noise','Standard','Output') xlabel('time');ylabel('value');title('一階低通濾波器(fH=5Hz)');

f_basic=200;%原信號頻率為200Hzw_basic=2*pi*f_basic;f_H=50;%截止頻率500Hzf_simple=20000;%采樣頻率20kHzPointNumber = 100000;%坐標點數量
x=0PointNumber-1;Standard =2+sin(w_basic*x*0.0000005);%原始標準信號noise = 0+0.1*randn(1,PointNumber);AddNoise=Standard+noise;


a=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endfigure(3);X=0PointNumber-1;plot(X,AddNoise,'-.g');hold on;plot(X,Standard,'-..b');hold on;plot(X,output,'-..r');hold on;legend('With noise','Standard','Output') xlabel('time');ylabel('value');title('一階低通濾波器(fH=50Hz)');

f_basic=200;%原信號頻率為200Hzw_basic=2*pi*f_basic;f_H=500;%截止頻率500Hzf_simple=20000;%采樣頻率20kHzPointNumber = 100000;%坐標點數量
x=0PointNumber-1;Standard =2+sin(w_basic*x*0.0000005);%原始標準信號noise = 0+0.1*randn(1,PointNumber);AddNoise=Standard+noise;


a=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endfigure(4);X=0PointNumber-1;plot(X,AddNoise,'-.g');hold on;plot(X,Standard,'-..b');hold on;plot(X,output,'-..r');hold on;legend('With noise','Standard','Output') xlabel('time');ylabel('value');title('一階低通濾波器(fH=500Hz)');

直流信號部分

f_basic=1;%原信號頻率為200Hzw_basic=2*pi*f_basic;f_H=500;%截止頻率500Hzf_simple=20000;%采樣頻率20kHzPointNumber = 100000;%坐標點數量
x=0PointNumber-1;Standard =2+0.05*sin(w_basic*x*0.00005);%原始標準信號noise = 0+0.05*randn(1,PointNumber);AddNoise=Standard+noise;
a=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endfigure(1);X=0PointNumber-1;plot(X,AddNoise,'-.g');hold on;plot(X,output,'-..r');hold on;
xlabel('time');ylabel('value');title('一階低通濾波器(直流信號測試)');
f_H=1;%截止頻率500Hza=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endplot(X,output,'-..c');hold on;
f_H=0.5;%截止頻率500Hza=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endplot(X,output,'-..m');hold on;
f_H=0.2;%截止頻率500Hza=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endplot(X,output,'-..k');hold on;


f_H=0.1;%截止頻率500Hza=2*pi*f_H/f_simple;y_last=0;y_now=0;for i = 0PointNumber-1    x_now=AddNoise(i+1);    y_now=(1-a)*y_last+a*x_now;    output(i+1)=y_now;    y_last=y_now;endplot(X,output,'-..r');hold on;
plot(X,Standard,'-..b');hold on;
 legend('With noise','Output-500Hz','Output-1Hz','Output-0.5Hz','Output-0.2Hz','Output-0.1Hz','Standard')
審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 濾波器
    +關注

    關注

    161

    文章

    7860

    瀏覽量

    178931
  • 數字濾波器
    +關注

    關注

    4

    文章

    270

    瀏覽量

    47094
  • FOC
    FOC
    +關注

    關注

    20

    文章

    325

    瀏覽量

    42988

原文標題:“一階數字低通濾波器”原理推導(含仿真和代碼實現)

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一階低通濾波器的工作原理、電路結構、設計方法以及應用領域

    一階低通濾波器種常見的電子濾波器,用于濾除高于定頻率的信號成分。它具有簡單的電路結構和容易實現的特點,因此被廣泛應用于各種電子設備中。
    的頭像 發表于 12-07 16:41 ?7947次閱讀

    請問SIGMASTUDIO一階濾波器系數如何計算

    你好使用SIGMASTUDIO 中一階濾波器低通和全通生成的數據和手冊給出的公式樣的,但高通的數據和手冊給出的不樣,具體哪個是正確的呢
    發表于 02-15 15:01

    關于一階RC低通濾波器的基礎知識

    關于一階濾波器的種種有很多資料可查,像截止頻率啊,相移啊什么的,這些在這里就不再重復了。本文主要闡述下阿呆在學習過程中曾被困擾的地方,及本人的簡要分析。本文從無源RC低通濾波器說起,
    發表于 05-21 06:07

    有源低通濾波器_最簡單的二低通濾波器電路圖

    濾波器數可分為一階和高階,數越高,幅頻特性越陡峭,高階濾波器通常可由一階和二
    發表于 07-24 15:41 ?22.1w次閱讀
    二<b class='flag-5'>階</b>有源<b class='flag-5'>低通濾波器</b>_最簡單的二<b class='flag-5'>階</b><b class='flag-5'>低通濾波器</b>電路圖

    一階有源低通濾波電路與最經典一階低通濾波器電路圖

    濾波電路中含有有源元件,如集成運放等,則稱為有源濾波器,一階有源低通濾波電路是組成二、高階有源低通
    發表于 07-24 20:03 ?17.8w次閱讀
    <b class='flag-5'>一階</b>有源低通<b class='flag-5'>濾波</b>電路與最經典<b class='flag-5'>一階</b><b class='flag-5'>低通濾波器</b>電路圖

    一階低通濾波器_一階低通濾波器公式_一階低通濾波器原理

    濾波電路又稱為濾波器,是種選頻電路,能夠使特定頻率范圍的信號通過,而使其它頻率的信號大大衰減即阻止其通過。按其工作頻率范圍的不同,濾波電路可分為
    發表于 08-16 17:28 ?9.4w次閱讀
    <b class='flag-5'>一階</b><b class='flag-5'>低通濾波器</b>_<b class='flag-5'>一階</b><b class='flag-5'>低通濾波器</b><b class='flag-5'>公式</b>_<b class='flag-5'>一階</b><b class='flag-5'>低通濾波器</b>原理

    不同低通濾波器的增益大小案例公式和電路曲線

    通過將基本RC低通濾波器電路與運算放大器相結合,我們可以創建個有放大的有源低通濾波器電路,在RC無源濾波器教程中,我們看到了個基本的
    的頭像 發表于 06-27 11:12 ?4.3w次閱讀
    不同<b class='flag-5'>低通濾波器</b>的增益大小案例<b class='flag-5'>公式</b>和電路曲線

    一階電路誤差分析_RC有源低通濾波器一階原理分析及其推導

    定義低通濾波器:允許低于定值的低頻信號無衰減地通過,高于定值的信號按不同程度地被衰減、阻擋。有源低通濾波器是由有源元件和部分無源元件(
    發表于 01-10 14:27 ?30次下載
    <b class='flag-5'>一階</b>電路誤差分析_RC有源<b class='flag-5'>低通濾波器</b>的<b class='flag-5'>一階</b>二<b class='flag-5'>階</b>原理分析及其<b class='flag-5'>推導</b>!

    帶通濾波器低通濾波器的轉換公式推導資料合集

    種易于理解的方式介紹了歸化帶通濾波器指標轉換為低通濾波器指標的公式
    發表于 02-15 13:56 ?54次下載

    一階有源濾波器原理詳解

    一階有源濾波器原理詳解
    的頭像 發表于 11-14 09:52 ?2904次閱讀

    一階低通濾波器(LPF)學習

    導讀:電壓型磁鏈觀測由于物理概念清晰、簡單易用而備受關注。然而電壓型磁鏈觀測包含純積分項,被積項的初始相位與直流偏置都會影響積分結果。所以對傳統電壓型磁鏈觀測的改進措施有很多,
    的頭像 發表于 01-16 09:52 ?8024次閱讀

    一階高通濾波器學習

    導讀:本期文章主要介紹一階高通濾波器一階高通濾波器一階低通濾波器很相似,都是利用電容阻低頻信
    的頭像 發表于 01-29 16:03 ?7223次閱讀

    一階低通濾波器中該如何選值R和C

      問題:一階低通濾波器中,當RC乘積確定,該如何選值R和C?
    的頭像 發表于 04-08 11:26 ?1.1w次閱讀
    <b class='flag-5'>一階</b><b class='flag-5'>低通濾波器</b>中該如何選值R和C

    一階低通濾波器的截止頻率

    一階低通濾波器種常見的電子濾波器,它可以有效地濾除高頻信號,只保留低頻信號。截止頻率是指濾波器開始對信號進行衰減的頻率。 在這篇文章中,
    的頭像 發表于 12-01 16:24 ?5936次閱讀

    一階有源低通濾波器的上限截止頻率受哪些因素影響

    一階有源低通濾波器種常見的信號處理元件,廣泛應用于信號調理、數據采集和通信系統。
    的頭像 發表于 05-22 16:23 ?2111次閱讀
    E世博| 同乐城百家乐官网现金网| 深圳太阳城酒店| 网站百家乐假| 太阳城百家乐网上| 牌九百家乐官网的玩法技巧和规则 | 海口太阳城大酒店| 百家乐可以作假吗| 三元玄空24山坐向开门| 网上百家乐官网是真是假天涯论坛| 百家乐官网赌博游戏| 实战百家乐官网博彩正网| 天津市| 高州市| 广西| 网络博彩| 新星娱乐城| 网络娱乐| 娱乐城网| bet365最稳定网址| 大发888娱乐城dmwd| 大发888投注明升网址| 全讯网源码| 大发888论坛| 百家乐那里最好| 破战百家乐的玩法技巧和规则| 百家乐澳门百家乐澳门赌场| 真钱百家乐哪里最好| 百家乐二代皇冠博彩| 网上百家乐娱乐场| 百家乐好多假网站| 百家乐免费试玩游戏| 百家乐庄不连的概率| 百家乐赢足球博彩皇冠| 百家乐扑克桌布| 百家乐翻天粤语版qvod| 摩纳哥百家乐娱乐城| 百家乐现金网平台排行榜| 亚洲百家乐论坛| 百家乐如何骗人| 百家乐77scs官|