MATLAB绘制0.9的n次幂u[n]的dtft的实部虚部和相位的图像
时间: 2024-09-24 19:24:47 浏览: 60
在MATLAB中,绘制信号$ u[n] = 0.9^{n} $ 的离散时间傅立叶变换 (DTFT) 实部、虚部和相位图,可以分为以下几个步骤:
1. 定义信号序列:
```matlab
n = -lengthscale : lengthscale; % 选择合适的长度scale
un = 0.9 .^ n;
```
2. 计算DTFT:
```matlab
N = length(n);
X = fftshift(fft(un)); % 使用fft并进行中心对齐
f = (-N/2:N/2-1)/Fs; % 创建频率轴,假设采样率Fs
```
3. 分析DTFT:
- 实部和虚部:
```matlab
real_X = real(X); % DTFT的实部
imag_X = imag(X); % DTFT的虚部
```
- 相位:
```matlab
phase_X = angle(X); % 计算相位(以弧度表示)
```
4. 绘制结果:
```matlab
% 绘制实部
plot(f, real_X)
xlabel('Frequency (Hz)')
ylabel('Real part of DTFT')
title('Real part of 0.9^n')
% 绘制虚部
hold on
plot(f, imag_X, 'color', 'red') % 'hold on'用于在同一窗口添加更多图层
legend('Real part', 'Imaginary part')
% 绘制相位
hold off
subplot(2,1,2)
plot(f, phase_X, 'LineWidth', 1.5)
xlabel('Frequency (Hz)')
ylabel('Phase (radians)')
title('Phase of 0.9^n')
```
完成以上步骤后,你会得到信号$0.9^n$的DTFT在频域的实部、虚部以及相位的图形。
阅读全文