MATLAB及在电子信息课程中的应用,电子工业出版社出版 陈怀琛 吴大正 高西全合著
源代码在线查看: hnwplot.m
%《MATLAB及在电子信息课程中的应用》第七章绘图子程序
% 由h(n)计算其分贝幅特性20log(|H(ejw)|)并绘图的函数hnwplot
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月初版,2003年7月第二版
%
% a=hnwplot(hn,i)
% ------------------------------------------
% h(n)为给出的任意序列
% i 为绘制时间序列的子图位置,全图取3x2个子图
% 在i+1子图上将给出此时间序列的分贝幅频特性
%
function a=hnwplot(hn,i)
N=length(hn);
n=0:N-1;
hw=fft(hn,512);k=0:511;w=2*k*pi/512; % 求频谱及频率自变量序列
subplot(3,2,i);stem(n,hn,'.'); % 在第i个子图上画出时间序列
set(gcf,'color','w') % 将图形背景色设为白色
% axis([0,N-1,min(hn)-0.05,max(hn)+0.1]);
xlabel('n');ylabel('h(n)')
line([0,N-1],[0,0])
subplot(3,2,i+1) % 在第i+1个子图上
% plot(w,abs(hw)); % 画出频谱特性
plot(w,20*log10(abs(hw))); % 画出分贝频谱特性
grid;title('幅度特性(dB)');
xlabel('ω/π');ylabel('Magnitude(dB)')