⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hc463a.m

📁 数字信号处理的matlab程序
💻 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 + -