《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP C54x的數(shù)字濾波器設(shè)計(jì)
基于DSP C54x的數(shù)字濾波器設(shè)計(jì)
摘要: 一個(gè)實(shí)際的應(yīng)用系統(tǒng)中,總存在各種干擾,。使用DSP進(jìn)行數(shù)字信號(hào)處理時(shí),可以從噪聲中提取信號(hào),,即對一個(gè)具有噪聲和信號(hào)的混合源進(jìn)行采樣,,然后經(jīng)過一個(gè)數(shù)字濾波器,,濾除噪聲,提取有用信號(hào),;數(shù)字濾波器是DSP最基本的應(yīng)用領(lǐng)域,,也是熟悉DSP應(yīng)用的重要環(huán)節(jié)。在系統(tǒng)設(shè)計(jì)中,,濾波器的好壞將直接影響系統(tǒng)的性能,。
Abstract:
Key words :

       前言

       一個(gè)實(shí)際的應(yīng)用系統(tǒng)中,,總存在各種干擾,。使用DSP進(jìn)行數(shù)字信號(hào)處理時(shí),可以從噪聲中提取信號(hào),,即對一個(gè)具有噪聲和信號(hào)的混合源進(jìn)行采樣,,然后經(jīng)過一個(gè)數(shù)字濾波器,濾除噪聲,,提取有用信號(hào),;數(shù)字濾波器是DSP最基本的應(yīng)用領(lǐng)域,也是熟悉DSP應(yīng)用的重要環(huán)節(jié),。在系統(tǒng)設(shè)計(jì)中,,濾波器的好壞將直接影響系統(tǒng)的性能。

       數(shù)字濾波器的基本理論和設(shè)計(jì)

       對于數(shù)字濾波器的系統(tǒng)函數(shù)可以表示為:

        公式
       可以直接寫成表示輸出與輸入的關(guān)系,即常系數(shù)線性差分方程:以下是IIR濾波器的表達(dá)式

       公式
        當(dāng)全部 公式, 即系統(tǒng)函數(shù)和單位抽樣響應(yīng),,則系統(tǒng)是FIR,。

       其濾波結(jié)構(gòu)圖如圖一所示——橫向?yàn)V波結(jié)構(gòu)

     橫向?yàn)V波器結(jié)構(gòu)圖

                                                     圖一 橫向?yàn)V波器結(jié)構(gòu)圖

      FIR濾波算法實(shí)際上是一種乘法累加運(yùn)算。它不斷輸入樣本,,經(jīng)延時(shí),,作乘法累加,再輸出濾波結(jié)果y(n),。在這里使用FIR濾波器,,它有以下幾個(gè)特點(diǎn): 

       (1)    系統(tǒng)的單位沖激響應(yīng)h(n)在有限個(gè)n值處不為零; 

       (2)    系統(tǒng)函數(shù)H(z)在|z|>0處收斂,,在|z|>0處只有零點(diǎn),,有限z平面只有零點(diǎn),而全部極點(diǎn)都在z=0處,;& nbsp;

       (3)    結(jié)構(gòu)主要是非遞歸結(jié)構(gòu),,沒有輸出到輸入的反饋。

       這本次設(shè)計(jì)中FTSK輸入數(shù)據(jù)中包含頻率為800HZ,,1200HZ,,1600HZ,2021HZ,,中心頻率為1600HZ,,提取該頻率的信號(hào),。利用 Matlab設(shè)計(jì)一個(gè)帶通濾波器。具體參數(shù)為:采樣頻率為22050HZ,,通帶寬度為250HZ,,則 Fpass1=1475HZ,F(xiàn)pass2=1725HZ,,衰減1db,,過渡帶為200HZ則Fstop1=1275HZ,F(xiàn)stop2=1925HZ,,阻帶衰減為30db,。運(yùn)行Matlab獲得126階的帶通濾波器,并提取系數(shù),。

       用線性緩沖區(qū)和帶移位雙操作數(shù)尋址方法實(shí)現(xiàn)FIR濾波器

       在這里介紹用線性緩沖區(qū)法實(shí)現(xiàn),,其特點(diǎn)是: 

       (1)    對于N級(jí)的FIR濾波器,在數(shù)據(jù)存儲(chǔ)區(qū)中開辟一個(gè)稱之為滑窗的N個(gè)單元的緩沖區(qū),,存放最新的N個(gè)輸入樣本,。 

       (2)    從最老的樣本開始,每讀一個(gè)樣本后,,將此樣本向下移位,。讀完最后一個(gè)樣本后,輸入最新樣本至緩沖區(qū)的頂部,。 


       在這里N=126,,y(n)=  公式 

       在數(shù)據(jù)存儲(chǔ)區(qū)中存放系數(shù)基于DSP C54x的數(shù)字濾波器設(shè)計(jì)圖示 ,并設(shè)置線性緩沖區(qū)存放輸入數(shù)據(jù),。

       具體實(shí)現(xiàn)程序如下:

.title        “simfir126.asm”
.        .global    _firinit    ;兩個(gè)匯編程序,,可作為C語言的調(diào)用,一個(gè)是初始化濾波器
        .global    _asmfir    ,;另一個(gè)是濾波器執(zhí)行程序
        .mmregs
X    .usect    “data1”,,127
        .bss        data1,1
SIZE    .set        127
        .data
COEF                    ,;從Matlab中獲得的濾波器系數(shù)
,;濾波器初始化
        _firinit:
        SSBX    FRCT
        STM    #X+(SIZE-1),AR2
        STM    #(SIZE-2),AR0
        RET
,;濾波器執(zhí)行:
        _asmfir:
        STL        A,,*AR2+0
        RPTZ    A,#(SIZE-2)
        MACD    *AR2-,,COEF,,A
        STH        A,*AR2
        LD        *AR2+,,A
        NOP
        NOP
        RETD
        NOP 
        NOP
        .END

 

       Simulator仿真結(jié)果分析與硬件調(diào)試

       仿真在系統(tǒng)調(diào)試中起著重要作用,,TI公司也提供了軟件仿真器(Simulator)來調(diào)試程序,。其中提供的探測點(diǎn)(Probe Point)功能非常強(qiáng)大,它是一個(gè)開發(fā)算法的工具,,將計(jì)算機(jī)文件數(shù)據(jù)傳送到目標(biāo)板的buffer提供DSP軟件應(yīng)用,,同時(shí)可以將計(jì)算結(jié)果輸出到計(jì)算機(jī)文件中供分析,也可以通過CCS提供的圖形窗口觀察輸入輸出數(shù)據(jù)情況,。

       在本次設(shè)計(jì)中利用CCS提供的斷點(diǎn)和探測點(diǎn),,指定FTSK數(shù)據(jù)文件的輸入點(diǎn),進(jìn)行相關(guān)設(shè)定,,同時(shí)利用CCS提供的圖形窗口觀察輸入和輸出的波形與頻譜,。運(yùn)行程序,分別得到輸入波形和頻譜圖(圖二),,輸出波形和頻譜圖(圖三)下面分別對這兩

 

個(gè)圖形進(jìn)行分析,。

 

       輸入波形和頻譜圖

                   輸入信號(hào)的波形和頻譜圖
                                       圖二    輸入信號(hào)的波形和頻譜圖

       由圖二輸入信號(hào)的波形圖可以看出,,輸入是有四個(gè)不同頻率調(diào)制的波形,。左邊第一種圖形在一個(gè)周期內(nèi)占大約1格,而一格所占的時(shí)間為 0.00605/10=0.605ms,,所以周期大約為T1=0.605*1=0.605ms,,頻率為1652Hz。最右邊的圖形一個(gè)周期內(nèi)約占0.8 格,,T2=0.605*0.8=0.484ms,,頻率約為2066Hz。中間的兩個(gè)圖形在一個(gè)周期內(nèi)分別約占2格和1.3格,,周期分別約為 T3=0.605*2=1.21ms,,頻率約為826Hz,T4=0.605*1.3=0.7865ms,,頻率約為1271Hz,。這四個(gè)頻率與輸入的 800Hz,1200Hz,,1600Hz,,2021Hz基本相同。由圖中的輸入頻譜同樣可以看出有四個(gè)頻率的輸入波形,,其頻率分別約為 2756*3/10=826.8Hz,,2756*4.5/10=1240Hz,2756*6/10=1653Hz,,2756*7.5 /10=2067Hz,,與輸入的800Hz,1200Hz,,1600Hz,,2021Hz基本接近,。
 < br>       輸出波形和頻譜圖

                輸出信號(hào)的波形和頻譜圖
                                  圖三    輸出信號(hào)的波形和頻譜圖

       由圖三中的輸出信號(hào)波形圖可以看出濾出的波形在一個(gè)周期中約占1格,而一格所占的時(shí)間0.00605/10=0.605ms,。頻率約為1652Hz,,與要求濾出1600Hz的要求接近。由圖三中的的頻譜圖可以看出濾出的頻譜圖的頻率約在第6格,,則濾出的頻率約為2756*6/10=1659Hz,,與所要求濾出1600Hz的要求接近。

       根據(jù)以上Simulator仿真和結(jié)果分析,,所設(shè)計(jì)的濾波器能夠很好的滿足濾波的要求,。Simulator仿真是在進(jìn)行系統(tǒng)設(shè)計(jì)中的一個(gè)重要環(huán)節(jié),有利于提高我們進(jìn)行硬件調(diào)試的成功率,。

 

       基于上面的結(jié)果,,利用TMS320C5402 DSK系統(tǒng)板進(jìn)行實(shí)驗(yàn),在一個(gè)AD/DA轉(zhuǎn)換的主循環(huán)中加入所設(shè)計(jì)的濾波器,,調(diào)節(jié)信號(hào)發(fā)生器,,對示波器進(jìn)行觀察,可以發(fā)現(xiàn)所用的濾波器能很好的滿足設(shè)計(jì)要求,。但程序的輸入與輸出數(shù)據(jù)讀寫語句要作相應(yīng)的修改,。
  
       結(jié)束語 

       在進(jìn)行數(shù)字濾波器設(shè)計(jì)時(shí),還需要以下幾點(diǎn): 

       (1)在用Matlab設(shè)計(jì)濾波器時(shí)采樣頻率一定要滿足奈奎斯特準(zhǔn)則,。當(dāng)采用帶通濾波器時(shí),,通帶寬度一般在200~300Hz,衰減一般為1db,,過渡帶一般在10

 

0~250Hz,,阻帶衰減一般在 30db。 

       (2)使用探針方法輸入數(shù)據(jù)時(shí),,一般要求輸入數(shù)據(jù)是16進(jìn)制的小數(shù)表示,,但如果輸入10進(jìn)制的也可以,但需在兩次確認(rèn)之后才可以輸入,。 

       (3)在圖形窗口觀察結(jié)果時(shí),,如果所觀察的圖形不明顯,可以通過設(shè)置幅度值來改善效果,。
總之,,濾波器設(shè)計(jì)是我們實(shí)際系統(tǒng)應(yīng)用中重要的一方面,相比傳統(tǒng)的R,,L,,C元件和運(yùn)算放大器組成的塊濾波器,更有發(fā)展的潛力,。

 

       參考文獻(xiàn): 

       1.    戴明楨 周建江編著,,TMS320C54x DSP結(jié)構(gòu),、原理及應(yīng)用,北京航空航天大學(xué)出版社,,2004 
       2.    鄭紅 吳冠編著,,TMS320C54x DSP 應(yīng)用系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,,2003 
       3.    程佩青編著,,數(shù)字信號(hào)處理教程(第二版),清華大學(xué)出版社,,2002

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。