📄 buling.txt
字号:
原程序
子函数1:离散时间傅氏变换函数dtftw
function [Xk]=dtftw(xn,N)
j=sqrt(-1);
pi = atan(1.0)*4.0;
n=0:N-1;
k=-50:50;
WN=exp(-j*pi/100);
nk=n'*k;
WNP=WN.^nk;
Xk=xn*WNP;
子函数2:离散傅氏变换函数dftw
function [Xk]=dftw(xn,N)
j=sqrt(-1);
pi = atan(1.0)*4.0;
n=0:N-1;
k=0:N-1;
WN=exp(-j*2*pi/N);
nk=n'*k;
WNP=WN.^nk;
Xk=xn*WNP;
主函数:(当原序列为 ,输入N=16,M=32即原序列长16个单位,补零后的序列长32个单位)
clear
M=input('请输入原序列长度的M:');
N=input('请输入补零后序列长度N:');
n=0:M-1;
q=0:M-1;
xq=zeros(0,N-1);
xn=1+2*sin(n*pi/2)+2*cos(3*n*pi/4)+cos(n*pi);
r=1+2*sin(q*pi/2)+2*cos(3*q*pi/4)+cos(q*pi);
xq=[r zeros(1,N-M)];%产生后补零序列
xq1=[zeros(1,N-M) r];%产生前补零序列
bn=dftw(xn,M);bn1=dtftw(xn,M);
bq=dftw(xq,N);bq2=dtftw(xq,N);
bq1=dftw(xq1,N);bq3=dtftw(xq1,N);
subplot(3,3,1);stem(real(xn),'.');title('原序列');grid;
subplot(3,3,2);plot(1:length(bn1),real(bn1));title('原序列的DTFT');grid;
subplot(3,3,3);stem(real(bn),'.');title('原序列的DFT');grid;
subplot(3,3,4);stem(real(xq),'.');title('后加零序列');grid;
subplot(3,3,5);plot(1:length(bq2),real(bq2));title('后加零的DTFT');grid;
subplot(3,3,6);stem(real(bq),'.');title('后加零的DFT');grid;
subplot(3,3,7);stem(real(xq1),'.');title('前加零序列');grid;
subplot(3,3,8);plot(1:length(bq3),real(bq3));title('前加零的DTFT');grid;
subplot(3,3,9);stem(real(bq1),'.');title('前加零的DFT');grid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -