离散傅里叶变换 matlab程序
时间: 2023-08-23 18:11:32 浏览: 222
离散傅里叶变换的Matlab程序如下:
```matlab
clear all;
Ts1 = 0.0002;
Fs1 = 1/Ts1;
n1 = -25:1:25;
nTs1 = n1*Ts1;
% 离散时间信号 x1
x1 = exp(-1000 * abs(nTs1));
Ts2 = 0.001;
Fs2 = 1/Ts2;
n2 = -5:1:5;
nTs2 = n2*Ts2;
% 离散时间信号 x2
x2 = exp(-2000*abs(nTs2));
Dt = 0.00005;
t = -0.005:Dt:0.005;
% 模拟信号重构
xa1 = x1*sinc(Fs1*(ones(length(nTs1),1) * t - nTs1'*ones(1,length(t))));
xa2 = x2*sinc(Fs2*(ones(length(nTs2),1) * t - nTs2'*ones(1,length(t))));
subplot(2,1,1);
plot(t*1000,xa1,'.');
ylabel('x1(t)');
xlabel('t');
title('从x1(n)重构模拟信号x1(t)');
hold on
stem(n1 * Ts1*1000,x1);
hold off
subplot(2,1,2);
plot(t*1000,xa2,'.');
ylabel('x2(t)');
xlabel('t');
title('从x2(n)重构模拟信号x2(t)');
hold on
stem(n2*Ts2*1000,x2);
hold off
```
这段程序实现了离散傅里叶变换的过程。首先定义了两个离散时间信号x1和x2,然后通过sinc函数将这两个信号重构为模拟信号xa1和xa2。最后,使用subplot函数将两个信号的图像绘制在同一个图中。
请注意,这段程序中使用了一些参数和函数,如Ts1、Fs1、n1、nTs1、x1、Ts2、Fs2、n2、nTs2、x2、Dt和t。这些参数和函数的具体含义和用法可以参考Matlab的文档或相关教程。
#### 引用[.reference_title]
- *1* *2* *3* [matlab编写关于离散的傅里叶变换](https://blog.csdn.net/weixin_42129435/article/details/117848111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文