【正文】
基于 Matlab 的 IIR 數(shù)字濾波器設(shè)計 (脈沖響應(yīng)不變法 ) 設(shè) 計 技 術(shù) 參 數(shù) 基于 Matlab 軟件,利用脈沖響應(yīng)不變法設(shè)計 IIR 低通、高通、帶通、帶阻數(shù)字濾波器,并分析濾波器單位脈沖響應(yīng),頻率響應(yīng)特性。 3. GUIDE的 界面 設(shè)計。觀察各濾波器的頻率響應(yīng)。 第四天:觀察各濾波器的波形,并修改程序。 3 張圣勤 實用教程 北京:機械工程出版社 2020 年 3 月 指導(dǎo)教師簽字 基層教學(xué)單位主任簽字 說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。最后 把整個設(shè)計方案 用 GUIDE界面制作并演示出來 。數(shù)字信號實際上是用數(shù)字序列 表示的信號,語音信號經(jīng)采樣和量化后,得到的數(shù)字信號是一個一維離散時間序列;而圖像信號經(jīng)采樣和量化后,得到的數(shù)字信號是一個二維離散空間序列。上述這些信號大部分是模擬信號,也有小部分是數(shù)字信號。根據(jù)有用信號和噪音的不同特性,提取有用信號的過程稱為濾波,實現(xiàn)濾波功能的系統(tǒng)稱為濾波器。 以往的濾波器大多采用模擬電路技術(shù),但是,模擬電路技術(shù)存在很多難以解決的問題,例如,模擬電路元件對溫度的敏感性,等等。它不僅是一個在各類工程設(shè)計中便于使用的計算工具,而且也是一個在數(shù)學(xué)、數(shù)值分析和工程計算等課程教學(xué)中的優(yōu)秀的數(shù)學(xué)工具,在世界各地的高和大型計算機上運行,適用于 Windows、 UNIX 等多種系統(tǒng)平臺。 一個給定的輸入輸出關(guān)系,可以用多種不同的數(shù)字網(wǎng)絡(luò)來實現(xiàn)。不論軟件實現(xiàn)還是硬件實現(xiàn),在濾波器設(shè)計過程中,由同一系統(tǒng)函數(shù)可以構(gòu)成很多不同的運算結(jié)構(gòu)。不同的運算處理 方法決定了濾波器實現(xiàn)結(jié)構(gòu)的不同 。然而,當(dāng)需要考慮 有限寄存器長度的影響時,往往也采用并非最少乘法器和延課程設(shè)計 第 7 頁 共 44 頁 遲單元的結(jié)構(gòu)。 缺點: 不能直接調(diào)整零點,因多個二階節(jié)的零點并不是整個系統(tǒng)函數(shù)的零點,當(dāng)需要準(zhǔn)確的傳輸零點時,級聯(lián)型最合適。 課程設(shè)計 第 8 頁 共 44 頁 a、直接型 b、并聯(lián)型 課程設(shè)計 第 9 頁 共 44 頁 c、串聯(lián)型 圖 1 濾波器的性能指標(biāo) 我們在進行濾波器設(shè)計時,需要確定其性能指標(biāo)。 圖 低通濾波器頻率響應(yīng) 幅度 特性的容限圖 課程設(shè)計 第 10 頁 共 44 頁 與模擬濾波器類似,數(shù)字濾波器按頻率特性劃分為低通、高通、帶通、帶阻、全通等類型,由于數(shù)字濾波器的頻率響應(yīng)是周期性的,周期為 2π。 s z 映射的方法有 : 沖激響應(yīng)不變法、階躍響應(yīng)不變法、雙線性變換法等。 應(yīng)當(dāng)指出, Z=est 的映射關(guān)系表明, S 平面上每一條寬為 2pi/T 的橫帶部分,都將重疊課程設(shè)計 第 12 頁 共 44 頁 地映射到 Z 平面的整個全部平面上。巴特沃斯濾波器的特點是通頻帶的頻率響應(yīng)曲線最平滑。課程設(shè)計 第 13 頁 共 44 頁 如下圖 所示: 圖 巴特沃茲振幅平方函數(shù) 通帶 : 使信號通過的頻帶 ;阻帶:抑制噪聲通過的頻帶; 過渡帶:通帶→阻帶間過渡的頻率范圍 ; Ω c:截止頻率。 振幅平方函數(shù)的極點可寫成如式 22: Ha(s).Ha(s)= ( 29) 課程設(shè)計 第 14 頁 共 44 頁 可分解為 2N 個一次因式令分母為零,→ 可見, Butterworth 濾波器的振幅平方函數(shù)有 2N 個極點,它們均勻?qū)ΨQ地分布在 |s|=Ω c 的圓周上。 %采樣頻率為 采樣周期倒數(shù) Wp=.*pi。 %設(shè)置通帶最大最小衰減 [N,Wc]=buttord(Wp,Ws,Ap,As,39。s39。 %調(diào)用脈沖不變法 168。 plot(W/pi,abs(Hz)/abs(Hz(1)))。)。 ylabel(39。 數(shù)字 高 通的技術(shù)指標(biāo)為: Wp= rad Ap=2dB T=2s Ws= rad As=15dB 程序為: T=2。 %設(shè)置歸一化通帶和阻帶截止平率 Ap= 2。)。s39。 %調(diào)用脈沖響應(yīng)不變法 plot(W/pi,abs(Hz)/abs(Hz(1)))。)。 ylabel(39。 帶通濾波器技術(shù)指標(biāo)為: Wp=[ ]rad Ap=1dB T=2s Ws=[ ]rad As=10dB 程序為 。 Ws=[.*pi .*pi]。s39。,39。 %指定一段頻率值 [D,C]=impinvar(B,A,fs)。返回頻率值 166。巴特沃斯帶通濾波器 39。)。 得出幅頻特性如下圖: 課程設(shè)計 第 20 頁 共 44 頁 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 100 . 20 . 40 . 60 . 811 . 21 . 4巴特沃斯帶通數(shù)字濾波器F r e q u e n c y / H zMagnitude 用脈沖響應(yīng)不變法設(shè)計 IIR 帶阻數(shù)字濾波器實例。 Ws=[.*pi .*pi]。s39。,39。 W=linspace(0,pi,400*pi)。 Hz=freqz(D,C,W)。 title(39。Frequency/Hz39。 低通濾波器容許低頻信號通過 , 但減弱 (或減少 )頻率高於截止頻率的信號的通過。 對于巴特沃斯濾波器低通和帶通效果較好,而高通和帯阻效果較差。))。 y1=sin(m.*t)。 grid。 其中 m, n 為信號參數(shù)。并且對固定的信號進行濾波模擬。 4,在信號輸入通道中,輸入兩參數(shù)按‘原信號波形‘按鈕得以固定原始信號。帶通帯阻為高低通的組合。在發(fā)現(xiàn)錯誤時,問了很多同學(xué)也問了老師,當(dāng)發(fā)現(xiàn)錯誤原因時,很多次都是因為自己的不細心造成。其中的信號處理工具箱、圖像處理工具箱、小波工具箱等更是為數(shù)字濾波研究的蓬勃發(fā)展提供了可能。CALLBACK39。Value39。gui_Name39。gui_OpeningF39。gui_LayoutF39。 if nargin amp。 else gui_mainf(gui_State, varargin{:})。 % Outputs from this function are returned to the mand line. function varargout = lyl_OutputF(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT)。) returns contents of edit1 as text % str2double(get(hObject,39。 isequal(get(hObject,39。)) set(hObject,39。)。String39。BackgroundColor39。BackgroundColor39。 end function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,39。)) returns contents of edit3 as a double % Executes during object creation, after setting all properties. function edit3_CreateF(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles empty handles not created until after all CreateFs 課程設(shè)計 第 32 頁 共 44 頁 called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc amp。), get(0,39。,39。String39。amp。defaultUicontrolBackgroundColor39。white39。) returns contents of edit5 as text % str2double(get(hObject,39。 isequal(get(hObject,39。)) set(hObject,39。)。String39。BackgroundColor39。BackgroundColor39。 end function edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,39。)) returns contents of edit7 as a double % Executes during object creation, after setting all properties. function edit7_CreateF(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles empty handles not created until after all CreateFs called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc amp。), get(0,39。,39。String39。amp。defaultUicontrolBackgroundColor39。white39。) returns contents of edit9 as text % str2double(get(hObject,39。 isequal(get(hObject,39。)) set(hObject,39。)。)。Value39。BackgroundColor39。