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

基于微控制器數(shù)字濾波實現(xiàn)

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

譚家杰

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

0 引 言

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

1 基本原理

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

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

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

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

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

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

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

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

2 系統(tǒng)設計

2.1 硬件設計

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

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

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

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

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

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

2.2 軟件設計

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

圖1 濾波器硬件

圖2 濾波算法流程圖

A/D轉(zhuǎn)換初始化主要完成以下工作:

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

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

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

系統(tǒng)初始化主要功能為:

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

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

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

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

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

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

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

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

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

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

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

3 系統(tǒng)實驗

3.1 實驗方案

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

圖3 系統(tǒng)實驗裝置

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

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

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

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

圖4 帶有噪聲的信號

3.2 實驗效果

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

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

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

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

圖6 帶有噪聲濾波輸出圖

4 結(jié) 論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜歡
單片機信號系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(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的多功能信號發(fā)生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 午夜国产在线观看| 99久久精品国产精品亚洲 | 欧美天堂久久| 99在线国产| 亚洲综合色区在线播放2019 | 亚洲va欧美ⅴa国产va影院| 日韩欧美一区在线观看| 亚洲精品视频网| 亚洲第一成年网| 亚洲欧美激情小说另类| 亚洲无限乱码一二三四区| 超清无码一区二区三区| 亚洲精品无码不卡在线播放| 久久久久久午夜精品| 欧洲高清无码在线| 香蕉综合在线视频91| 国产十八禁在线观看免费| 老司机久久99久久精品播放 | 久久婷婷国产综合尤物精品| 波多野结衣视频一区二区| 91精选国产大片| 67194亚洲无码| 99re在线观看视频| 三上悠亚一区二区| www.亚洲一区| 极品国产一区二区三区| 2021国产v亚洲v天堂无码| 国产在线第二页| 高清不卡毛片| 国内精品伊人久久久久7777人| 精品视频在线观看你懂的一区 | 97无码免费人妻超级碰碰碰| 国产精品高清国产三级囯产AV| 蝴蝶伊人久久中文娱乐网| 亚洲成aⅴ人片在线影院八| 国产jizz| 亚洲成人精品久久| 污网站免费在线观看| 91无码人妻精品一区| 亚洲欧洲一区二区三区| 国产精品美女免费视频大全| 2018日日摸夜夜添狠狠躁| 国产精品女在线观看| 55夜色66夜色国产精品视频| 毛片在线播放网址| 女人一级毛片| 色天堂无毒不卡| 欧美激情视频一区| 老司机aⅴ在线精品导航| 日韩欧美国产精品| 美女视频黄又黄又免费高清| 最新加勒比隔壁人妻| 国产精品13页| 网友自拍视频精品区| 国产免费一级精品视频| 欧美中文字幕无线码视频| 日韩在线2020专区| 国产十八禁在线观看免费| 精品无码一区二区三区电影| 国产成人精品亚洲77美色| 久久精品电影| 国产乱人乱偷精品视频a人人澡| 日韩精品一区二区三区swag| 国产综合无码一区二区色蜜蜜| 国产哺乳奶水91在线播放| 亚洲无码高清一区二区| 欧美一级一级做性视频| 国产资源站| 色播五月婷婷| 99这里精品| 伊人色在线视频| 国产XXXX做受性欧美88| 丁香婷婷激情综合激情| 久久a级片| 国产成人精品综合| 一区二区自拍| 精品国产www| 亚洲视频一区| 毛片网站免费在线观看| 91青青视频| 91区国产福利在线观看午夜| 国产真实乱了在线播放|