matlab实现dtft变换
时间: 2023-11-20 21:57:56 浏览: 152
用matlab实现DTFT 和DFT
5星 · 资源好评率100%
以下是MATLAB实现DTFT变换的代码和步骤:
1.定义信号序列x(n)和频率变量w:
```matlab
n = 0:1:10; % 定义序列n
x = sin(2*pi*0.2*n); % 定义信号序列x(n)
w = -pi:0.01:pi; % 定义频率变量w
```
2.计算DTFT变换:
```matlab
X = zeros(1,length(w)); % 初始化DTFT变换结果
for i = 1:length(w)
for j = 1:length(n)
X(i) = X(i) + x(j)*exp(-1j*w(i)*n(j)); % DTFT变换公式
end
end
```
3.绘制DTFT变换幅度谱和相位谱:
```matlab
subplot(2,1,1); % 绘制幅度谱
plot(w,abs(X));
xlabel('Frequency (rad/sample)');
ylabel('Magnitude');
title('DTFT Magnitude');
subplot(2,1,2); % 绘制相位谱
plot(w,angle(X));
xlabel('Frequency (rad/sample)');
ylabel('Phase (rad)');
title('DTFT Phase');
```
运行以上代码,即可得到信号序列x(n)的DTFT变换幅度谱和相位谱。
阅读全文