【正文】
esign and realization.We design the Graphical User Interfaces (GUI) of the digital filter analysis system makes sure of people can analysis the characteristics of the design directly and easily. The whole system divide into two graphical interfaces, it contains four parts: System, Analysis, Tool and Help. Keywords: Digital Filter, MATLAB, IIR, FIR, Graphical User Interfaces 目 錄第1章 緒論………………………………………………………………………………1 數(shù)字濾波技術(shù)………………………………………………………………………1 濾波器原理………………………………………………………………………2 數(shù)字濾波器設(shè)計(jì)方法概述………………………………………………………2 MATLAB軟件簡介……………………………………………………………………3第2章 IIR濾波器設(shè)計(jì)及其MATLAB實(shí)現(xiàn)………………………………………………5 模擬濾波器設(shè)計(jì)及其MATLAB實(shí)現(xiàn)…………………………………………………5 巴特沃斯低通濾波器設(shè)計(jì)………………………………………………………5 切比雪夫低通濾波器設(shè)計(jì)………………………………………………………7 橢圓低通濾波器設(shè)計(jì)……………………………………………………………11 模擬—數(shù)字濾波器變換及其MATLAB實(shí)現(xiàn)………………………………………13 脈沖響應(yīng)不變法…………………………………………………………………13 雙線性Z變換法…………………………………………………………………17 頻帶變換及其MATLAB實(shí)現(xiàn)………………………………………………………19 模擬低通濾波器轉(zhuǎn)換成數(shù)字高通濾波器………………………………………19 模擬低通濾波器轉(zhuǎn)換成數(shù)字帶通濾波器………………………………………21 模擬低通濾波器轉(zhuǎn)換成數(shù)字帶阻濾波器………………………………………23 小結(jié)…………………………………………………………………………………25第3章 FIR濾波器設(shè)計(jì)及其MATLAB實(shí)現(xiàn)……………………………………………26 線性相位FIR數(shù)字濾波器的條件和特點(diǎn)…………………………………………26 線性相位條件……………………………………………………………………26 線性相位FIR濾波器幅度特性的特點(diǎn)…………………………………………27 線性相位FIR濾波器零點(diǎn)分布特點(diǎn)……………………………………………27 常用窗函數(shù)及其MATLAB實(shí)現(xiàn)……………………………………………………27 常用窗函數(shù)介紹…………………………………………………………………27 各種窗函數(shù)的實(shí)現(xiàn)與比較………………………………………………………29 基于窗函數(shù)的FIR數(shù)字濾波器設(shè)計(jì)及其MATLAB實(shí)現(xiàn)……………………………30 海明窗設(shè)計(jì)數(shù)字低通濾波器…………………………………………………31 漢寧窗設(shè)計(jì)數(shù)字高通濾波器…………………………………………………33 布拉克曼窗及三角窗設(shè)計(jì)數(shù)字帶通濾波器…………………………………35 漢寧窗設(shè)計(jì)數(shù)字帶阻濾波器………………………………………………37 小結(jié)…………………………………………………………………………………38第4章 圖形用戶界面設(shè)計(jì)濾波器分析系統(tǒng)………………………………………39 MATLAB中GUI設(shè)計(jì)技術(shù)特點(diǎn)……………………………………………………39 GUIDE簡介………………………………………………………………………39 GUI設(shè)計(jì)規(guī)范及設(shè)計(jì)步驟………………………………………………………40 濾波器分析系統(tǒng)及其MATLAB實(shí)現(xiàn)………………………………………………40 濾波器分析系統(tǒng)的初始界面……………………………………………………41 濾波器分析系統(tǒng)的主界面………………………………………………………43 小結(jié)…………………………………………………………………………………48第5章 總結(jié)……………………………………………………………………………49參考文獻(xiàn)…………………………………………………………………………………50致謝………………………………………………………………………………………51 第1章 緒論 數(shù)字濾波技術(shù)數(shù)字濾波是數(shù)字信號處理的重要基礎(chǔ),數(shù)字信號處理主要是研究用數(shù)字或符號的序列來表示信號波形,并用數(shù)字的方式去處理這些序列,把它們改變成在某種意義上更希望的形式,以便估計(jì)信號的特征參量,或削弱信號中的多余分量和增強(qiáng)信號中的有用分量。在無限脈沖響應(yīng)(IIR)數(shù)字濾波器設(shè)計(jì)中,先進(jìn)行模擬濾波器的設(shè)計(jì),然后進(jìn)行模擬數(shù)字濾波器轉(zhuǎn)換,即采用脈沖響應(yīng)不變法及雙線性Z變化法設(shè)計(jì)數(shù)字濾波器,最后進(jìn)行濾波器的頻帶轉(zhuǎn)換。關(guān)鍵詞:數(shù)字濾波器、MATLAB、無限脈沖響應(yīng)、有限脈沖響應(yīng)、圖形用戶界面AbstractIn this thesis, designs of the Infinite Impulse Response digital filter (IIR) and Finite Impulse Response digital filter (FIR) under MATLAB are studied. And the Graphical User Interfaces (GUI) to analysis the characteristics of filter is designed. The design of IIR filters can be achieved through three steps: firstly, the design of analog lowpass filter。這種方法具有較好的頻域選擇特性和靈活性,并且由于信號頻率與所希望的頻譜特性是簡單的相乘關(guān)系,所以它比計(jì)算等價(jià)的時(shí)域卷積要快得多。70年代后,科學(xué)技術(shù)蓬勃發(fā)展,數(shù)字信號處理開始與大規(guī)模和超大規(guī)模集成電路技術(shù)、微處理技術(shù)等新工藝新技術(shù)結(jié)合起來,并引進(jìn)計(jì)算機(jī)輔助設(shè)計(jì)方法,大大豐富了數(shù)字濾波器的分析與設(shè)計(jì),各種新的數(shù)字信號處理系統(tǒng),也都能用專用數(shù)字硬件實(shí)時(shí)加以實(shí)現(xiàn)。因此DF比AF容易實(shí)現(xiàn),且更容易獲得理想的濾波性能。設(shè)計(jì)專用的數(shù)字硬件來實(shí)現(xiàn)這個(gè)數(shù)字模型,或者通過電子計(jì)算機(jī)運(yùn)行程序軟件予以實(shí)現(xiàn)。 MATLAB軟件簡介MATLAB是英文Matrix Laboratory(矩陣實(shí)驗(yàn)室)的縮寫,它是由美國MathWorks公司推出的用于數(shù)值計(jì)算和圖形處理的數(shù)學(xué)計(jì)算環(huán)境。計(jì)算功能強(qiáng)大:MATLAB擁有龐大的數(shù)學(xué)、統(tǒng)計(jì)及工程函數(shù),可使用戶立刻實(shí)現(xiàn)所需的強(qiáng)大數(shù)學(xué)計(jì)算功能。工具箱也和MATLAB一樣是完全用戶化的,可擴(kuò)展性強(qiáng)。于是,設(shè)計(jì)IIR數(shù)字濾波器可以先設(shè)計(jì)模擬低通濾波器G(s),然后按一定規(guī)則將G(s)進(jìn)行濾波器變換而得到數(shù)字域的IIR低通濾波器H(z),最后通過頻帶變換轉(zhuǎn)換成其它頻帶濾波器。在通帶中是理想的單位響應(yīng),在阻帶中響應(yīng)為0。for i=1:4switch i case 1 N=2。 %函數(shù)abs取模值函數(shù) hold on %函數(shù)hold控制是否保持當(dāng)前圖形plot(w,magH2) %函數(shù)plot畫二維線性圖axis([0 2 0 1])。巴特沃斯低通模擬濾波器39。切比雪夫?yàn)V波器的振幅特性就具有這種等波紋特性。for i=1:2 switch i case 1 N=7。1239。)。 endRs=10。subplot(posplot)plot(w,magH2)axis([0 2 0 ])。MATLAB信號處理工具箱為低通模擬橢圓濾波器的產(chǎn)生提供了函數(shù)ellipap,其調(diào)用的格式為:[z,p,k]= ellipap (N,Rp,Rs),其中,z表示零點(diǎn),p表示極點(diǎn),k表示增益,N表示階次,Rp為通帶波紋(dB), Rs為阻帶波紋(dB)。 %Rp通帶紋波系數(shù)為1 dBRs=10。subplot(posplot)plot(w,magH2)axis([0 2 0 ])。N=39。G(s)是模擬濾波器的系統(tǒng)傳遞函數(shù),又令H(z)是數(shù)字濾波器的系統(tǒng)傳遞函數(shù)。Rp=1。s39。plot(w/pi,mag)。|H(jw)|39。XTick39。,[0 Atn Rip 1])。)。manual39。,39。xlabel(39。XTickMode39。title(39。)。,[0 1])。但其也具有很大的缺點(diǎn),若抽樣頻率不高或其它原因?qū)a(chǎn)生混疊失真,不能重現(xiàn)原模擬濾波器頻率響應(yīng)。Fs=1000。s39。Wp=*pi。plot(w/pi,mag)。從而可得數(shù)字帶通濾波器的傳遞函數(shù)表達(dá)式為: (221)接下來,基于MATLAB利用巴特沃斯模擬濾波器舉例,設(shè)計(jì)一數(shù)字帶通濾波器,,帶通內(nèi)衰減不大于3dB,阻帶內(nèi)衰減不小于18dB。bandpass39。plot(w/pi,db)。Ap=1。plot(w/pi,mag)。IIR濾波器的設(shè)計(jì)步驟分為三步,即模擬低通濾波器設(shè)計(jì),模擬數(shù)字濾波器變換,濾波器的頻帶變換。穩(wěn)定和線性相位特性是FIR濾波器突出的特點(diǎn)。因此,對于兩類線性相位,下面將分四種情況討論其幅度特性特點(diǎn)。因此必須對各種窗函數(shù)有相應(yīng)的了解。海明窗(Hamming window)海明窗函數(shù)是一種改進(jìn)的升余弦函數(shù),其時(shí)域表達(dá)式為: (312)其幅度頻率特性為: (313)其主瓣寬度為8π/N,能量更集中在主瓣之中,%,第一旁瓣的峰值比主瓣小40dB。在MATLAB中,各個(gè)窗函數(shù)的調(diào)用函數(shù)均已給出()且用法比較簡單,所以為了更好的比較、區(qū)別、分析及選擇各個(gè)窗函數(shù),特對各函數(shù)的幅度特性進(jìn)行比較。從而有: (318)式中N表示窗口長度,這樣H(z)就是物理可實(shí)現(xiàn)的系統(tǒng)了。 %理想低通濾波器的截至頻率 hd=ideal_lp(Wc,N)。海明窗w(n)39。hd=sin (Wc*m)./(pi*m)。pha=angle(H)。 %漢寧窗h=hd.*w_han。實(shí)際單位脈沖響應(yīng)h(n)39。要求用布萊克曼窗和三角窗分別設(shè)計(jì),并分析比較設(shè)計(jì)出的帶通濾波器的區(qū)別。 %理想帶通濾波器的下截至頻率 Wch= (Wsh+Wph) /2。delta_w=2*pi/1000。布拉克曼窗截到的實(shí)際單位脈沖響應(yīng)h1(n)39。n=0:1:N1。tr_width=min((WslWpl),(WphWsh))。 %計(jì)算實(shí)際濾波器的幅度響應(yīng)delta_w=2*pi/1000。FIR漢寧窗數(shù)字帶阻濾波器幅度響應(yīng)(dB)39。整個(gè)設(shè)計(jì)過程都是在理論分析的基礎(chǔ)上,用MATLAB語言來進(jìn)行編程設(shè)計(jì),最終實(shí)現(xiàn)了FIR數(shù)字低通、高通、帶通、帶阻四種濾波器的設(shè)計(jì)。其中,uicontrol對象能建立按鈕、列表框、編輯框等圖形用戶界面對象,uimenu能建立下拉式菜單和子菜單等圖形用戶界面對象,uicontexmenu能建立內(nèi)容式菜單用戶界面對象(類似于Visual C++等程序設(shè)計(jì)軟件中的彈出式菜單)。 GUI設(shè)計(jì)規(guī)范及設(shè)計(jì)步驟設(shè)計(jì)GUI時(shí),應(yīng)力求簡潔、直接、清晰地反映界面的功能和特性。設(shè)計(jì)檢查功能分析編寫代碼程序測試需求分析 圖41 設(shè)計(jì)步驟 濾波器分析系統(tǒng)及其MATLAB實(shí)現(xiàn)對開發(fā)者來說,由于MATLAB強(qiáng)大的工程運(yùn)算、仿真能力,使得越來越多的用戶從原先的開發(fā)環(huán)境中轉(zhuǎn)到MATLAB上來,他們不需花大量的時(shí)間進(jìn)行編程,因?yàn)镸ATLAB提供一個(gè)簡便的開發(fā)環(huán)境,可使研究者很快上手,提高研究者的效率。在設(shè)計(jì)此圖形用戶界面時(shí),把濾波器分析系統(tǒng)分成兩個(gè)界面進(jìn)行設(shè)計(jì),第一個(gè)是濾波器分析系統(tǒng)的初始界面,包括了此次設(shè)計(jì)的標(biāo)題,歡迎圖形,及進(jìn)入下一個(gè)界面的按鈕(WELCOM)及退出按鈕(CLOSE);第二個(gè)界面是濾波器分析系統(tǒng)的主界面。而GUI實(shí)現(xiàn)了開發(fā)者與使用者間進(jìn)行交流的橋梁。GUI的關(guān)鍵是使人與計(jì)算機(jī)之間能夠準(zhǔn)確的交流信息,一方面,人向計(jì)算機(jī)輸入時(shí)應(yīng)當(dāng)盡量采取自然的方式,另一方面,計(jì)算機(jī)向人傳遞的信息必須準(zhǔn)確,不致引起誤解或混亂。 GUIDE簡介MATLAB圖形用戶界面開發(fā)環(huán)境(Graphical User Interface development environment, GUIDE)提供了一系列創(chuàng)建用戶圖形界面(GUI)的工具。GUI是包含圖形對象(如窗口、圖標(biāo)、菜單和文本)的用戶界面。 n=0:1:N1。理想單位脈沖響應(yīng)hd(n)39。Wcl= (Wsl+Wpl) /2。hd=(sin (pi*m) sin(Wc*m) ) ./(pi*m)。三角窗截到的實(shí)際單位脈沖響應(yīng)h2(n)39。布拉克曼窗w(n)39。 %理想帶通濾波器的單位沖激響應(yīng)w_bman