matlab绘制白噪声通过低通滤波器后的信号
时间: 2023-10-08 12:08:40 浏览: 325
可以通过以下步骤绘制:
1. 生成白噪声信号。可以使用MATLAB中的函数awgn或randn来生成白噪声信号。
2. 设计一个低通滤波器。可以使用MATLAB中的函数fir1或designfilt来设计低通滤波器。
3. 将白噪声信号通过低通滤波器进行滤波。可以使用MATLAB中的函数filter来实现。
4. 绘制原始白噪声信号和经过低通滤波器后的信号的时域波形和功率谱密度图。可以使用MATLAB中的函数plot和pwelch来绘制。
下面是一个示例代码:
```matlab
% 生成白噪声信号
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间向量
x = randn(size(t)); % 白噪声信号
% 设计低通滤波器
fc = 100; % 截止频率
order = 50; % 阶数
b = fir1(order, fc/(fs/2)); % FIR低通滤波器系数
% 通过低通滤波器滤波
y = filter(b, 1, x);
% 绘制时域波形
subplot(2,1,1)
plot(t, x, 'k')
hold on
plot(t, y, 'r')
legend('原始白噪声', '滤波后信号')
xlabel('时间/s')
ylabel('幅值')
title('时域波形')
% 绘制功率谱密度图
subplot(2,1,2)
pwelch(x, [], [], [], fs)
hold on
pwelch(y, [], [], [], fs)
legend('原始白噪声', '滤波后信号')
xlabel('频率/Hz')
ylabel('功率谱密度')
title('功率谱密度图')
```
运行上述代码,即可得到白噪声信号经过低通滤波器后的时域波形和功率谱密度图。
阅读全文