0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一階低通濾波器的軟硬件實(shí)現(xiàn)

冬至子 ? 來(lái)源:王超的小站 ? 作者:Chao Wang ? 2023-07-22 15:58 ? 次閱讀

數(shù)字電源軟件中經(jīng)常會(huì)用到低通濾波函數(shù),如對(duì)AD采樣數(shù)據(jù)或?qū)ι蟼鞅O(jiān)控?cái)?shù)據(jù)的濾波等,那么本文首先介紹一階低通濾波器的軟硬件實(shí)現(xiàn),最后給出dsPIC33C系列MCU 低通濾波器的代碼實(shí)現(xiàn)給大家作為參考。

1. 模擬濾波器

1.jpg

import numpy as np
C = 220e-12
fc = 1000
R=1/(2np.piC*fc)
print("R =", R)

1.jpg

圖片

圖 2 - RC低通濾波器Bode圖

獲得上面Bode圖的Python代碼如下:

import numpy as np
import matplotlib.pyplot as plt
import control as ctrl

s = ctrl.tf('s')

C = 220e-12
R = 750e3
fc = 1e3

Hp = 1/(1+(R*C)*s)

f = np.logspace(-1, 6, 1000)
w = 2 * np.pi * f

mag,phase,omega=ctrl.bode_plot(Hp,w,dB=True,Hz=True,deg=True,Plot=True,label='Hp')

plt.legend()
plt.show()

pole=ctrl.pole(Hp)

print("pole =", pole/(2*np.pi), "Hz")

2. 數(shù)字濾波器

1.jpg

獲得上面Bode圖的Python代碼如下:

import numpy as np
import matplotlib.pyplot as plt
import control as ctrl

############ continuous s transfer function. ############
s = ctrl.tf('s')

fc = 1e3    # low pass filter cut-off frequency is 1kHz

t = 1/(2*np.pi*fc)

Hp = 1/(1+t*s)

f = np.logspace(-1, 6, 1000)
w = 2 * np.pi * f

mag,phase,omega=ctrl.bode_plot(Hp,w,dB=True,Hz=True,deg=True,Plot=True, grid=True, label='Hp')

pole=ctrl.pole(Hp)

print("pole =", pole/(2*np.pi), "Hz")

############ discrete z transfer function. ############
z = ctrl.tf('z')

fs = 100e3    # sample frequency is 100kHz, fc is still 1kHz
Ts = 1/fs

Hpd = (1+z**(-1))/((Ts+2*t)/Ts - (2*t-Ts)/Ts*z**(-1))
print(Hpd)
Hpd.dt = Ts

mag,phase,omega=ctrl.bode_plot(Hpd,w,dB=True,Hz=True,deg=True,Plot=True, grid=True, label='Hpd')

plt.legend()
plt.show()

公式(2)進(jìn)一步轉(zhuǎn)化為軟件可實(shí)現(xiàn)的差分方程見(jiàn)公式(3)。

1.jpg

求得上面系數(shù)的Python代碼如下:

import numpy as np

fc = 1e3      # low pass filter cut-off frequency is 1kHz
fs = 100e3    # sample frequency is 100kHz
Ts = 1/fs

t = 1/(2*np.pi*fc)

Kxn = Ts/(Ts+2*t)
Kyn = (2*t-Ts)/(Ts+2*t)

print("Kxn =", Kxn, "Kyn=", Kyn)

由一階低通濾波器的離散化差分方程 - 公式(3),可進(jìn)行軟件編碼實(shí)現(xiàn)該濾波函數(shù),dsPIC33C系列MCU的低通濾波函數(shù)參考代碼如下。

#include "libq.h" 

typedef struct{
 /* Parameters */
 int16_t Kxn;
 int16_t Kyn;
 int16_t xn;
 int16_t yn;
}LPF_Obj;

int16_t LPF(int16_t x, LPF_Obj *L_obj)
{
 int16_t y;

    //y = Kxn * x + Kxn * xn + Kyn * yn
    //yn = y;
    //xn = x;
 y = _Q15add(_Q15add(__builtin_mulss(L_obj- >Kxn,x) > >15, __builtin_mulss(L_obj- >Kxn,L_obj- >xn) > >15), __builtin_mulss(L_obj- >Kyn,L_obj- >yn) > >15);
 L_obj- >yn = y;
 L_obj- >xn = x;
    
 return y;
}

為了調(diào)用定點(diǎn)Q格式數(shù)學(xué)函數(shù),需要包含頭文件libq.h,因此linker需要包含相應(yīng)的庫(kù),生成連接屬性-lq或-lq-dsp。操作如下圖所示。

圖片

圖 4 - 鏈接屬性設(shè)置

最后若一階低通濾波函數(shù)不能滿(mǎn)足要求可以?xún)蓚€(gè)該一階低通濾波器進(jìn)行級(jí)聯(lián)獲得二階濾波器的效果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 低通濾波器
    +關(guān)注

    關(guān)注

    14

    文章

    471

    瀏覽量

    47287
  • 數(shù)字電源
    +關(guān)注

    關(guān)注

    28

    文章

    509

    瀏覽量

    109248
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4766

    瀏覽量

    84362
  • MCU芯片
    +關(guān)注

    關(guān)注

    3

    文章

    246

    瀏覽量

    11348
  • AD采樣芯片
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    2251
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用SaberEXP軟件實(shí)現(xiàn)有源低通濾波器的設(shè)計(jì)?

    本實(shí)例使用SaberEXP軟件描述了有源低通濾波器的工作原理。通過(guò)級(jí)聯(lián)一階和二濾波器來(lái)顯示提高濾波器
    的頭像 發(fā)表于 12-06 10:52 ?1121次閱讀
    如何使用SaberEXP軟件<b class='flag-5'>實(shí)現(xiàn)</b>有源<b class='flag-5'>低通濾波器</b>的設(shè)計(jì)?

    一階低通濾波器的工作原理、電路結(jié)構(gòu)、設(shè)計(jì)方法以及應(yīng)用領(lǐng)域

    一階低通濾波器種常見(jiàn)的電子濾波器,用于濾除高于定頻率的信號(hào)成分。它具有簡(jiǎn)單的電路結(jié)構(gòu)和容易實(shí)現(xiàn)
    的頭像 發(fā)表于 12-07 16:41 ?6206次閱讀

    如何實(shí)現(xiàn)一階慣性濾波器和二濾波器的算法?

    MATLAB怎么進(jìn)行軟件濾波仿真一階電路濾波器的軟件方式實(shí)現(xiàn)
    發(fā)表于 04-06 08:11

    有源低通濾波器_最簡(jiǎn)單的二低通濾波器電路圖

    濾波器數(shù)可分為一階和高階,數(shù)越高,幅頻特性越陡峭,高階濾波器通??捎?b class='flag-5'>一階和二
    發(fā)表于 07-24 15:41 ?21.7w次閱讀
    二<b class='flag-5'>階</b>有源<b class='flag-5'>低通濾波器</b>_最簡(jiǎn)單的二<b class='flag-5'>階</b><b class='flag-5'>低通濾波器</b>電路圖

    一階有源低通濾波電路與最經(jīng)典一階低通濾波器電路圖

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

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

    濾波電路又稱(chēng)為濾波器,是種選頻電路,能夠使特定頻率范圍的信號(hào)通過(guò),而使其它頻率的信號(hào)大大衰減即阻止其通過(guò)。按其工作頻率范圍的不同,濾波電路可分為
    發(fā)表于 08-16 17:28 ?9.3w次閱讀
    <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>原理

    文看懂二lc低通濾波器的設(shè)計(jì)及原理

    本文首先闡述了LC濾波器的原理,其次介紹了二LC橢圓低通濾波器電路,最后介紹了二
    發(fā)表于 04-20 09:14 ?22w次閱讀
    <b class='flag-5'>一</b>文看懂二<b class='flag-5'>階</b>lc<b class='flag-5'>低通濾波器</b>的設(shè)計(jì)及原理

    怎么設(shè)計(jì)實(shí)現(xiàn)一階數(shù)字濾波器

    一階數(shù)字濾波計(jì)算簡(jiǎn)單,實(shí)現(xiàn)代價(jià)非常低。在濾除高頻噪聲時(shí)應(yīng)用很廣泛。其本質(zhì)是 IIR 濾波器,為啥要單列出來(lái)介紹
    的頭像 發(fā)表于 09-02 11:00 ?7183次閱讀
    怎么設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>一階</b>數(shù)字<b class='flag-5'>濾波器</b>

    低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)

    低通濾波器的設(shè)計(jì)是已知ow(dB3-截止頻率 )、LPH0(直流增益 )、Q(在dB3-截止頻率時(shí)的電壓放大倍數(shù)與通帶放大倍數(shù)數(shù)值之比)三個(gè)參數(shù)來(lái)設(shè)計(jì)電路,可選的電路形式為壓控電壓源低通濾波器和無(wú)限增益多路反饋低通濾波器。下面分
    發(fā)表于 04-22 09:23 ?77次下載
    <b class='flag-5'>低通濾波器</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    一階有源濾波器原理詳解

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

    一階低通濾波器(LPF)學(xué)習(xí)

    導(dǎo)讀:電壓型磁鏈觀測(cè)由于物理概念清晰、簡(jiǎn)單易用而備受關(guān)注。然而電壓型磁鏈觀測(cè)包含純積分項(xiàng),被積項(xiàng)的初始相位與直流偏置都會(huì)影響積分結(jié)果。所以對(duì)傳統(tǒng)電壓型磁鏈觀測(cè)的改進(jìn)措施有很多,
    的頭像 發(fā)表于 01-16 09:52 ?7433次閱讀

    一階高通濾波器學(xué)習(xí)

    導(dǎo)讀:本期文章主要介紹一階高通濾波器。一階高通濾波器一階
    的頭像 發(fā)表于 01-29 16:03 ?6688次閱讀

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

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

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

    一階低通濾波器種常見(jiàn)的電子濾波器,它可以有效地濾除高頻信號(hào),只保留低頻信號(hào)。截止頻率是指濾波器開(kāi)始對(duì)信號(hào)進(jìn)行衰減的頻率。 在這篇文章中,
    的頭像 發(fā)表于 12-01 16:24 ?4770次閱讀

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

    一階有源低通濾波器種常見(jiàn)的信號(hào)處理元件,廣泛應(yīng)用于信號(hào)調(diào)理、數(shù)據(jù)采集和通信系統(tǒng)。
    的頭像 發(fā)表于 05-22 16:23 ?1228次閱讀