国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 數(shù)字濾波器的MATLAB設計與DSP上的實現(xiàn) [打印本頁]

作者: 蹦蹦    時間: 2010-3-1 22:32
標題: 數(shù)字濾波器的MATLAB設計與DSP上的實現(xiàn)
引言

隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理已成為今一門極其重要的學科和技術領域。數(shù)字信號處理在通信、語音、圖像、自動控制、雷達、軍事、航空航天、醫(yī)療和家用電器等眾多領域得到了廣泛的應用。在數(shù)字信號處理應用中,數(shù)字濾波器十分重要并已獲得廣泛應用。

1 數(shù)字濾波器的設計

1.1 數(shù)字濾波器設計的基本步驟

數(shù)字濾波器根據其沖激響應函數(shù)的時域特性,可分為兩種,即無限長沖激響應(IIR)濾波器和有限長沖激響應(FIR)濾波器。IIR濾波器的特征是,具有無限持續(xù)時間沖激響應。種濾波器一般需要用遞歸模型來實現(xiàn),因而有時也稱之為遞歸濾波器。FIR濾波器的沖激響應只能延續(xù)一定時間,在工程實際中可以采用遞歸的方式實現(xiàn),也可以采用非遞歸的方式實現(xiàn)。數(shù)字濾波器的設計方法有多種,如雙線性變換法、窗函數(shù)設計法、插值逼近法和Chebyshev逼近法等等。隨著MATLAB軟件尤其是MATLAB的信號處理工作箱的不斷完善,不僅數(shù)字濾波器的計算機輔助設計有了可能,而且還可以使設計達到最優(yōu)化。

數(shù)字濾波器設計的基本步驟如下:

(1)確定指標

在設計一個濾波器之前,必須首先根據工程實際的需要確定濾波器的技術指標。在很多實際應用中,數(shù)字濾波器常常被用來實現(xiàn)選頻操作。因此,指標的形式一般在頻域中給出幅度和相位響應。幅度指標主要以兩種方式給出。第一種是絕對指標。它提供對幅度響應函數(shù)的要求,一般應用于FIR濾波器的設計。第二種指標是相對指標。它以分貝值的形式給出要求。在工程實際中,這種指標最受歡迎。對于相位響應指標形式,通常希望系統(tǒng)在通頻帶中人有線性相位。運用線性相位響應指標進行濾波器設計具有如下優(yōu)點:①只包含實數(shù)算法,不涉及復數(shù)運算;②不存在延遲失真,只有固定數(shù)量的延遲;③長度為N的濾波器(階數(shù)為N- 1),計算量為N/2數(shù)量級。因此,本文中濾波器的設計就以線性相位FIR濾波器的設計為例。

(2)逼近

確定了技術指標后,就可以建立一個目標的數(shù)字濾波器模型。通常采用理想的數(shù)字濾波器模型。之后,利用數(shù)字濾波器的設計方法,設計出一個實際濾波器模型來逼近給定的目標。

(3)性能分析和計算機仿真
上兩步的結果是得到以差分或系統(tǒng)函數(shù)或沖激響應描述的濾波器。根據這個描述就可以分析其頻率特性和相位特性,以驗證設計結果是否滿足指標要求;或者利用計算機仿真實現(xiàn)設計的濾波器,再分析濾波結果來判斷。

1.2 濾波器的MATLAB設計

(1)MATLAB

MATLAB是一套用于科學計算的可視化高性能語言與軟件環(huán)境。它集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,構成了一個界面友好的用戶環(huán)境。它的信號處理工具箱包含了各種經典的和現(xiàn)代的數(shù)字信號處理技術,是一個非常優(yōu)秀的算法研究與輔助設計的工具。在設計數(shù)字濾波器時,通常采用 MATLAB來進行輔助設計和仿真。

(2)FIR濾波器的MATLAB設計

下面以設計線性相位FIR濾波器為例介紹具體的設計方法。

線性相位FIR濾波器通常采用窗函數(shù)法設計。窗函數(shù)法設計FIR濾波器的基本思想是:根據給定的濾波器技術指標,選擇濾波器長度N和窗函數(shù) ω(n),使其具有最窄寬度的主瓣和最小的旁瓣。其核心是從給定的頻率特性,通過加窗確定有限長單位脈沖響應序列h(n)。工程中常用的窗函數(shù)共有6種,即矩形窗、巴特利特(Bartlett)窗、漢寧(Hanning)窗、漢明(Hamming)窗、布萊克曼(Blackman)窗和凱塞(Kaiser)窗。

假設實際工程需要設計一個線性相位帶通FIR濾波器指標如下:
fn=[1000,1375,3625,4000];
a=[0,1,0];
dev=[0.0005,0.05,0.0005];

阻帶最小衰減60dB,再設采樣頻率fs=10kHz,則根據阻帶最小衰減來選擇凱塞(Kaiser)窗,利用MATLAB的求階函數(shù)和FIR濾波器的設計函數(shù),可以快速地設計出所需的數(shù)字濾波器。這兩個設計函數(shù)如下:
[N,Wn,beta,ftype]=kaiserord(fn,a,dev,fs);
b=fir1(n,Wn,ftype,Kaiser(n+1,beta);

最后,利用的濾波器分析函數(shù)freqz分析所設計出的濾波器的幅頻特性和相頻特性,并用圖形顯示函數(shù)plot將它們顯示出來,如圖1所示。由圖1可見,設計結果滿足指標要求。



2 數(shù)字濾波器的實現(xiàn)方法

數(shù)字濾波器的實現(xiàn)方法一般有以下幾種。
①采用加法器、乘法器、延時器設計專用的濾波電路。
②在通用計算機系統(tǒng)中加上專用的加速處理機設計實現(xiàn)。
③用通用的可編程DSP芯片實現(xiàn)。
④用專用的DSP芯片實現(xiàn)。在一些特殊的場合,要求的信號處理速度極高,用通用DSP芯片很難實現(xiàn)。這種芯片將相應的濾波算法在芯片內部用硬件實現(xiàn),無需進行編程。
⑤采用FPGA/CPLD設計實現(xiàn)。

在上述幾種方法中,第②種方法的缺點是速度較慢,一般可用于DSP算法的模擬。第①、④種方法專用性強,應用受到很大的限制。第③、⑤種方法都可以通過編程來實現(xiàn)各種數(shù)字濾波,但是,第③種因有專用的指令來實現(xiàn)濾波運算編程實現(xiàn)容易,而第⑤種方法編程實現(xiàn)較為困難。

3 數(shù)字濾波器的DSP實現(xiàn)

DSP是一種實時、快速、特別適合于實現(xiàn)各種數(shù)字信號處理運算的微處理器。由于它由具有豐富的硬件資源、改進的哈佛結構、高速數(shù)據處理能力和強大的指令系統(tǒng),而在通信、航空、航天、雷達、工業(yè)控制、網絡及家用電器等各個領域得到廣泛應用。DSP分為定點和浮點兩種,下面以定點DSP芯片為例,討論FIR濾波器實現(xiàn)的幾個關鍵問題。所討論的這些問題,在DSP系統(tǒng)設計中有實際的參考和應用價值。

3.1 定點數(shù)的定標

在定點DSP芯片中,采用定點數(shù)進行數(shù)值運算,其操作數(shù)一般采用整型數(shù)來表示。一個整型數(shù)的最大表示范圍取決于DSP芯片所給定的字長,一般為 16位或24位。顯然,字長越長,所能表示的數(shù)的范圍越大,精度也越高。在濾波器的實現(xiàn)過程中,DSP所要處理的數(shù)可能是整數(shù),也可能是小數(shù)或混合小數(shù);然而,DSP在執(zhí)行算術運算指令時,并不知道當前所處理的數(shù)據是整數(shù)還是小數(shù),更不能指出小數(shù)點的位置在哪里。因此,在編程時必須指定一個數(shù)的小數(shù)點處于哪一位,這就是定標。通過定標,可以在16位數(shù)的不同位置上確定小數(shù)點,從而表示出一個范圍大小不同且精度也不同的小數(shù)。例如:在Q15 中,1080H=0.12890625;在Q0時,1080H=4224。

在使用定點DSP時,如何選擇合適的Q值是一個關鍵性問題。就DSP運算的處理過程來說,實際參與運算的都是變量,有的是未知的,有的則在運算過程中不斷改變數(shù)值,但它們在一實際工程環(huán)境中作為一個物理參量而言都有一定的動態(tài)范圍。只要個動態(tài)范圍確定了,Q值也就確定了。因此,在程序設計前,首先要通過細致和嚴謹?shù)姆治觯页鰠⑴c運算的所有變量的變化范圍,充分估計運算中可能出現(xiàn)的各種情況,然后確定采用何種定標標準才能保證運算結果正確可靠。這里,所討論的理論分析法和統(tǒng)計分析法確定變量絕對值最大值|max|,然后根據|max|再確定Q值。但是,DSP操作過程中的意外情況是無法避免的,即使采用統(tǒng)計分析法也不可能涉及到所有情況。因此,在定點運算過程中應該采取一些判斷和保護措施(特別是在定點加法中)。另外,在數(shù)字信號處理中的大量運算是乘法和累加,應盡量采用純整數(shù)或純小數(shù)運算,即全部變量都用Q0或Q15格式表示。這樣做的好處是操作簡單、編程方便。只有當純整數(shù)或純小數(shù)運算不能滿足變量的動態(tài)范圍和精度要求時,才采用混合小數(shù)表示法進行定點運算。

3.2 誤差問題

因為在用定點DSP實現(xiàn)時,所有的數(shù)據都是定長的,運算也都是定點運算,因而會產生有限字長效應。所產生的誤差主要包括:數(shù)模轉換引起的量化誤差、系數(shù)量化引起的誤差以及運算過程中的舍入誤差。在用定點DSP時,產生誤差是不能避免的,但是可以通過一些方法減小誤差。如,可以用兩個存儲單元來表示一個數(shù),運算時使用雙字運算;可以根據需要要將濾波器系數(shù)都用雙字表示,也可以只將一半的系數(shù)用雙字表示,視需要而定。另外,F(xiàn)IR數(shù)字濾波器和IIR 數(shù)字濾波器所引入的量化誤差是不一樣的。FIR數(shù)字濾波器主要采用非遞歸結構,因而在有限精度的運算中都是穩(wěn)定的;而IIR數(shù)字濾波器是遞歸結構,極點必須在z平面單位圓內才能穩(wěn)定,這種結構運算中的四舍五入處理有時會引起寄生振蕩。除了有限字長效應以外,不同結構引入的誤差也有所不同。在實際設計中,要注意實現(xiàn)中的誤差問題。在選擇不同的結構時,應考慮它們所引入的誤差,并用高級語言進行定點仿真,以比較不同結構下誤差的大小,從而作出合理選擇。

3.3 循環(huán)尋址

循環(huán)尋址(circular addressing)是DSP中經常用到的一種尋址方式。該尋址方法可以對一塊特定存儲區(qū)實現(xiàn)循環(huán)的操作。可以把循環(huán)尋址理解為實現(xiàn)一個滑動窗,新數(shù)據引入后將覆蓋老的數(shù)據,便得該窗中包含了需處理的最新數(shù)據。在數(shù)字信號處理中的FIR、卷積等運算中,循環(huán)尋址具有極其重要的意義。

在TI的DSP中,循環(huán)尋址通過如下方法實現(xiàn)。
①設定BK(寄存器塊大小)值,以確定循環(huán)尋址緩沖區(qū)的大小,也可將它看作是循環(huán)的周期。
②設定緩沖區(qū)的底部地址。必須注意:其低N位為零,其中N為滿足式(1)的最小N值。
2 N>BK (1)
③用輔助寄存器間接尋址循環(huán)緩沖區(qū)。

圖2 輸入數(shù)據頻譜圖 圖3 輸出數(shù)據頻譜圖



3.4 實現(xiàn)舉例

根據上述設計出來的FIR濾波器,考慮工程實際的需要(精度的要求)和采用定點DSP芯片的方便實現(xiàn),選擇Q15定標。為此,必須對輸入數(shù)據和濾波器的系數(shù)進行歸一化處理。輸入數(shù)據的歸一化處理可通過設置A/D轉換的參考電平來實現(xiàn)。濾波器的系數(shù)歸一化只要求取系數(shù)中的最大值,再用這個最大值去系數(shù)便可。

由于一個N(設N為偶數(shù))階的FIR濾波器具有系數(shù)對稱特性,其輸出方程可以寫為:
y(n)=ao[x(n)+x(n-N+1)]+a1[x(n-1)+x(n-N+2)]+…+aN/2-1[X(n-N/2+1)+x(n-N/2)] (2)

根據式(2)可建立如下實現(xiàn)算法:
①在數(shù)據存儲中開辟兩個循環(huán)緩沖區(qū),New循環(huán)緩沖區(qū)存放新數(shù)據,O1d循環(huán)緩沖區(qū)中存放老數(shù)據。循環(huán)緩沖區(qū)的長度為N/2。
②設置循環(huán)緩沖區(qū)指針,AR2指向New緩沖區(qū)中最新的數(shù)據,AR3指向O1d緩沖區(qū)中最老的數(shù)據。
③在程序存儲器中設置系數(shù)表。
④(AR2)+(AR3)→AH(累加器A的高位);(AR2)-1→AR2;(AR3)-1→AR3。
⑤將累加器B清零,重復執(zhí)行下列操作N/2次:(AH)*系數(shù)ai+(B)→B,系數(shù)指針(PAR)加1,(AR2)+(AR3)→AH,AR2和AR3減1。
⑥保存和輸出結果(結果在BH中)。
⑦修正數(shù)據指針,讓AR2和AR3分別指向New緩沖區(qū)最新數(shù)據和O1d緩沖區(qū)中最老的數(shù)據。
⑧用New緩沖區(qū)中最老的數(shù)據替代O1d緩沖區(qū)中最老的數(shù)據。O1d緩沖區(qū)指針減1。
⑨輸入一個新數(shù)據替代New緩沖區(qū)中最老的數(shù)據。

重復執(zhí)行第④~⑨步。

根據上述算法編制程序[4、5],在CCS5000上進行仿真調試運行,并分析輸入數(shù)據和輸出的頻譜,結果如圖2、圖3所示。由圖可見,濾波器實現(xiàn)了目標要求。

最后,將程序移植為聞亭公司的TMS320VC5409評估板的MCBSP0的中斷服務程序,并將形成的可執(zhí)行文件加載到評估板上運行。由 TMS320VC5409評估板的模擬輸入口輸入模擬信號,經TLC320A/D轉換芯片,按8kHz的采樣頻率采樣轉換成數(shù)字信號,輸入DSP。濾波后經D/A輸出模擬量,結果證實該程序可實現(xiàn)對采樣率為8kHz的模擬信號進行實時濾波處理。

結語

數(shù)字濾波器的應用十分廣泛,運行MATLAB語言,能很容易地設計出具有嚴格要求(如線性相位等)的濾波器。用定點DSP實現(xiàn)濾波器械要考慮 DSP的定標、誤差、循環(huán)尋址等幾個關鍵問題。文中實例是為了表明,可方便地用DSP實現(xiàn)模擬信號的實時濾波處理,所采用的采樣頻率并不高。如果DSP采用更高的時鐘,它的處理速度將更快,將能夠滿足更高采樣率的數(shù)字信號的實時濾波處理。

參考文獻

   1. 丁玉美 數(shù)字信號處理 2000
   2. 陳亞勇 MATLAB信號處理詳解 2001
   3. 張雄偉 DSP芯片的原理與開發(fā)應用 2000
   4. Texas Instruments TMS320C54x Assembly Language Tools User's Guide 1998
   5. Texas Instruments TMS320C54x DSP ReferenceSet 1996

作 者:集美大學 鄭佳春  
來源: 單片機與嵌入式系統(tǒng)應用 2003(7)
作者: Netjob    時間: 2010-3-8 14:22
泛泛而談的東西。

而且標題狗屁不通。
作者: wujianwei3980    時間: 2011-1-3 12:40
路過




歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 国产av在在免费线观看美女| 日韩国产欧美| 印度性hd18| 校园春色欧美日韩| 热久久久久久| 亚洲国产精品线播放| 亚洲天堂在线播放| 东北成人社区| 欧美人妇无码精品久久| 一级毛片皇帝 宫女| 亚洲4kk44kk在线| 青青青青青免精品视频| 自拍视频在线观看视频精品| 亚洲有码转帖| 给我免费播放片bd国语| 午夜国产大片免费观看| 香蕉久久高清国产精品免费| 青草tv| 又粗又大又长又爽免费视频| 夜夜夜夜夜夜骑| 中文字幕在线看视频一区二区三区 | 亚洲国产一区在线观看| 四虎影院成人| 无人区在线观看免费国语完整版| 亚洲人成人网毛片在线播放| 成人影院久久久久久影院| 欧美日韩免费看| 一级毛片免费视频观看| 日韩伦理在线视频| 中文天堂| av无码在线日本天堂| 久久久久久久久久毛片精品美女| 雪恋电影完整版免费观看| 一级爱| 婷婷激情久久| 亚洲va天堂va欧美ⅴa在线| ppypp午夜限制不卡影院私人| 老司机午夜影院试看区| 亚洲中文字幕乱倫在线| 四虎久久影院| 天堂视频网站|