均方根误差(RMSE)评估信号去噪效果的MATLAB代码
时间: 2023-12-20 17:03:42 浏览: 797
以下是使用均方根误差(RMSE)评估信号去噪效果的 MATLAB 代码示例:
```matlab
% 原始信号
signal = sin(2*pi*10*[0:0.01:1]);
% 添加噪声
noisy_signal = signal + 0.5*randn(size(signal));
% 去噪
denoised_signal = denoise(noisy_signal);
% 计算均方根误差(RMSE)
rmse = sqrt(mean((signal - denoised_signal).^2));
% 绘制原始信号、添加噪声后的信号和去噪后的信号
plot(signal,'r'); hold on;
plot(noisy_signal,'g');
plot(denoised_signal,'b');
legend('原始信号','添加噪声后的信号','去噪后的信号');
% 显示均方根误差(RMSE)
disp(['均方根误差(RMSE)为:', num2str(rmse)]);
```
其中,`denoise` 函数是自定义的信号去噪函数,可以根据具体需求进行编写。在这个示例中,我们使用了简单的加性高斯噪声模型,以及 MATLAB 内置的均方根误差(RMSE)计算函数 `sqrt(mean((signal - denoised_signal).^2))` 来评估去噪效果。
阅读全文