【正文】
基于 Matlab 的 IIR 數(shù)字濾波器設(shè)計(jì) (脈沖響應(yīng)不變法 ) 設(shè) 計(jì) 技 術(shù) 參 數(shù) 基于 Matlab 軟件,利用脈沖響應(yīng)不變法設(shè)計(jì) IIR 低通、高通、帶通、帶阻數(shù)字濾波器,并分析濾波器單位脈沖響應(yīng),頻率響應(yīng)特性。 3. GUIDE的 界面 設(shè)計(jì)。觀察各濾波器的頻率響應(yīng)。 第四天:觀察各濾波器的波形,并修改程序。 3 張圣勤 實(shí)用教程 北京:機(jī)械工程出版社 2020 年 3 月 指導(dǎo)教師簽字 基層教學(xué)單位主任簽字 說(shuō)明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。最后 把整個(gè)設(shè)計(jì)方案 用 GUIDE界面制作并演示出來(lái) 。數(shù)字信號(hào)實(shí)際上是用數(shù)字序列 表示的信號(hào),語(yǔ)音信號(hào)經(jīng)采樣和量化后,得到的數(shù)字信號(hào)是一個(gè)一維離散時(shí)間序列;而圖像信號(hào)經(jīng)采樣和量化后,得到的數(shù)字信號(hào)是一個(gè)二維離散空間序列。上述這些信號(hào)大部分是模擬信號(hào),也有小部分是數(shù)字信號(hào)。根據(jù)有用信號(hào)和噪音的不同特性,提取有用信號(hào)的過(guò)程稱為濾波,實(shí)現(xiàn)濾波功能的系統(tǒng)稱為濾波器。 以往的濾波器大多采用模擬電路技術(shù),但是,模擬電路技術(shù)存在很多難以解決的問(wèn)題,例如,模擬電路元件對(duì)溫度的敏感性,等等。它不僅是一個(gè)在各類工程設(shè)計(jì)中便于使用的計(jì)算工具,而且也是一個(gè)在數(shù)學(xué)、數(shù)值分析和工程計(jì)算等課程教學(xué)中的優(yōu)秀的數(shù)學(xué)工具,在世界各地的高和大型計(jì)算機(jī)上運(yùn)行,適用于 Windows、 UNIX 等多種系統(tǒng)平臺(tái)。 一個(gè)給定的輸入輸出關(guān)系,可以用多種不同的數(shù)字網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。不論軟件實(shí)現(xiàn)還是硬件實(shí)現(xiàn),在濾波器設(shè)計(jì)過(guò)程中,由同一系統(tǒng)函數(shù)可以構(gòu)成很多不同的運(yùn)算結(jié)構(gòu)。不同的運(yùn)算處理 方法決定了濾波器實(shí)現(xiàn)結(jié)構(gòu)的不同 。然而,當(dāng)需要考慮 有限寄存器長(zhǎng)度的影響時(shí),往往也采用并非最少乘法器和延課程設(shè)計(jì) 第 7 頁(yè) 共 44 頁(yè) 遲單元的結(jié)構(gòu)。 缺點(diǎn): 不能直接調(diào)整零點(diǎn),因多個(gè)二階節(jié)的零點(diǎn)并不是整個(gè)系統(tǒng)函數(shù)的零點(diǎn),當(dāng)需要準(zhǔn)確的傳輸零點(diǎn)時(shí),級(jí)聯(lián)型最合適。 課程設(shè)計(jì) 第 8 頁(yè) 共 44 頁(yè) a、直接型 b、并聯(lián)型 課程設(shè)計(jì) 第 9 頁(yè) 共 44 頁(yè) c、串聯(lián)型 圖 1 濾波器的性能指標(biāo) 我們?cè)谶M(jìn)行濾波器設(shè)計(jì)時(shí),需要確定其性能指標(biāo)。 圖 低通濾波器頻率響應(yīng) 幅度 特性的容限圖 課程設(shè)計(jì) 第 10 頁(yè) 共 44 頁(yè) 與模擬濾波器類似,數(shù)字濾波器按頻率特性劃分為低通、高通、帶通、帶阻、全通等類型,由于數(shù)字濾波器的頻率響應(yīng)是周期性的,周期為 2π。 s z 映射的方法有 : 沖激響應(yīng)不變法、階躍響應(yīng)不變法、雙線性變換法等。 應(yīng)當(dāng)指出, Z=est 的映射關(guān)系表明, S 平面上每一條寬為 2pi/T 的橫帶部分,都將重疊課程設(shè)計(jì) 第 12 頁(yè) 共 44 頁(yè) 地映射到 Z 平面的整個(gè)全部平面上。巴特沃斯濾波器的特點(diǎn)是通頻帶的頻率響應(yīng)曲線最平滑。課程設(shè)計(jì) 第 13 頁(yè) 共 44 頁(yè) 如下圖 所示: 圖 巴特沃茲振幅平方函數(shù) 通帶 : 使信號(hào)通過(guò)的頻帶 ;阻帶:抑制噪聲通過(guò)的頻帶; 過(guò)渡帶:通帶→阻帶間過(guò)渡的頻率范圍 ; Ω c:截止頻率。 振幅平方函數(shù)的極點(diǎn)可寫成如式 22: Ha(s).Ha(s)= ( 29) 課程設(shè)計(jì) 第 14 頁(yè) 共 44 頁(yè) 可分解為 2N 個(gè)一次因式令分母為零,→ 可見, Butterworth 濾波器的振幅平方函數(shù)有 2N 個(gè)極點(diǎn),它們均勻?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 程序?yàn)椋? 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 程序?yàn)?。 Ws=[.*pi .*pi]。s39。,39。 %指定一段頻率值 [D,C]=impinvar(B,A,fs)。返回頻率值 166。巴特沃斯帶通濾波器 39。)。 得出幅頻特性如下圖: 課程設(shè)計(jì) 第 20 頁(yè) 共 44 頁(yè) 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è)計(jì) IIR 帶阻數(shù)字濾波器實(shí)例。 Ws=[.*pi .*pi]。s39。,39。 W=linspace(0,pi,400*pi)。 Hz=freqz(D,C,W)。 title(39。Frequency/Hz39。 低通濾波器容許低頻信號(hào)通過(guò) , 但減弱 (或減少 )頻率高於截止頻率的信號(hào)的通過(guò)。 對(duì)于巴特沃斯濾波器低通和帶通效果較好,而高通和帯阻效果較差。))。 y1=sin(m.*t)。 grid。 其中 m, n 為信號(hào)參數(shù)。并且對(duì)固定的信號(hào)進(jìn)行濾波模擬。 4,在信號(hào)輸入通道中,輸入兩參數(shù)按‘原信號(hào)波形‘按鈕得以固定原始信號(hào)。帶通帯阻為高低通的組合。在發(fā)現(xiàn)錯(cuò)誤時(shí),問(wèn)了很多同學(xué)也問(wèn)了老師,當(dāng)發(fā)現(xiàn)錯(cuò)誤原因時(shí),很多次都是因?yàn)樽约旱牟患?xì)心造成。其中的信號(hào)處理工具箱、圖像處理工具箱、小波工具箱等更是為數(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è)計(jì) 第 32 頁(yè) 共 44 頁(yè) 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。