(1) 根據對過渡帶及阻帶衰減的指標要求,選擇窗函式的型別,並估計視窗長度n。先按照阻帶衰減選擇窗函式型別。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣窄的窗函式。然後根據過渡帶寬度估計視窗長度n。待求濾波器的過渡帶寬度bt近似等於窗函式主瓣寬度,且近似與視窗長度n成反比。
(2) 構造希望逼近的頻率響應函式hd(ejω),即
對所謂的「標準窗函式法」,就是選擇hd(ejω)為線性相位理想濾波器(理想低通、理想高通、理想帶通、理想帶阻)。
(3) 計算hd(n)
如果給出待求濾波器的頻響函式為hd(ejω),那麼單位脈衝響應用下式求出:
(如果頻響函式比較複雜,或不能用封閉公式表示,該式不能用於求解hd(n))
(4)加窗得到設計結果h(n)=hd(n)w(n)
(2)(3)(4)通過matlab的乙個命令來實現,即hn=fir1()
% ------要求通帶邊界頻率ωp=pi/2 rad,------%
% ------阻帶截止頻率ωs=pi/4 rad,通帶最大衰減rp=1db,阻帶最小衰減rs=40 db-----%
clc; clear all; close all;
% (1) 濾波器的技術指標
wp=pi/2;
ws=pi/4;
rp=1;
rs=40;
bt=wp-ws; % 計算過渡帶寬度
n0=ceil(6.2*pi/bt);
n=n0+mod(n0+1,2); % 確保h(n)長度n是奇數
wc=(wp+ws)/2/pi; % 計算理想高通濾波器通帶截止頻率(關於pi歸一化)
m=n-1; % 濾波器的階數
hn=fir1(m,wc,'high',hanning(n)); % 呼叫fir1計算高通fir數字濾波器的h(n)
% 繪製單位脈衝響應h(n)的波形
n=0:n-1;
subplot(2,2,1);
stem(n,hn,'.','r');
axis([0,30,-0.5,1]);
xlabel('n');ylabel('h(n)');
% 繪製幅頻特性曲線
subplot(2,2,2);
[h,w]=freqz(hn,1); % 如果要畫出h(n)的頻響特性曲線,freqz(hn)或者freqz(hn,1)都可以,預設頻譜是0~pi上的512點
w=w/pi;
plot(w,abs(h));
axis([0,1,-0.1,1.1]);
xlabel('w/pi');ylabel('|hg(w)|');
% 繪製損耗函式的曲線
subplot(2,2,3);
[h,w]=freqz(hn,1);
w=w/pi;
plot(w,20*log10(abs(h)));
axis([0,1,-80,5]);
xlabel('w/pi');ylabel('20lg|hg(w)|');
matlab數字訊號處理常用函式
1 tf b,a 根據微分方程求轉移函式 a,b為分子分母多項式係數或者說微分方程左邊右邊的係數 2 tfestimate txy,f tfestimate x,y,window,noverlap,nfft,fs 根據輸入輸出,估計頻率響應函式 3 lsim sys,u,t 根據輸入u 和響應函式s...
數字訊號處理 基於MATLAB的線性累加平均演算法
原始訊號為正弦訊號,通過matlab程式設計給正弦訊號加入高斯白雜訊。將含有雜訊的訊號通過線累加平均演算法來去除雜訊。線性累加演算法 clc clear 1 加入高斯白雜訊 fi 1 正弦訊號頻率 fs 100 取樣頻率 t 0 1 fs 10 f 1 sin t 2 sin 2 t 原始訊號 y1...
數字訊號處理 高斯牛頓法與matlab例項
目錄 一 前言 二 高斯牛頓法原理 三 matlab例項 高斯牛頓法實際上是牛頓法的在求解非線性最小二乘問題時的乙個特例。基本思想是,使用泰勒級數一階展開式去近似地代替非線性回歸模型,然後通過多次迭代,多次修正回歸係數,使回歸係數不斷通過逼近非線性回歸模型的最佳回歸係數,最後使原模型的殘差平方和達到...