绘制输入信号和输出信号的波形、功率谱对比图的matlab代码
时间: 2024-03-20 19:43:17 浏览: 25
以下是一个简单的 MATLAB 代码,用于绘制输入信号和输出信号的波形、功率谱对比图。
```matlab
% 创建输入信号
t = linspace(0, 1, 1000);
x = sin(2*pi*50*t) + sin(2*pi*120*t);
% 创建一个带有噪声的输出信号
y = x + 2*randn(size(t));
% 绘制输入信号和输出信号的波形
subplot(2,1,1);
plot(t, x);
hold on;
plot(t, y);
legend('输入信号', '输出信号');
xlabel('时间');
ylabel('幅值');
% 计算输入信号和输出信号的功率谱密度
Fs = 1000; % 采样率
N = length(t); % 信号长度
xdft = fft(x);
ydft = fft(y);
Px = xdft.*conj(xdft)/(N*Fs);
Py = ydft.*conj(ydft)/(N*Fs);
f = linspace(0, Fs/2, ceil(N/2)+1);
% 绘制输入信号和输出信号的功率谱密度
subplot(2,1,2);
plot(f, 10*log10(Px(1:ceil(N/2)+1)), 'r');
hold on;
plot(f, 10*log10(Py(1:ceil(N/2)+1)), 'b');
legend('输入信号', '输出信号');
xlabel('频率');
ylabel('功率谱密度 (dB/Hz)');
```
代码中创建了一个简单的输入信号(由两个正弦波叠加而成),并创建一个带有噪声的输出信号。然后,使用 FFT 函数计算输入信号和输出信号的功率谱密度,并将它们绘制出来以进行对比。请注意,为了更好地可视化功率谱密度,我们使用了 dB/Hz 单位,并将频率取对数。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)