• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于STM32的巴特沃斯帶阻IIR濾波算法的實(shí)現(xiàn)

    2018-02-28 11:25:32萬小川
    電子技術(shù)與軟件工程 2018年13期
    關(guān)鍵詞:上位機(jī)

    萬小川

    摘要 以巴特沃斯帶阻IIR濾波器為例,給出了一種IIR數(shù)字濾波器從用MATLAB編程求解算法濾波到利用STM32將其實(shí)現(xiàn)的一般方法。并通過STM32的串口將濾波后的信號發(fā)送給上位機(jī),通過LABVIEW將實(shí)時濾波后的信號顯示出來,并與濾波前的信號進(jìn)行對比,以驗(yàn)證濾波效果。實(shí)驗(yàn)結(jié)果表明成功用STM32將巴特沃斯帶阻IIR濾波器實(shí)現(xiàn),且濾波效果與仿真結(jié)果十分吻合。

    【關(guān)鍵詞】帶阻 IIR濾波器 濾波算法 STM32處理器 上位機(jī)

    濾波器在信號處理、控制系統(tǒng)中,有著十分重要的作用。傳統(tǒng)的信號處理都是基于模擬信號的處理。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,尤其是嵌入式技術(shù)的飛速發(fā)展,將傳統(tǒng)的濾波器、控制器應(yīng)用于嵌入式計(jì)算機(jī)中則顯得十分必要。因?yàn)椴还軅鹘y(tǒng)的濾波算法還是控制算法都是用模擬電路來實(shí)現(xiàn)的,這樣對于有些復(fù)雜的算法,需要很多電子元器件,會占據(jù)更多電路板的面積,而且一個濾波電路只能實(shí)現(xiàn)一種濾波算法,如果條件改變則需重新繪制電路,這樣會增加人力與物力的成本。而如果將濾波算法用嵌入式處理器來實(shí)現(xiàn)則會避免這個問題,因?yàn)椴还転V波算法如何復(fù)雜、條件如何改變,只需更改軟件而己,不需要對外圍電路做任何修改。

    嵌入式處理器很多,其中典型的是TI公司的F28XXX系列的DSP和意法半導(dǎo)體公司的以Cortex-M為內(nèi)核的STM32系列處理器。相比STM32,DSP擁有更強(qiáng)的浮點(diǎn)運(yùn)算能力,但是價格卻比STM32高。之所以選擇STM32作為底層實(shí)現(xiàn)是因?yàn)楸驹O(shè)計(jì)的無限沖擊響應(yīng)(IIR)濾波器階數(shù)不高,不需要像高階有限沖擊響應(yīng)(FIR)濾波器那樣做大量的卷積運(yùn)算,使用STM32完全能滿足運(yùn)算性能,故沒必要使用價格更高的DSP。處理器具體型號為STM32F103ZET6。

    在信號處理、控制算法理論分析中,MATLAB被廣泛應(yīng)用,然而MATLAB生成的程序M文件并不能直接作用于硬件,即使將MATLAB程序生成C程序,但也不能生成直接驅(qū)動底層硬件的驅(qū)動程序。因此在信號處理中適合用MATLAB從頂層在理論上去設(shè)計(jì)和計(jì)算,然后將MATLAB運(yùn)算得到的參數(shù)運(yùn)用到底層硬件處理器中己達(dá)到信號處理的目的。這是相對高效的處理方法,因?yàn)榍度胧较到y(tǒng)要求實(shí)時性,底層硬件沒必要去做一些跟頂層參數(shù)求解相關(guān)的運(yùn)算,這樣即提高了嵌入式的工作效率,也保證了其實(shí)時性。

    1 數(shù)字濾波器濾波原理

    l.1 數(shù)字信號的產(chǎn)生

    濾波器(filter)是一個用來去除信號中一些不需要的頻率成分的裝置或系統(tǒng),按照其功能可劃分為低通濾波器、高通濾波器、帶通濾波器和帶阻濾波器。按照其脈沖響應(yīng)是否有限可分為有限脈沖響應(yīng)(FIR)濾波器和無限脈沖響應(yīng)(IIR)濾波器。

    由數(shù)字濾波器的離散傅里葉變換:

    2.2 IIR數(shù)字濾波器的設(shè)計(jì)流程

    一個IIR數(shù)字濾波器一般有兩種設(shè)計(jì)方法:

    (1)脈沖響應(yīng)不變法;

    (2)雙線性變換法。

    本文采用的是雙線性變換法。所謂雙線性變換是指,傳遞函數(shù)的拉式變換s頻域與z變換z域的一種頻域映射或變換。采用公式如下:接近。其中計(jì)算得:nu=[ 0.0669,0.1541,0.6203,1.007 7,2.1925,2.6497,3.9447,3.5 921,3.9447,2.6497,2.1925,1.0077,0.6203,0.1541, 0.0669]; de=[1.0000,1.4791,2.95 08,3.132 6,4.1819,3463 3,3.33 85,2.1602,1.6307,0.8029,0.4695,0.1628,0.0729,0.0140,0.0045].

    3 STM32實(shí)現(xiàn)

    由于本設(shè)計(jì)旨在驗(yàn)證用STM32實(shí)現(xiàn)濾波算法,故免去了AD和DA環(huán)節(jié),待濾波的濾波器輸入信號由STM32內(nèi)部產(chǎn)生,然后再將經(jīng)過濾波算法得到濾波后的信號發(fā)送給上位機(jī)以查看濾波效果。其原理圖為圖3。

    STM32軟件主要包括初始化、定時器中斷函數(shù)。定時器的定時時間為采樣時間,定時器中斷函數(shù)主要包括產(chǎn)生輸入信號、運(yùn)算濾波算法以及串口發(fā)送濾波后信號。

    4 分析與總結(jié)

    本設(shè)計(jì)旨在通過以巴特沃斯帶阻IIR濾波器為例,說明用STM32實(shí)現(xiàn)IIR濾波器濾波算法的設(shè)計(jì)方法和過程,通過驗(yàn)證,成功用STM32將通過MATLAB設(shè)計(jì)得到的濾波算法實(shí)現(xiàn)。如果要設(shè)計(jì)完整的濾波器,還應(yīng)增加AD和DA模塊。對于用硬件實(shí)現(xiàn)數(shù)字濾波器的一般方法都是先采用MATLAB作為頂層設(shè)計(jì),設(shè)計(jì)其濾波算法,不論是FIR濾波器還是IIR濾波器,然后再利用硬件將其實(shí)現(xiàn)。不同的是IIR濾波器是通過Z變換得到輸入信號和輸出信號的差分方程,而FIR濾波器是得到單位沖擊響應(yīng)序列,一般利用窗函數(shù)法,然后與輸入信號做卷積得到輸出信號。但只要得到了濾波器的差分方程或單位沖擊響應(yīng)序列,不管是用STM32、DSP、FPGA實(shí)現(xiàn),還是用一般的單片機(jī)實(shí)現(xiàn)都變得簡單,只是各種硬件運(yùn)算能力的差異。

    參考文獻(xiàn)

    [l]Sanjit K.Mitra著,彭啟琮選.Digitalsignal processing[M].清華大學(xué)出版社.2012.

    [2]Weeks M.Digital Signal ProcessingUsing MATLAB and Wavelets (ElectricalEngineering) [M] . Infinity SciencePress, 2006.

    [3]Proakis J G,Manolakis D G. "DigitalSignal Processing - Principles,Algorithms & Applications" ,F(xiàn)ourthEdition, Pearson Education,PrenticeHall, 2007. [J]. 2015.

    [4] Proakis J. Essentials of DigitalSignal Processing Using MATLAB,Adapted International StudentEdition [J]. 2012.

    猜你喜歡
    上位機(jī)
    基于單片機(jī)的無線液位監(jiān)測系統(tǒng)
    科技資訊(2016年27期)2017-03-01 16:54:43
    基于單片機(jī)的遠(yuǎn)程控制智能澆水系統(tǒng)
    論網(wǎng)絡(luò)通信技術(shù)
    基于云的短波發(fā)射機(jī)機(jī)房中央空調(diào)自動控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    基于上位機(jī)、NRF多點(diǎn)無線溫度監(jiān)控系統(tǒng)
    景點(diǎn)智能導(dǎo)航系統(tǒng)
    全自動包裝及碼垛系統(tǒng)的發(fā)展與應(yīng)用
    可編程序控制器在糧食烘干機(jī)控制系統(tǒng)的應(yīng)用
    智能遠(yuǎn)程溫室監(jiān)控系統(tǒng)設(shè)計(jì)
    基于ZigBee網(wǎng)絡(luò)的Android平臺糧情移動監(jiān)測系統(tǒng)
    和平区| 新丰县| 岳普湖县| 清水县| 奉化市| 崇州市| 西充县| 石屏县| 台南县| 延长县| 罗山县| 棋牌| 梁山县| 文安县| 封开县| 禄丰县| 吴堡县| 波密县| 绩溪县| 遵义县| 平安县| 靖远县| 虎林市| 桂林市| 格尔木市| 曲松县| 河间市| 宁蒗| 翁牛特旗| 抚松县| 建湖县| 西林县| 涟源市| 都昌县| 宜兴市| 洛隆县| 大荔县| 麻城市| 兰考县| 定西市| 抚顺县|