matlab画出周期矩形信号的相位谱
时间: 2023-07-13 19:13:40 浏览: 298
Matlab技术信号生成方法.docx
要绘制周期矩形信号的相位谱,可以将幅度谱的计算稍作修改,使用angle函数计算FFT结果的相位,然后再绘制相位谱。以下是修改后的代码:
```
T = 1; % 周期
D = 0.25 * T; % 脉冲宽度为周期的1/4
Fs = 1000; % 采样频率
t = 0:1/Fs:T-1/Fs; % 时域采样点
x = rectpuls(t, D); % 周期矩形脉冲
N = length(x); % 采样点数
X = fft(x); % FFT计算
f = Fs * (0:(N/2))/N; % 频域采样点
P = angle(X); % 相位谱
subplot(2,1,1);
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Periodic Rectangular Pulse');
subplot(2,1,2);
plot(f, P(1:N/2+1));
xlabel('Frequency (Hz)');
ylabel('Phase (rad)');
title('Phase Spectrum');
```
代码中,我们将幅度谱计算的语句`P = abs(X/N).^2;`修改为`P = angle(X);`,使用angle函数计算FFT结果的相位,并将绘图函数的y轴标签改为'Phase (rad)'。其他部分与绘制幅度谱的代码基本相同。
阅读全文