📄 hc463a.m
字号:
%《数字信号处理教程——MATLAB释义与实现》第四章例4.6.3a程序hc463a
% 用IDFT由已知频谱求连续时间傅立叶反变换IDTFT的信号
% 电子工业出版社出版 陈怀琛编著 2004年9月
%
for i=1:2
wc=3;Tmax=0.1*pi/wc % 最大采样周期Tmax,取算出的临界数值的1/10
T=input('(T<Tmax)T= ') % 用户选择并输入T
Nmin=100*2*pi/wc/T % 最小样点数目Nmin
N=input('(N>Nmin)N= '); % 用户选择并输入N
dw=2*pi/(N*T); % 频谱序列长度及频率分辨率
%kn=floor(-(N-1)/2:-1/2); % 负频率下标向量
%kp=floor(0:(N-1)/2); % 正频率下标向量
%w=[kp,kn]*dw; % 将负频率移到正频率的右方,形成新的频率排序
w=[0:N-1]*dw;
M=floor(wc/dw); % 有效频率的边界下标(整数)
Xa=[ones(1,M+1),zeros(1,N-2*M-1),ones(1,M)]; % 按新的频率排序输入给定的频谱
xa=ifft(Xa/T); % Xa/T是序列频谱X(k),其IFFT为数字序列x(n)=xa(n)
if i==1 plot([0:N-1]*T,xa),hold on % 用plot语句绘图,实现插值
else plot([0:N-1]*T,xa,':r')
end
title('T= ')
end
legend('N=2048','N=4096') % 图例标注
set(gcf,'color','w'); % 置图形背景色为白
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -