• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    FIR濾波在嵌入式系統(tǒng)中的實(shí)現(xiàn)與優(yōu)化

    2012-10-30 05:22:02楊秀朋
    關(guān)鍵詞:數(shù)組嵌入式頻譜

    楊秀朋

    (貴州航天控制技術(shù)有限公司,貴陽 550009)

    FIR濾波在嵌入式系統(tǒng)中的實(shí)現(xiàn)與優(yōu)化

    楊秀朋

    (貴州航天控制技術(shù)有限公司,貴陽 550009)

    介紹FIR濾波器的基本原理以及滿足線性相位的條件,闡述了FIR濾波器的生成。從MATLAB得到的濾波器實(shí)現(xiàn)了在嵌入式中的移植,并進(jìn)行了計(jì)算優(yōu)化。通過對(duì)含有噪聲的數(shù)據(jù)處理結(jié)果表明,該方法在工程實(shí)踐中能滿足要求。

    FIR濾波器;MATLAB;嵌入式系統(tǒng);算法優(yōu)化

    在嵌入式系統(tǒng)的采集控制應(yīng)用系統(tǒng)中,采集到的原始信號(hào)往往是伴隨著一些不希望出現(xiàn)的噪聲。對(duì)噪聲的處理可以采用硬件濾波或軟件濾波。數(shù)字濾波器由于其精度高、穩(wěn)定性好、使用靈活等優(yōu)點(diǎn),隨著處理速度快、價(jià)格低廉的處理器的大量出現(xiàn),使得數(shù)字信號(hào)處理技術(shù)在眾多領(lǐng)域得到廣泛應(yīng)用。

    數(shù)字濾波器根據(jù)沖擊響應(yīng)函數(shù)的時(shí)域特征,可分為FIR(有限長(zhǎng)沖擊響應(yīng)濾波器)和IIR(無限長(zhǎng)沖擊響應(yīng)濾波器)。FIR濾波器與IIR濾波器相比,具有嚴(yán)格的線性相位,幅度特性可任意等優(yōu)點(diǎn)。應(yīng)用FIR數(shù)字濾波可以實(shí)現(xiàn)相位的完全同步,這對(duì)于在相位嚴(yán)格要求的數(shù)據(jù)處理中有著重要意義。

    MATLAB是一款功能很強(qiáng)大的工具軟件,可以利用MATLAB軟件中的工具箱完成運(yùn)算量大的頻譜分析以及濾波器生成等計(jì)算,從而克服嵌入式系統(tǒng)運(yùn)行速度限制。根據(jù)信號(hào)與系統(tǒng)原理,濾波在時(shí)域就是輸入信號(hào)與系統(tǒng)函數(shù)的卷積。因此在有了系統(tǒng)函數(shù)的基礎(chǔ)上,就容易在嵌入式系統(tǒng)中實(shí)現(xiàn)FIR濾波。

    1 有限沖擊響應(yīng)FIR具有線性相移的條件

    FIR數(shù)字濾波器設(shè)計(jì)是采用多項(xiàng)式:

    來逼近所要求的頻率特性指標(biāo)。由于它的單位沖擊響應(yīng)是有限長(zhǎng)的,所以FIR數(shù)字濾波器是穩(wěn)定的。由式(1)可以得到FIR數(shù)字濾波器的頻率響應(yīng):

    若要FIR數(shù)字濾波器具有嚴(yán)格線性相位,其相位和頻率成線性關(guān)系,即相頻特性滿足:

    雖然有初始相位θ0的存在,但它是一個(gè)群延遲并且是一個(gè)常數(shù),對(duì)于濾波輸出數(shù)據(jù)彌補(bǔ)相應(yīng)的θ0完全可以實(shí)現(xiàn)濾波前后的同步。FIR數(shù)字濾波器具有線性相位的充要條件[3]是:

    在式(4)中,N為濾波器的階數(shù),τ為濾波后的整體的延遲。在設(shè)計(jì)FIR濾波器時(shí)N(濾波器階數(shù))是已知的,因此整體導(dǎo)致的相移便是已知的,然后相應(yīng)地平移τ個(gè)點(diǎn),便可以實(shí)現(xiàn)相位同步。

    2 濾波器的參數(shù)生成

    FIR濾波器的設(shè)計(jì)任務(wù),就是要決定一個(gè)系統(tǒng)函數(shù)H(z),使它的頻率響應(yīng)滿足幅度以及相位要求。由于嵌入式系統(tǒng)應(yīng)用范圍相對(duì)專一,信號(hào)的特征可以預(yù)知,加之速度受到限制,因此可以借助一些上位機(jī)軟件(如MATLAB)來完成信號(hào)的頻域分析。在信號(hào)頻域分析的基礎(chǔ)上根據(jù)應(yīng)用需要確定相應(yīng)的濾波指標(biāo),最后完成濾波器生成。對(duì)于采樣頻率處于幾個(gè)固定值集合的情況,可以根據(jù)采樣頻率生成幾個(gè)濾波器,根據(jù)不同的采樣頻率分別調(diào)用,從而完成濾波運(yùn)算。

    系統(tǒng)函數(shù)H(z)在時(shí)域?qū)?yīng)h(n),h(n)是一個(gè)長(zhǎng)度為N的數(shù)組,將長(zhǎng)度為M的輸入信號(hào)input(n)與h(n)進(jìn)行卷積運(yùn)算,就可以得到濾波后的輸出。

    2.1 信號(hào)頻譜分析

    對(duì)于某系統(tǒng)采集的數(shù)據(jù)input[n]進(jìn)行頻譜分析,采樣頻率為2 000Hz,如圖1所示。

    圖1 原始輸入信號(hào)

    對(duì)上述信號(hào)頻譜分析的m語言調(diào)用函數(shù)以及注釋為:

    若上述信號(hào)采樣頻譜為2 000Hz,在MATLAB命令窗口中執(zhí)行 SpectrumAnalysis(input,2000),便可以得到原始信號(hào)的幅度譜如圖2所示。

    圖2 輸入信號(hào)的頻譜圖

    2.2 濾波參數(shù)確定

    從圖2可以看出有用信號(hào)的頻率分布在50Hz以內(nèi),故確定濾波器的指標(biāo)參數(shù)分別為:

    (1)低通濾波,通帶為50Hz,阻帶為100Hz、阻帶衰減80dB;

    (2)為了確保相位嚴(yán)格可控,采用FIR濾波;

    (3)為了確保所需頻率成分無衰減通過,用Kaiser窗來實(shí)現(xiàn)。

    在MATLAB命令窗口中輸入fdatool命令,可以得到濾波器分析與生成界面。在該界面下生成的系統(tǒng)函數(shù)的幅頻特性如圖3所示。

    圖3 滿足要求的FIR低通濾波器的頻譜

    從圖3可以看出,該濾波器在通帶范圍內(nèi)的衰減為0dB,這可以保證有用信號(hào)完全通過,高頻雜波的衰減不少于80dB,足以保證濾波需求。

    2.3 濾波器h(n)的生成

    在 MATLAB中利用 fdatool工具箱[3]按要求生成相關(guān)參數(shù)h(n),對(duì)于圖3設(shè)計(jì)的濾波器通過“導(dǎo)入至工作空間”的方法,在工作空間中將保留為一個(gè)名稱為h的歸一化一維數(shù)組,如圖4所示。該數(shù)組可以通過文本文檔保留下來,以后用在各種處理器中移植該濾波器算法時(shí),可以直接使用。

    圖4 將濾波器作為數(shù)組導(dǎo)出

    3 實(shí)現(xiàn)濾波以及相位同步

    3.1 FIR濾波的核心代碼

    設(shè)輸入信號(hào)為input(n),長(zhǎng)度為M;濾波器數(shù)組為h(n),長(zhǎng)度為N,濾波后的輸出為output(n)。FIR實(shí)現(xiàn)濾波的核心代碼為:

    圖5 原始數(shù)據(jù)及低通濾波后的數(shù)據(jù)

    3.2 FIR濾波實(shí)現(xiàn)相位同步

    卷積實(shí)現(xiàn)濾波會(huì)有一定的相位延遲,但由于是FIR濾波,相位是嚴(yán)格可控的。設(shè)輸入信號(hào)input(n)的長(zhǎng)度為M,系統(tǒng)函數(shù)h(n)的階數(shù)為N(長(zhǎng)度為N+1),卷積之后得到輸出y(n)的長(zhǎng)度為M+N,其中相位滯后N/2個(gè)點(diǎn)。根據(jù)式(4)得知去掉頭部N/2個(gè)點(diǎn)后取M個(gè)點(diǎn),即可實(shí)現(xiàn)輸出與輸入同相位。

    4 運(yùn)算速度分析以及優(yōu)化

    上述濾波方法在Samsung公司的44B0處理器中運(yùn)行結(jié)果為:當(dāng)進(jìn)行2 000個(gè)點(diǎn)的60階FIR濾波運(yùn)算,總的運(yùn)算時(shí)間約為108ms。這意味著采集1s鐘的數(shù)據(jù)只需要108ms來進(jìn)行濾波計(jì)算,這對(duì)于進(jìn)行濾波處理運(yùn)算速度是足夠的,但如果該嵌入式系統(tǒng)的采樣頻率更高時(shí),或者還有更多的事情要做時(shí),減少運(yùn)算時(shí)間就顯得更有必要。

    4.1 從算法原理進(jìn)行優(yōu)化

    根據(jù)FIR濾波器原理[4],系統(tǒng)函數(shù)描述如下:

    b(r),r=0,1,…,N分別等于該系統(tǒng)的單位抽樣響應(yīng) h(r),r=0,1,2,…,N。

    當(dāng)h(n)=±h(N-n)時(shí),對(duì)應(yīng)的FIR系統(tǒng)具有線性相位,該濾波器具有對(duì)稱性。因此線性相位結(jié)構(gòu)就可以少用N/2個(gè)循環(huán)。那么此時(shí)實(shí)現(xiàn)濾波運(yùn)算的核心代碼便可以改為:

    上述的運(yùn)算代碼比優(yōu)化前的代碼少了一半的循環(huán)運(yùn)算,顯然提高了運(yùn)算速度。將上述m語言代碼移植到Samsung公司的44B0處理器中運(yùn)行2 000個(gè)點(diǎn)的60階FIR濾波,需要的時(shí)間便由此前的108ms降至72ms左右,明顯提高了運(yùn)算速度。

    4.2 對(duì)C語言代碼進(jìn)行優(yōu)化

    在嵌入式C語言中,對(duì)于數(shù)據(jù)量大的數(shù)組采用指針來進(jìn)行計(jì)算可明顯提高運(yùn)算速度。為了提高運(yùn)行效率,將這三個(gè)數(shù)組全改為指針運(yùn)算,經(jīng)過示波器測(cè)試觀察,運(yùn)行時(shí)間約為52ms。這跟優(yōu)化前的108ms相比,執(zhí)行效率提高了1倍。

    5 其他通帶類型濾波器設(shè)計(jì)

    其濾波器的設(shè)計(jì)跟上述低通濾波器的實(shí)現(xiàn)過程是一致的,在這里簡(jiǎn)要地以設(shè)計(jì)帶通濾波器來予以說明。

    根據(jù)圖2的分析結(jié)果,表明該原始信號(hào)在100~150Hz之間有一個(gè)較大的頻率分量,如果我們需要分析該分量的時(shí)域波形,就可以用一個(gè)帶通濾波器來實(shí)現(xiàn)。確定帶通的參數(shù)以及濾波器的幅頻特性如圖6所示。

    圖6 滿足要求的FIR帶通濾波器的頻譜

    根據(jù)圖6生成的濾波器,將濾波器作為數(shù)組導(dǎo)出及后續(xù)的實(shí)現(xiàn)濾波計(jì)算與前面講述的低通濾波過程完全相同,這里不做贅述。原始信號(hào)經(jīng)過帶通的數(shù)據(jù)如圖7所示。

    從圖7可以看出,當(dāng)信號(hào)經(jīng)過帶通濾波器后,直流分量、低頻分量和高頻分量都已經(jīng)被濾除掉,整個(gè)信號(hào)的包絡(luò)呈現(xiàn)出規(guī)律的衰減趨勢(shì),這已經(jīng)達(dá)到了濾波效果。

    圖7 原始數(shù)據(jù)帶通濾波后的效果

    6 結(jié) 論

    本文所設(shè)計(jì)的FIR濾波能無相位失真地滿足濾波效果,在單片機(jī)中進(jìn)行C語言移植后,其運(yùn)算速度能滿足在嵌入式系統(tǒng)中的應(yīng)用要求。本文提出的實(shí)現(xiàn)方法,對(duì)于FIR濾波在其他嵌入式系統(tǒng)中的應(yīng)用提供了一定的借鑒作用。

    [1]西蒙·赫金.信號(hào)與系統(tǒng)[M].北京:電子工業(yè)出版社,2004.

    [2]程佩青.數(shù)字信號(hào)處理教程:第3版[M].北京:清華大學(xué)出版社,2007.

    [3]王彬.MATLAB數(shù)字信號(hào)處理[M].北京:機(jī)械工業(yè)出版社,2010.

    [4]胡廣書.數(shù)字信號(hào)處理——理論、算法與實(shí)現(xiàn):第2版[M].北京:清華大學(xué)出版社,2003.

    Realization and Optimization of FIR Filters in Embedded System

    YANG Xiupeng
    (Guizhou Space Control Technology Co.,LTD,Guiyang 550009)

    This paper introduces basic principle and the linear phase condition of the FIR filters,and the generation of the FIR filters with MATLAB tools is elaborated.The transplanting of the FIR filters getting from MATLAB is completed in embedded system,and computational optimization is achieved.By the processing of noisy data,the method proposed in this paper can meet requirements of engineering practice.

    FIR filters;MATLAB;embedded system;computational optimization

    TP302

    A

    1673-1980(2012)05-0154-04

    2012-05-03

    楊秀朋(1983-),男,土家族,貴州思南人,碩士,研究方向?yàn)橛吞餃y(cè)試設(shè)備的信號(hào)處理。

    猜你喜歡
    數(shù)組嵌入式頻譜
    JAVA稀疏矩陣算法
    一種用于深空探測(cè)的Chirp變換頻譜分析儀設(shè)計(jì)與實(shí)現(xiàn)
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    一種基于稀疏度估計(jì)的自適應(yīng)壓縮頻譜感知算法
    搭建基于Qt的嵌入式開發(fā)平臺(tái)
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    認(rèn)知無線電頻譜感知技術(shù)綜述
    尋找勾股數(shù)組的歷程
    Altera加入嵌入式視覺聯(lián)盟
    倍福 CX8091嵌入式控制器
    淮南市| 峨眉山市| 荆门市| 孝昌县| 昭平县| 江都市| 马公市| 东宁县| 从江县| 永和县| 石台县| 滨海县| 达尔| 子洲县| 神木县| 平果县| 玛纳斯县| 芮城县| 佛坪县| 嫩江县| 阿克陶县| 常熟市| 镇雄县| 友谊县| 静海县| 瓦房店市| 巴彦淖尔市| 闽侯县| 勃利县| 黎城县| 衡东县| 广州市| 大厂| 博白县| 敦化市| 利辛县| 和田市| 孟连| 仪征市| 永宁县| 益阳市|