发布时间 : 星期二 文章DSP数字信号处理实验报告 - 图文更新完毕开始阅读
二、理解频率的物理分辨率和计算分辨率的区别
(1)信号同上,加矩形窗。时域采样点数分别取L?10,L?20,L?40,
L?100。
画出以上各种时长情况下,频域采样点数分别为N?32,N?64时的DFT(在同一个图上用虚线画出相应的DTFT频谱,用于比较)。
实验分析
一、观察窗函数的影响。
(1) 观察L的变化对窗谱的主瓣宽度、旁瓣密集度、相对旁瓣水平的影响。
随着L的增大,窗谱的主瓣宽度在减小,旁瓣密集度在增加,但相对旁瓣水平却没有变。
(2) 对于矩形窗,当L≥20时,能够从频谱上分辨出信号的三个频率分量。
在0????的范围内:
当L=20时,可以看出峰值在??0.38?,0.5?,0.62?处; 当L=40时,可以看出峰值在??0.39?,0.5?,0.61?处; 当L=100时,可以看出峰值在??0.4?,0.5?,0.6?处;
对于汉明窗,当L≥40时,能够从频谱上分辨出信号的三个频率分量。 在0????的范围内:
当L=40时,可以看出峰值在??0.404?,0.5?,0.596?处; 当L=100时,可以看出峰值在??0.4?,0.5?,0.6?处;
x(n)的三个频率分量应该是在??0.4?,0.5?,0.6?处,而且幅度应该一样,可以看出当L
不够大(L≤40)时,?的位置和相对大小有微小偏差;当L足够大(L≥100)时,?的位置和相对大小都已十分接近理论值。
二、理解频率的物理分辨率和计算分辨率的区别
(1) 离散频谱DFT和连续频谱DTFT有什么关系?L一定的情况下,能否通过增加N改善
频率的物理分辨率?N的作用是什么?
N点离散频谱DFT可以看做是对连续频谱DTFT进行N点采样获得的
频率的物理分辨率:?f?频率的计算分辨率:???1TL2?N
L一定的情况下,增加N不能改善频率的物理分辨率,但却能提高频率的计算分辨率,使离散频谱DFT有更大的可能正确反映连续频谱DTFT的峰值的位置和相对大小。
实 验 四
1. 窗口法设计FIR数字滤波器
(a) 用矩形窗设计长度分别为N=11、41、81、121的低通FIR滤波器,要求截止频率为
?c?0.3?。画出滤波器的单位冲激响应h(n)和幅度频响|H(?)|曲线。
问题:
理想滤波器的频响是怎样的?
当N增大时,FIR滤波器在?c附近的最大纹波幅度是否降低?其余纹波的幅度是否减小?纹波的密度怎样变化?过渡带宽度怎样变化?(如有必要可增大N值观察)。
在N=11时,画出滤波器的相频曲线。它是否是线性的? (b)用汉明窗再次设计同样的滤波器。
用汉明窗设计出的滤波器与用矩形窗相比有什么特点?
2. 以Butterworth 模拟低通滤波器为原型,设计IIR数字滤波器。
(a)截止频率?c?0.3?。设计11阶IIR数字低通滤波器,画出幅频、相频曲线。 (b)截止频率?c?0.3?。设计11阶IIR数字高通滤波器,画出幅频、相频曲线。
问题:所设计的IIR滤波器与FIR滤波器的频率特性有何区别?
实验过程与结果:
实验程序:
%================================ % Design FIR DF with window method % =============================== wc=0.3*pi;
% ------ rectangular window win=1;
p=1; % observe magnitude response
N=11; figure,FIR_design(N,wc,win,[2 2 1 2 2 2],p) N=41; FIR_design(N,wc,win,[2 2 3 2 2 4],p)
N=81; figure,FIR_design(N,wc,win,[2 2 1 2 2 2],p) N=121; FIR_design(N,wc,win,[2 2 3 2 2 4],p) p=2; % observe phase response
N=11; figure,FIR_design(N,wc,win,[1 1 1 1 1 1],p)
% ------ hamming window win=2; p=1;
N=11; figure,FIR_design(N,wc,win,[2 2 1 2 2 2],p) N=41; FIR_design(N,wc,win,[2 2 3 2 2 4],p)
N=81; figure,FIR_design(N,wc,win,[2 2 1 2 2 2],p) N=121; FIR_design(N,wc,win,[2 2 3 2 2 4],p)
%================================= Tsign IIR DF
%================================== N=11; Wn=wc/pi;
[b,a] = BUTTER(N,Wn); % lowpass [H,w]=freqz(b,a,8192);
figure,subplot(2,1,1),plot(w/pi,abs(H)),xlabel('\\omega(\\pi)'),ylabel('|H(\\omega)|') ,title(['order=',num2str(N),', Lowpass IIR DF: magnitude response']),grid subplot(2,1,2),plot(w/pi,angle(H)/pi),
xlabel('\\omega(\\pi)'),ylabel('ang(H(\\omega))(\\pi)'),title('phase response')
N=11;
[b,a] = BUTTER(N,Wn,'high'); % highpass [H,w]=freqz(b,a,8192);
figure,subplot(2,1,1),plot(w/pi,abs(H)),xlabel('\\omega(\\pi)'),ylabel('|H(\\omega)|') ,title(['order=',num2str(N),', HIghpass IIR DF: magnitude response']),grid subplot(2,1,2),plot(w/pi,angle(H)/pi),
xlabel('\\omega(\\pi)'),ylabel('ang(H(\\omega))(\\pi)'),title('phase response')
子程序1:
function FIR_design(N,wc,win,a,p) % LP FIR design with window method n=0:N-1; M=(N-1)/2;
warning off MATLAB:divideByZero
h=sin(wc*(n-M))./(pi*(n-M)); h(M+1)=wc/pi;