matlab离散傅里叶变换代码
时间: 2023-10-07 10:07:29 浏览: 260
DFT的matlab源代码-DFT:使用MATLAB的离散傅立叶变换
下面是一个示例的Matlab代码实现离散傅里叶变换的例子:
```matlab
Ts = 0.001; % 采样间隔
n = -25:1:25; % 离散时间序列
x = exp(-1000 * abs(n*Ts)); % 离散时间信号
K = 500; % 傅里叶系数个数
k = 0:1:K;
w = pi * k/K; % 频率序列
X = x * exp(-j*n'*w); % 离散傅里叶变换
X = real(X); % 取实部
w = [-fliplr(w), w(2:501)]; % 频率序列(包括负频率)
X = [fliplr(X), X(2:501)]; % 傅里叶变换结果
% 绘制离散信号和离散傅里叶变换图像
subplot(2,2,1);
plot(n*Ts * 1000, x, '.');
ylabel('x(t)');
xlabel('t');
title('离散信号');
subplot(2,2,2);
plot(w/pi, X, '.');
ylabel('X(jw)');
xlabel('f');
title('离散傅里叶变换');
```
这段代码通过定义采样间隔Ts和离散时间序列n来构造离散时间信号x。然后定义傅里叶系数个数K和频率序列w,使用离散傅里叶变换公式计算出离散傅里叶变换结果X。最后通过subplot函数绘制离散信号和离散傅里叶变换的图像。
阅读全文