亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32F10x的FIR濾波器設計與實現(xiàn)

        2013-12-18 08:51:22,,,,
        關鍵詞:濾波器濾波運算

        ,,,,

        (1.上海師范大學 信息與機電工程學院,上海 200234; 2.上海計算機軟件技術開發(fā)中心,上海 201114)

        0 引 言

        STM32F10x系列是ST公司針對工業(yè)、醫(yī)療和消費類市場推出的基于ARM cortex-M3內(nèi)核的微控制器,該系列包含五大產(chǎn)品線:STM32F100具有電機控制和CEC功能;STM32F101具有高達1MB的Flash;STM32F102具有USB全速設備功能;STM32F103具有高達1MB的Flash、電機控制、USB和CAN接口;STM32F105/107具有以太網(wǎng)MAC、CAN和USB2.0 OTG.

        無論針對工業(yè)控制、醫(yī)療服務或者消費類領域,傳感器已經(jīng)成為電子設備中不可缺少的部分,如:工業(yè)稱重設備使用的壓阻式壓力傳感器、醫(yī)療儀器中常見的心率脈搏傳感器、智能手機中的重力傳感器等.傳感器將各種模擬信號轉換成電壓信號后,需要通過模數(shù)轉換器(A/D)將電壓信號轉換成數(shù)字信號,然后再輸出到處理器進行相應信號處理,傳感器的信號處理框圖如圖1所示.

        圖1 通過傳感器的模擬信號處理框圖

        然而,模擬信號極易受到外界干擾,如傳感器未能水平放置,風向、風力大小的影響,日光燈的工頻干擾,甚至是微小的震動,都會對傳感器獲得的信號造成擾動,去除這些干擾最有效、最經(jīng)濟的方法就是處理器對輸入的數(shù)字信號進行信號濾波的去噪預處理.根據(jù)濾波器單位脈沖響應的時間特性,濾波器可分為FIR濾波器和IIR濾波器兩類,由于FIR濾波器只包含有限個系數(shù)、無輸入反饋,以及結構簡單等特點,使FIR濾波器成為實際應用系統(tǒng)中最常用的濾波器類型.

        DSP(數(shù)字信號處理器)和FPGA(可編程邏輯門陣列)是實現(xiàn)數(shù)字濾波器最常用的處理器,其中DSP適合實現(xiàn)串行的濾波器結構,FPGA適合實現(xiàn)并行的濾波器結構.雖然這兩種處理器具有超強的處理能力,但是價格昂貴,作為傳感器信號的濾波器實現(xiàn)可謂大材小用.濾波運算需要大量的乘法,常用的單片機由于沒有硬件乘法器,實現(xiàn)濾波器需要占用大量的CPU時鐘,這勢必影響系統(tǒng)中其他處理的正常工作.STM32F10x系列微控制器采用RISC結構,并內(nèi)嵌硬件乘法器以及大量片內(nèi)外設,同時兼顧了低成本優(yōu)勢,特別適合于傳感器信號的FIR濾波器實現(xiàn)和數(shù)字信號處理.

        1 FIR濾波器的原理、設計方法及基本結構

        對長為N的數(shù)字濾波器的單位脈沖響應,其傳輸函數(shù)為:

        (1)

        其中ω為數(shù)字頻率,Hg(ω)為幅度特性函數(shù),θ(ω)為相位特性函數(shù).

        為保證信號的群延時為常數(shù),要求所設計的FIR濾波器是線性相位,即相位特性函數(shù)θ(ω)滿足:

        θ(ω)=-τω,

        (2)

        θ(ω)=θ0-τω.

        (3)

        其中τ為常數(shù),θ0為起始相位,-π≤ω≤π.公式(2)表示第一線性相位,公式(3)為第二線性相位.

        為設計線性相位FIR濾波器,經(jīng)過推導[1]可得,線性相位FIR濾波器的單位脈沖響應,應滿足:

        h(n)=h(N-1-n), 0≤n≤N-1 ;

        (4)

        h(n)=-h(N-1-n), 0≤n≤N-1 .

        (5)

        其中,h(n)滿足公式(4),則所設計的FIR濾波器是第一線性相位;h(n)滿足公式(5),則所設計的FIR濾波器是第二線性相位.

        FIR濾波器設計常用的3種方法是窗函數(shù)設計法[1]、頻率取樣法和優(yōu)化設計法,其中使用最廣泛是窗函數(shù)設計法,常用的窗函數(shù)[1]有矩形窗、海明窗、漢寧窗、萊克曼窗和凱塞-貝塞爾窗,其中從頻域特性看,萊克曼窗與前幾個窗函數(shù)相比,主瓣寬度窄、旁瓣衰減快;與凱塞-貝塞爾窗相比,雖然凱塞-貝塞爾窗是一種可調(diào)節(jié)的窗函數(shù),但是在提高頻域特性的同時,其時域的幅值較難整型化,同時也會使得過渡帶變寬,綜合工業(yè)控制領域對濾波的需求,采用布萊克曼窗(blackman),通過matlab軟件設計得到濾波器的單位脈沖響應h(n).

        FIR濾波器的基本結構主要有:直接型FIR、級聯(lián)型FIR、線性相位型FIR、頻率取樣型FIR等結構,其中直接型FIR濾波器結構為串行運算結構[2],較符合微控制器按照程序順序執(zhí)行的特點.直接型FIR濾波器結構[3]如圖2所示,其結構就是描述了信號xn經(jīng)過系統(tǒng)的卷積運算.

        圖2 直接型FIR濾波器結構

        圖2中,xn…xn-N表示輸入信號,yn表示第n時刻的輸出信號,z-1表示延時1個單位時間,c0,…,cN-1表示相應輸入信號乘以相應的系數(shù).

        2 基于STM32F10x數(shù)字信號處理器庫的FIR濾波器實現(xiàn)原理

        ST公司在推出STM32F10x系列MCU的同時,推出了STM32F10x數(shù)字信號處理庫,其中FIR濾波器的實現(xiàn)函數(shù)如表1所示.

        表1 STM32F10x DSP library中FIR濾波器函數(shù)原型

        其中COFFS結構體的定義如下:

        其中,h為濾波器系數(shù),nh為濾波器階次.

        這里需要注意,fir_16by16_stm32函數(shù)并不能實現(xiàn)濾波器設計,函數(shù)只是將信號x與系數(shù)p以圖2方式(直接型FIR濾波器結構)運算后得到一個運算結果,實際是完成了信號x與系數(shù)p的線性卷積運算[1],如公式(6)所示:

        (6)

        其中,x、h為2個信號,x={x0,x1,...,xL-1},h={h0,h1,...,hM-1},卷積結果y的長度為M+L-1.

        通過分析fir_16by16_stm32函數(shù),調(diào)用函數(shù)得到的運算結果如公式(7)所示:

        (7)

        其中,N即為函數(shù)原形中的第4個參數(shù)(表1).

        因此,為盡可能節(jié)約STM32F10x芯片內(nèi)的內(nèi)存資源,同時減少運算耗時,在編程過程的數(shù)據(jù)定義時,應滿足公式(8):

        N=L-M.

        (8)

        即濾波結果的數(shù)組長度等于信號數(shù)組長度與濾波系數(shù)數(shù)組個數(shù)的差.

        另外值得注意的是,STM32F10x系列微控制器只支持整數(shù)運算,浮點數(shù)的運算通過編譯將轉化為整數(shù)運算,但運算效率大大降低.同時為了使用fir_16by16_stm32函數(shù),通過表1,可以看到信號數(shù)組x及濾波器數(shù)組h的數(shù)據(jù)類型為short型,即數(shù)值范圍在-215~+215-1,因此,信號xi應滿足:

        -215≤xi≤215-1 .

        (9)

        通過matlab軟件設計后的濾波器系數(shù)以歸一化的數(shù)值方式得到,即:

        (10)

        因此,在使用fir_16by16_stm32函數(shù)時并不能直接使用matlab軟件設計的濾波器系數(shù),而必須經(jīng)過數(shù)值變換,如圖3所示.數(shù)值放大過程中,考慮到最后需要恢復原數(shù)值范圍,建議放大倍數(shù)為2n,n為整數(shù),這可以使后期數(shù)據(jù)恢復時,只需要進行移位操作,相比于除法運算,運算量大大降低.無論使用數(shù)值擴大以后采用四舍五入、向上取整或者向下取整,最后去除小數(shù)的同時依然會導致一些誤差,因此最后需要對整型化的系數(shù)作微調(diào).

        圖3 濾波器系數(shù)的數(shù)值變化框圖

        從表1可以看到,濾波結果數(shù)組的數(shù)據(jù)類型為int型,即32位有符號整型,所以應保證濾波結果的每個數(shù)值的絕對值應小于231,因此按照公式11,可推導出數(shù)值放大倍數(shù)(A)的限制:

        (11)

        其中,N為濾波器階次,max(xi)表示信號各系數(shù)的最大值.當然,在對系數(shù)進行放大的同時,應該考慮應用的精度需求.

        3 實驗結果與分析

        3.1 濾波器設計

        采用matlab軟件為設計工具,濾波器設計采用窗函數(shù)法,采用布萊克曼窗,濾波器點數(shù)取64點.設信號采樣率為256樣值/s,濾波器截至頻率為10Hz,濾波器時頻域特性如圖4所示:

        圖4 截至頻率為10Hz的FIR濾波器時頻特性

        3.2 濾波器數(shù)值變換

        表2 濾波器放大倍數(shù)實驗結果

        為使用STM32F10x數(shù)字信號處理庫,利用matlab設計的濾波器的系數(shù)需要進行變換,為保證每個系數(shù)的可見性,即通過數(shù)值變換后最小系數(shù)至少為0或1,按照濾波器階次,通過實驗得到各階次濾波器的放大倍數(shù),如表2所示.

        表2的實驗結果只是考慮了系數(shù)整數(shù)化以后的可見性,同時考慮公式(11)時,可以看到當濾波器點數(shù)為64點或128點時,如果信號的數(shù)值過大就會造成運算結果溢出,即超出表1中濾波器輸出數(shù)組的數(shù)據(jù)類型.

        3.3 基于STM32F10x的濾波結果分析

        實驗所用平臺采用STM32F107為主處理器的評估板,板上配有LCD顯示屏、網(wǎng)口、wifi模塊、zigbee模塊、傳感器等模塊,完全能夠滿足測試需求.

        假設采樣率為256樣點/s,以5 Hz和50 Hz組成原始信號,如圖6所示.

        圖6 被測信號時域及頻域特性

        設計10 Hz的濾波器,并整型化后的結果如圖7所示.

        圖7 整型化后的10Hz FIR濾波器

        對圖6所示原始信號進行濾波后的結果如圖8所示.

        圖8 原始信號經(jīng)過濾波器后的結果

        圖6的原始信號經(jīng)過如圖7的濾波器后,50 Hz的噪音信號已經(jīng)被完全濾除,圖8中的時域信號已經(jīng)可以被認為是5Hz的單頻信號,達到預期的FIR濾波器的效果.

        3.4 基于STM32F10x的濾波器性能分析

        表3 濾波器性能測試結果

        本節(jié)主要分析基于STM32F10x的時間特性,測試平臺依然采用STM32F107VC為主處理器,并且工作頻率設置在72 MHz.假設信號采樣率為256樣點/s,以表2所示階次濾波器為測試對象,以測試各階濾波器濾波1 s采樣信號(即256點信號)所耗時間,如表3所示.

        從表3實驗結果看,256階濾波器對128點信號的濾波時間僅為1.5 ms,濾波效率完全能夠滿足通常濾波器的需求.這里需要注意的是,64階和128階測試過程中,為了使濾波結果真實有效(即數(shù)據(jù)在運算過程中不發(fā)生越界),信號值控制在210以內(nèi),因此完全夠滿足常用的8位或10位,即STM32F10x平臺的片內(nèi)A/D能夠使用128階濾波器.

        4 結 論

        基于STM32F10x平臺,作者提出了FIR濾波器的設計與實現(xiàn)方法,包括濾波器在matlab平臺下的設計,及在STM32F10x平臺利用STM32F10x DSP Lib進行濾波器實現(xiàn)的整套方案,通過測試表明,濾波器的濾波結果與仿真要求一致,在72 MHz主頻下,以256/s采樣率,采用128階FIR濾波器對1 s數(shù)據(jù)的濾波器的時間僅為1.5 ms,完全滿足通常的濾波時間需求.

        參考文獻:

        [1] 李莉.數(shù)字信號處理原理和算法實現(xiàn)[M].北京:清華大學出版社,2010.

        [2] 章曉眉,趙冬娥,馮彥君,等.基于FPGA的FIR濾波器設計[J].電子質(zhì)量,2011(9):29-41.

        [3] 戴曜澤,王春雷,朱智強.基于FPGA高階FIR濾波器的實現(xiàn)[J].現(xiàn)代電子技術,2012,35(8):111-113.

        猜你喜歡
        濾波器濾波運算
        基于無擾濾波器和AED-ADT的無擾切換控制
        重視運算與推理,解決數(shù)列求和題
        有趣的運算
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        開關電源EMI濾波器的應用方法探討
        電子制作(2018年16期)2018-09-26 03:26:50
        “整式的乘法與因式分解”知識歸納
        撥云去“誤”學乘除運算
        基于TMS320C6678的SAR方位向預濾波器的并行實現(xiàn)
        RTS平滑濾波在事后姿態(tài)確定中的應用
        基于線性正則變換的 LMS 自適應濾波
        遙測遙控(2015年2期)2015-04-23 08:15:18
        欧美三级免费网站| 欧美激欧美啪啪片| 色吊丝中文字幕| 美女视频一区| 女同性恋亚洲一区二区| 中文字幕一二三四五六七区| 娜娜麻豆国产电影| 在线播放国产一区二区三区| 无码精品一区二区三区免费16 | 人妻尝试又大又粗久久| 久久亚洲精品无码va大香大香| 人妻少妇精品无码专区app| 九一精品少妇一区二区三区| 一本久久综合亚洲鲁鲁五月天| av蓝导航精品导航| 免费无码又爽又刺激又高潮的视频| 午夜桃色视频在线观看| 亚洲人成网站色7799| 人妻丰满熟妇av无码处处不卡| 99久久综合国产精品免费| 国产日产亚洲系列首页| 午夜精品久久久久久久99热| 国产精品成人av在线观看| 蜜桃av多人一区二区三区| 丝袜美腿视频一区二区| 亚洲色国产欧美日韩| 激情五月天伊人久久| 日韩一级精品亚洲一区二区精品| 国产人妻高清国产拍精品| 亚洲人成亚洲精品| 亚洲一区精品中文字幕| 国产精品人妻熟女男人的天堂| 日韩丰满少妇无码内射| 综合色久七七综合尤物| 国产av一区二区凹凸精品| 亚洲国产精品情侣视频| 国产大片黄在线观看| 国产第19页精品| 天堂av在线免费播放| 国产精品妇女一区二区三区| av潮喷大喷水系列无码|