按照下面的IDFT算法编写MATLAB语言IFFT程序 其中的FFT部分不用写出清单 可调用fft函数。并分别对

大学 序列,算法,程序 已帮助 人

按照下面的IDFT算法编写MATLAB语言IFFT程序,其中的FFT部分不用写出清单,可调用fft函数。并分别对单位脉冲序列、矩形序列、三角序列和正弦序列进行FFT和IFFT变换,验证所编程序。 x(n)=IDFT[X(k)]=1/N[DFT[X*(k)]*

请帮忙给出正确答案和分析,谢谢!

热搜:汇编程序是指由汇编语言编写的程序

答案解析

难度★★☆ 搜索
  • 正确答案:解:为了使用灵活方便将本题所给算法公式作为函数编写ifft46.m如下: %函数ifft46.m %按照所给算法公式计算IFET function xn=ifft46(XkN) Xk=conj(Xk); %对Xk取复共轭 xn=conj(fft(XkN))/N; %按照所给算法公式计算IFFT 分别对单位脉冲序列、长度为8的矩形序列和三角序列进行FFT并调用函数ifft46 计算IFFT变换验证函数ifft46的程序ex406.m如下: %程序ex406.m %调用fft函数计算IDFT x1n=1; %输入单位脉冲序列x1n x2n=[1 1 1 1 1 1 1 1]; %输入矩形序列向量x2n x3n=[1 2 3 4 4 3 2 1]; %输入三角序列序列向量x3n N=8; X1k=fit(x1nN); %计算x1n的N点DFT X2k=fit(x2nN); %计算x2n的N点DFT X3k=fit(x3nN); %计算x3n的N点DFT x1n=ifft46(X1kN) %调用ifft46函数计算X1k的IDFT x2n=ifft46(X2kN) %调用ifft46函数计算X2k的IDFT x3n=ifft46(X3kN) %调用ifft46函数计算X3k的IDFT 运行程序输出时域序列如下所示正是原序列x1n、x2n和x3n。 x1n=1 0 0 0 0 0 0 0 x2n=1 1 1 1 1 1 1 1 x3n=1 2 3 4 4 3 2 1
    解:为了使用灵活方便,将本题所给算法公式作为函数编写ifft46.m如下:%函数ifft46.m%按照所给算法公式计算IFETfunctionxn=ifft46(Xk,N)Xk=conj(Xk);%对Xk取复共轭xn=conj(fft(Xk,N))/N;%按照所给算法公式计算IFFT分别对单位脉冲序列、长度为8的矩形序列和三角序列进行FFT,并调用函数ifft46计算IFFT变换,验证函数ifft46的程序ex406.m如下:%程序ex406.m%调用fft函数计算IDFTx1n=1;%输入单位脉冲序列x1nx2n=[11111111];%输入矩形序列向量x2nx3n=[12344321];%输入三角序列序列向量x3nN=8;X1k=fit(x1n,N);%计算x1n的N点DFTX2k=fit(x2n,N);%计算x2n的N点DFTX3k=fit(x3n,N);%计算x3n的N点DFTx1n=ifft46(X1k,N)%调用ifft46函数计算X1k的IDFTx2n=ifft46(X2k,N)%调用ifft46函数计算X2k的IDFTx3n=ifft46(X3k,N)%调用ifft46函数计算X3k的IDFT运行程序输出时域序列如下所示,正是原序列x1n、x2n和x3n。x1n=10000000x2n=11111111x3n=12344321