999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32F10x的FIR濾波器設計與實現

2013-12-18 08:51:22,,,,
關鍵詞:信號設計

,,,,

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

0 引 言

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

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

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

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

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

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

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

(1)

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

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

θ(ω)=-τω,

(2)

θ(ω)=θ0-τω.

(3)

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

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

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

圖2 直接型FIR濾波器結構

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

2 基于STM32F10x數字信號處理器庫的FIR濾波器實現原理

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

表1 STM32F10x DSP library中FIR濾波器函數原型

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

其中,h為濾波器系數,nh為濾波器階次.

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

(6)

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

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

(7)

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

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

N=L-M.

(8)

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

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

-215≤xi≤215-1 .

(9)

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

(10)

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

圖3 濾波器系數的數值變化框圖

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

(11)

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

3 實驗結果與分析

3.1 濾波器設計

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

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

3.2 濾波器數值變換

表2 濾波器放大倍數實驗結果

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

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

3.3 基于STM32F10x的濾波結果分析

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

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

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

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

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

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

圖8 原始信號經過濾波器后的結果

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

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

表3 濾波器性能測試結果

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

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

4 結 論

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

參考文獻:

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

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

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

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 婷婷在线网站| 色欲综合久久中文字幕网| 国产人成网线在线播放va| 伊人久综合| 国产亚洲精品97AA片在线播放| 中文字幕日韩久久综合影院| 免费高清毛片| 中文字幕va| 91在线视频福利| 日韩经典精品无码一区二区| 亚洲午夜综合网| 青草娱乐极品免费视频| 国产女人爽到高潮的免费视频| 无码一区中文字幕| 制服丝袜一区二区三区在线| 国产一区二区丝袜高跟鞋| 欧美一级一级做性视频| 亚洲欧美极品| 亚洲中文字幕无码爆乳| 亚洲成人免费在线| 夜夜操天天摸| 五月激情综合网| 亚洲成人在线网| 青青青视频91在线 | 国产精品久久久久婷婷五月| 91精品日韩人妻无码久久| 久久久精品无码一二三区| 欧美a在线看| 人妻中文久热无码丝袜| 色婷婷成人| 日本人又色又爽的视频| 亚洲成肉网| 国产成人1024精品| 免费一级α片在线观看| 国产成人高清精品免费软件| 大学生久久香蕉国产线观看| 欧美黄网站免费观看| 99久久性生片| 91精品国产91久久久久久三级| 午夜毛片免费看| 有专无码视频| 又猛又黄又爽无遮挡的视频网站| av在线人妻熟妇| 精品视频在线一区| 国产女人爽到高潮的免费视频 | 欧美日韩免费| 国产喷水视频| 波多野结衣无码视频在线观看| 精品久久久久久中文字幕女| 日本高清免费一本在线观看 | 尤物视频一区| 欧洲熟妇精品视频| 国产精品无码AV片在线观看播放| 毛片网站观看| www.狠狠| 久久国产精品波多野结衣| 国产精品免费福利久久播放 | 试看120秒男女啪啪免费| 国产全黄a一级毛片| 久热这里只有精品6| 91青青草视频| 天天综合亚洲| 久久久成年黄色视频| 国产99热| 不卡视频国产| 亚洲一区二区成人| 国产精品自拍露脸视频| 超薄丝袜足j国产在线视频| 麻豆精品在线视频| 国产性生交xxxxx免费| 澳门av无码| 69综合网| 欧美成人国产| 亚洲欧洲日韩久久狠狠爱| 丰满人妻一区二区三区视频| 久久精品人人做人人| 国产国模一区二区三区四区| 性网站在线观看| 国产色婷婷视频在线观看| 日韩精品一区二区三区中文无码| 免费jjzz在在线播放国产| 在线毛片网站|