数字信号的 FFT 分析

Question 1

已知信号
1
这里,N=25,Q= 0.9+j0.3。可以推导出 ,
2
首先根据这个式子计算 X(k) 的理论值,然后计算输入序列 x(n) 的32个值,再利用基2时间抽选的FFT算法,计算 x(n) 的离散傅里叶变换(DFT) X(k) ,与 X(k) 的理论值比较(要求计算结果最少6位有效数字)。

代码

format long;                            %精度达到15位
Q=complex(0.9,0.3);                     %计算Q
n=0:24;
xn=Q.^n;                                %生成25点x(n)
WN=exp(-j*2*pi/25);                     %计算WN
Xk=(1-Q.^25)./(1-Q.*WN.^n);             %用理论公式计算X(k)
xn=[xn,zeros(1,7)];                     %补零生成32点x(n)
Xk1=fft(xn,32);                         %用基2-时间抽选FFT计算X(k)
subplot(3,1,1);                         %绘制定义式计算的X(k)
stem(n,abs(Xk));
title('N=25 Use Definition');
subplot(3,1,2);                         %绘制DIT-FFT计算的X(k)
stem(0:31,abs(Xk1));
title('N=32 Use DIT-FFT');
Xk=[Xk,zeros(1,7)];
subplot(3,1,3);                         %绘制差值图
stem(0:31,abs(Xk1-Xk));
title('Difference');

图像

3
由图像可知,FFT计算得到的X(k)与理论值基本一致,但也存在较大误差。这可能与计算机运算的舍入有关。

Question 2

假设信号 x(n)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值