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控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 欧美亚洲中文精品三区| 国产精品无码作爱| 妇女自拍偷自拍亚洲精品| 国产精品无码在线看| 久久久四虎成人永久免费网站| 91久久精品国产| 97国产精品视频人人做人人爱| 亚洲欧美综合在线观看| 色综合久久88色综合天天提莫| 一级毛片在线免费看| 丁香婷婷久久| 欧美国产在线一区| 天天色天天综合网| 国产97视频在线| 日韩a在线观看免费观看| 亚洲欧美人成电影在线观看| 女人毛片a级大学毛片免费| 国产精品人莉莉成在线播放| 99视频在线免费看| 亚洲中文字幕在线一区播放| 欧美成人午夜视频| 色综合色国产热无码一| 熟妇丰满人妻| 欧美狠狠干| 国产欧美日韩一区二区视频在线| 国产精品不卡片视频免费观看| 亚洲人成人无码www| 国产av无码日韩av无码网站 | 日韩福利在线观看| 亚洲一区无码在线| 亚洲一区色| 成人日韩视频| 国产免费久久精品99re不卡| 国产成人精品免费av| 精品视频91| swag国产精品| 亚洲最新地址| 小说区 亚洲 自拍 另类| 激情综合婷婷丁香五月尤物| 一区二区影院| 色噜噜狠狠狠综合曰曰曰| 伊人AV天堂| 91精品免费高清在线| 成人午夜网址| 国产女人综合久久精品视| 高清免费毛片| 婷婷六月综合网| 精品无码专区亚洲| 国产女主播一区| 亚洲无码精品在线播放| 日韩大乳视频中文字幕| 久久夜色精品| 精品国产99久久| 国产噜噜噜视频在线观看 | 亚洲第一视频网| 国产精品自拍合集| 亚洲无码91视频| 久久久91人妻无码精品蜜桃HD| 91蝌蚪视频在线观看| 色悠久久久久久久综合网伊人| 无码内射在线| 亚洲国产日韩在线成人蜜芽| 国产欧美专区在线观看| 秋霞国产在线| 亚洲精品成人片在线观看| 91精品伊人久久大香线蕉| 国产剧情无码视频在线观看| 国产毛片一区| 在线免费a视频| 亚洲国产日韩在线观看| 一级毛片不卡片免费观看| 999福利激情视频| 国产日本欧美在线观看| 国产正在播放| 在线色综合| 亚洲 欧美 偷自乱 图片 | 国产亚洲美日韩AV中文字幕无码成人| 操国产美女| 性欧美在线| 国产成人一区在线播放| 亚洲区视频在线观看| 亚洲精品日产精品乱码不卡|