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

基于微控制器數字濾波實現

2013-04-27 09:19:10譚家杰
衡陽師范學院學報 2013年6期
關鍵詞:單片機信號系統

譚家杰

(衡陽師范學院 物理與電子信息科學系,湖南 衡陽 421002)

0 引 言

數字濾波是語音信號處理、圖象處理、譜分析等領域中的一個基本處理技術。目前,數字濾波器的實現方式較多,主要集中在:通用計算機加軟件實現[1-3];專用 DSP(digital signal processor)芯片實現[4];可編程邏輯器件來開發數字濾波器[5-8];或用微控制器實現[8-12]。以微控制器為主要器件實現數字濾波器相對采用DSP器件或可編程邏輯器件要容易、簡單得多,在微控制器的濾波器實現方面主要有(1)微控制器濾波器算法研究[9]。(2)微控制器配合程控濾波模塊實現[10-13]。論文的濾波器系統以STC12C5A16S2微控制器為核心,該器件自帶10位A/D。系統配合 MAX538D/A轉換芯片,加上LCD1602顯示濾波類型,并輔之以按鍵來切換濾波算法。系統功能是對采樣數據進行濾波處理,系統實現的算法有:限幅濾波、中值濾波、算術平均濾波、加權平均濾波、滑動平均濾波五種濾波算法。

1 基本原理

微控制器(micro controller unit,MCU),俗稱單片機,其主要精于實時控制,不長于復雜的算法。微控制器實現數字濾波算法最大問題是微控制器的運行速度慢,尤其是基于51核的微控制器,它一般將外部晶振進行12分頻,器件運行速度大減。若將此類微控制器用于完成FIR、IIR濾波器有一定困難。因此,都采用微控制器配合其它器件來實現濾波器算法,如文獻[10]以可控放大器PGA203為核心實現濾波器;文獻[11]以AT89S52控制程控放大實現濾波;文獻[12-13]以微控制器控制集成開關電容有源濾波器MAX262來實現濾波;上述文獻進一步說明了傳統51微控制器不可能像DSP芯片那樣完成復雜的濾波運算。隨著微控制器技術的快速發展,它在運行速度方面有了很大改進。采用流水線指令結構,廢除機器周期的概念,指令以時鐘周期為運行單位,平均每一時鐘執行1條單周期指令,這方面主要有C8051F系列微控制器。精簡指令集CPU代替復雜指令集CPU,以字作為指令長度單位,可高速執行指令,這方面有AVR單片機。采用單時鐘概念,將機器周期從12個縮短至4到6個,這種器件如STC微控制器*。上述微控制器的進展為實現簡單算法濾波器提供了技術保障。

微控制器進行數據采樣時,電路存在相互干擾、電源噪聲、電磁噪聲,模擬輸入信號會疊加干擾信號。所以,微控制器進行數據采集時應該盡量減少噪聲信號對數據的影響,數據采集時的濾波稱為數據采集濾波。目前數據采集濾波方法主要分為時域處理和頻域處理,單片機簡單濾波是在時域上進行處理的。微控制器實現的簡單濾波算法有限幅濾波、中值濾波、算術平均濾波、加權平均濾波、滑動平均濾波,其原理如下:

(1)限幅濾波:該方法能有效克服系統偶然因素引起的脈沖干擾。它的基本原理是根據經驗確定兩次采樣允許的最大偏差值,如果本次采樣值與上次值的差小于等于偏差值,則本次采樣值有效。如果本次采樣值與上次值的差大于偏差值,選用上次值代替本次值。

(2)中值濾波:該方法適合參數變化緩慢的系統。其原理是連續N次采樣值按照大小排序,一般N為奇數,取中間值作為本次采樣值。完成此類算法,影響算法速度的是對N個值排序。要使濾波達到預期效果應盡量減少N的大小。

(3)算術平均濾波:選擇長度N至關重要,過長靈敏度較高,反之,靈敏度低。它的原理是以N個采樣值進行算術平均,以算術平均值作為當前采樣值[9]。

(4)加權平均濾波:它的原理是對連續N次采樣值分別乘上不同的加權系數之后再求加權平均,加權系數一般先小后大,即離當前采樣值的時間越近則權越大,并以加權平均值作為當前采樣值。

(5)滑動平均濾波:此方法適合周期性的干擾場合,對周期性干擾有較好的抑制作用。它的原理是連續采集N個采樣值作為隊列,將每次采樣一個新值作為隊尾,將隊首舍去,并將平均值作為當前采樣值[9]。

上述算法除限幅濾波較簡單外,其它四種濾波方式都有共同特點,即算法占用存儲器較多,相對限幅濾波算法復雜,它們占有的存儲資源和時間資源與采樣次數N成正比。如采用中值濾波時,長度過大,在排序時占有的時間資源就多。為克服缺點,一方面以連續N次采樣值作為隊列,當前采樣值作為隊尾并舍去隊首,然后根據不同算法得到當前值。另一方面N值不必過大,中值濾波和加權濾波長度為3,算術平均濾波和滑動平均濾波的長度為4。

2 系統設計

2.1 硬件設計

硬件設計時主要考慮因素有微控制器選擇、濾波算法選擇實現、濾波類型顯示方式及D/A轉換。

(1)微控制器的選擇。簡單濾波器系統以STC12C5A16S2微控制器為核心器件,主要原因在于它是單時鐘/機器周期(1T)器件,指令代碼兼容傳統8051,且速度則快8~12倍。器件自帶10位精度ADC,轉換速率達250KPS*,器件組成的系統可以直接對模擬信號進行采樣,可以減少硬件的復雜性。這種微控器工作頻率最高可達35MHz,相當于普通微控器的420MHz,設計時系統的外部時鐘可采用32.768MHz晶振。

(2)濾波算法選擇。設計輕觸按鈕接P3.0實現外部中斷,以供微處理器選擇實現濾波算法。其中接P3.0口的按鍵可以實現外部中斷,其優先級別最高,可在中斷服務中設置算法標志參數。它用于選擇濾波算法的類型有著獨特的優勢。

(3)濾波算法顯示。為了讓操作者系統執行的濾波具體算法,可用LCD1602實時顯示濾波器類型。其中,P0口可用于LCD1602寫數據、指令,程序僅對LCD1602進行寫操作,P0口無需上拉電阻。P4.7-P4.5接 LCD1602的控制端口,其中,P4.7用于寫數據或寫指令控制。P4.6用于寫控制,因此寫程序時P4.6口為低電平。P4.5接LCD1602的片選信號端口,其作用是下降沿觸發時用于鎖存數據。

(4)D/A轉換。將濾波后的數字信號進行DAC轉換,并用示波器觀察輸出的波形確定算法的效果。硬件系統的DAC可用美信公司的串行D/A轉換器件MAX538,它與微控制器的接口簡單,且單一5伏供源,內置12位串行緩沖器,輸出為電壓大小。根據它的工作時序,它的時鐘頻率上限為14 MHz,數據更新速率達877kHz[14]。因此,系統采用MAX538能滿足硬件要求。

綜合上述設計要點,設計的硬件系統如圖1所示。

2.2 軟件設計

軟件算法流程有著至關重要的作用,系統代碼采用C語言在Keil uVsion2.0集成環境中進行,為了有序地完成代碼,根據圖1的硬件設計了系統的算法流程如圖2所示。將系統程序分為前臺部分和后臺部分,其中前臺主要指是在主程序(main)中運行。在主程序主要完成A/D轉換初始化、系統初始化、LCD初始化。這三大模塊上電后前臺運行,其作用是完成各種初始化,完畢則等待中斷產生。

圖1 濾波器硬件

圖2 濾波算法流程圖

A/D轉換初始化主要完成以下工作:

(1)寫寄存器 P1M1、P1M0將 P1.7口設置為高阻態,僅為輸入。

(2)P1ASF寄存器將 P1.7口置‘1’,設置為模擬功能,注意P1ASF的地址為0x9d不能用位尋址,因此寫成以P1ASF|=0x80。

(3)設置A/D轉換控制寄存器ADC_CONTR。即,打開A/D轉換電源;選擇A/D轉換速度,轉換時間設置為90個機器周期完成一次;選擇轉換通道。同樣該寄存器不能用位尋址,設置時代碼為ADC_CONTR=0xe7。

系統初始化主要功能為:

(1)通過寫寄存器 P4SW、P4M1、P4M0 將P4.7、P4.6、P4.5置為通用IO準雙向口。

(2)設置AUXR寄存器,T0不進行12分頻以加快濾波節拍。

(3)設置定時器T0初始值,并開外部中斷0和定時計數器0中斷,但不啟動定時器T0,待LCD初始化完成后啟動定時計數器T0工作。

(4)初始濾波類型標志變量,并調用LCD1602子程序顯示濾波模式。

LCD初始化主要完成LCD1602的初始化工作,包括顯示模式、光標模式等。三個初始化子程序是有先后順序的,調用順序為先LCD初始化,然后A/D轉換初始化,最后系統初始化。

軟件的系統中斷服務為后臺運行,主程序初始化完成用while(1)等待中斷產生。如果有外部中斷時,運行中斷服務程序,根據濾波類型標志變量值選擇濾波類型。如果沒有外部中斷,系統一直等待定時計數器T0溢出,因此數字濾波器處理一次的時間長度是由TL0、TH0、A/D轉換時間、濾波子程序運行時間和D/A轉換時間決定的,稱這個時間為一拍。在定時計數器T0的中斷服務程序中,先關閉T0中斷,然后用分支轉向根據濾波類型標志變量值調用濾波子程序,再調DA轉換子程序,最后開T0中斷。其中,A/D轉換子程序查詢標志位完成,并放在濾波子程序中調用。軟件設計注意以下事項:

(1)中斷服務程序不能過長,盡量簡單。軟、硬件調試發現,在中斷服務程序中過多調用子程序,尤其是子程序嵌套調用容易出問題。

(2)盡量縮短一拍的時間,如,T0設置為1T,A/D轉換速度設為最快,濾波子程序盡量簡單。

(3)濾波算法問題,所有A/D轉換的數據暫存采用全局變量,因此為了減少存儲空間,用一個數組來存取采樣數據,并用隊列的形式存儲。

(4)A/D采樣用查詢方式,也是這種處理方式的缺點,這樣增加了一拍的時間,采用中斷方式可以節約時間,但是程序運行的可控性不好。

(5)寫代碼時注意寄存器是否能用位尋址,如P1M1、P1M0、P1ASF、P4M1、P4M0、P4SW、ADC_CONTR、AUXR。此類特殊寄存器必須先定義不用位尋址方式進行賦值。

3 系統實驗

3.1 實驗方案

系統實驗裝置是由信號源、濾波系統和示波器三大部分組成,具體實驗裝置的實物如圖3所示。為完成實驗,設計并制作了信號源,其原理是采用微控制器和DAC器件直接合成信號。信號源是圖3中的左邊箭頭所指電路板實物,右邊箭頭為微控制器濾波系統實物。信號源主要采用STC12C5410AD微控制器和 TLC5615D/A轉換器,其作用是產生所需信號。測試時,將信號接入濾波系統,然后測試濾波效果。

圖3 系統實驗裝置

信號源的波形數據先用matlab7.1軟件計算出,在仿真波形符合要求的情況下,得到測試波形數據,再寫入程序的數據表格。信號經過濾波能達到兩方面的效果,一方面能濾除不需要的頻率成分,另一方面能使信號到達平滑的效果。所以,實驗方案按照以下兩種情形完成。

(1)信號源產生正弦、鋸齒波、方波、三角波。由于信號是查表輸出的,信號的平滑性能不好,可將信號接入濾波系統,用示波器觀察濾波輸出,觀察濾波系統輸出的效果。

(2)信號源輸出具有周期脈沖噪聲的信號,濾波系統對這種信號進行采樣、濾波輸出,比較并觀察其濾波效果。

為了具體說明第二種具有噪聲信號的產生方式及效果,采用matlab7.1軟件產生帶有噪聲的信號,將修改好信號數據的文件下載至微控制器中。信號源上電后,用示波器觀察得如圖4所示的四種波形,即正弦、鋸齒、方波和三角波。這四種信號都含有周期的脈沖噪聲,在圖4中用箭頭所指的信號。這種情形下的實驗,是為了驗證濾波器能否濾除圖中的周期突發脈沖。如果按照情形(1)實驗,信號源的波形不含圖4中的周期脈沖。

圖4 帶有噪聲的信號

3.2 實驗效果

實驗時是將信號源的輸出信號送入系統濾波并對比五種濾波的效果。按照情況(1)進行實驗,以輸出信號的平滑程度為判斷標準。滑動濾波的效果最好,其次為中值濾波和加權濾波,效果較差的為限幅濾波。

由于實驗的圖片很多,僅將滑動濾波得到波形以圖5列出。

圖5 滑動平均濾波輸出波形

為測試情形(2)的濾波效果,同樣完成了四種波形的五種濾波方式,這里以正弦信號為例,五種算法得到的信號如圖6所示。圖中每種算法輸出信號,上圖是指濾波器輸入信號,下圖為濾波器輸出信號。其中,從輸出信號的平滑程度來看,從壞到好的排列順序為:限幅、中值、加權平均、平滑平均、算術平均。

圖6 帶有噪聲濾波輸出圖

4 結 論

在數據采樣中用微控制器實現簡單數字濾波算法具有系統簡單、易于實現,對于直接合成信號的平滑程度而言,采用滑動平均濾波的效果最好。對于周期的突發脈沖噪聲來說,采用算術平均輸出的效果較好。采用限幅噪聲濾波輸出的效果不佳。加權平均濾波要獲得較好的效果,當前采樣值的權重應該最大。采用微控制器,盡管選用速度較快的器件,但是存在濾波信號不能大于500Hz,這也是微控制器固有的弱點,如要完成更高頻率信號的濾波,可以考慮STM32M3系列器件完成。

*宏晶公司的STC12C5A60S2系列單片機器件手冊

[1]王斌.基于Visual DSP++的無限脈沖響應數字濾波器(IIR)設計 [J].電子元器件應用,2012,14(3):36-37.

[2]譚家杰.利用零極點設計數字帶陷濾波器 [J].計算機仿真,2011,28(7):379-381.

[3]鄧婷.基于 Matlab和DSP數字濾波器的設計與實現[J].科學技術與工程,2011,11(19):4597-4601.

[4]俞興明,周燕.基于DSP的在線FIR數字濾波器設計及實現 [J].國外電子測量技術,2010,29(5):52-55.

[5]張大為,姜靜,劉迪.基于FPGA的IIR低通數字濾波器的設計 [J].船電技術,2012,32(2):24-26.

[6]譚家杰,黃三偉,鄒常青.正則有符號系數FIR濾波器優化算法 [J].計算機應用,2011,31(6):1727-1729.

[7]李姮,田克純.一種基于FPGA的分布式FIR數字濾波器設計 [J].電聲技術,2012,36(10):29-32.

[8]孔陽,武杰,萬娟,等.基于FPGA和MCU的低成本地震信號數字濾波器設計 [J].核電子學與探測技術,2012,32(1):54-58.

[9]海玉,陳軍,錢獻芬.一種單片機數據采集系統的數字濾波器設計 [J].信息技術,2012(9):175-177.

[10]陳寒青,紀藝娟,丁時棟,等.單片機的可控放大器程控濾波器設計 [J].單片機與嵌入式系統應用,2011(5):63-66.

[11]陳世夏,戚甫峰,丁國臣.基于AT89S52單片機的程控濾波器設計 [J].國外電子測量技術,2010,29(3):39-42.

[12]趙世強,周義健,劉霞.基于單片機控制的程控有源濾波器電路 [J].國外電子元器件,2008(4):42-44.

[13]魏武,蘇波曉,潘彩梅.基于MAX262和單片機的程控濾波器設計 [J].電子元器件應用,2010,12(1):39-44.

[14]胡衛華,王冬,謝起成,等.串行D_A轉換器MAX538接口技術及應用 [J].工業儀表與自動化裝置,2002(3):46-48.

猜你喜歡
單片機信號系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 狼友视频一区二区三区| 欧美a√在线| 国产精品深爱在线| 国产91小视频在线观看 | 日韩123欧美字幕| 欧美成人午夜影院| 亚洲综合精品香蕉久久网| yjizz国产在线视频网| 54pao国产成人免费视频| 国产成人91精品| 日韩无码视频网站| 少妇精品网站| 日本一区二区三区精品AⅤ| 美女被操91视频| 亚洲婷婷六月| 精品一区二区三区四区五区| 成人av专区精品无码国产| 亚洲国产精品无码AV| 中国成人在线视频| 免费在线色| 国产国语一级毛片在线视频| 天天躁夜夜躁狠狠躁躁88| 国产精品林美惠子在线播放| 曰韩免费无码AV一区二区| 人人爱天天做夜夜爽| 2021国产v亚洲v天堂无码| 青青草一区| 国产欧美日韩免费| 日本精品视频一区二区| 国产精品成人久久| 精品亚洲麻豆1区2区3区| 少妇精品网站| a级毛片视频免费观看| 亚洲an第二区国产精品| 欧类av怡春院| 2021天堂在线亚洲精品专区| 性69交片免费看| 无码网站免费观看| 日本高清免费不卡视频| 国产精品va| 国产亚洲高清在线精品99| 亚洲欧美成人综合| 日韩欧美中文字幕一本| 最新加勒比隔壁人妻| 国产在线观看一区二区三区| 国内精品自在自线视频香蕉| 久久不卡国产精品无码| 青青操国产| 自拍亚洲欧美精品| 高潮毛片无遮挡高清视频播放 | 色婷婷亚洲综合五月| 亚洲日韩精品伊甸| 欧美日韩在线成人| 精品国产成人a在线观看| 在线高清亚洲精品二区| 国产精品无码作爱| 国产精品粉嫩| 亚洲天堂网视频| 亚洲天堂久久新| 国产色婷婷视频在线观看| 91色国产在线| 97精品伊人久久大香线蕉| 亚洲男人在线天堂| 四虎国产在线观看| 亚洲人成影视在线观看| 成人在线天堂| 午夜毛片福利| 草草影院国产第一页| 热久久国产| 欧美精品在线视频观看| 国产成人一区免费观看| 无码乱人伦一区二区亚洲一| 亚洲第一天堂无码专区| 亚洲国产天堂久久综合| 色老二精品视频在线观看| 亚洲大学生视频在线播放| 日韩欧美国产精品| 中文字幕无码中文字幕有码在线| 欧美午夜久久| 九九热视频在线免费观看| 国产精品熟女亚洲AV麻豆| 欧美精品亚洲日韩a|