怎么用matlab计算SNR
时间: 2023-09-21 12:09:19 浏览: 216
matlab计算SNR_SNR计算
要计算信噪比(SNR),需要先确定信号的功率和噪声的功率,然后将两者相除并取对数。在MATLAB中,可以使用以下代码计算信噪比:
```matlab
% 假设原始信号为x,加噪声后的信号为y
x = ...; % 输入原始信号
y = ...; % 输入加噪声后的信号
noise = y - x; % 计算噪声
signal_power = sum(x.^2) / length(x); % 计算信号功率
noise_power = sum(noise.^2) / length(noise); % 计算噪声功率
snr = 10 * log10(signal_power / noise_power); % 计算信噪比
```
其中,`x`和`y`分别为原始信号和加噪声后的信号,`noise`为噪声信号,`signal_power`为信号功率,`noise_power`为噪声功率,`snr`为信噪比。注意,这里的`^`表示乘方运算,`sum`函数用于求和,`length`函数用于获取向量的长度,`log10`函数用于计算以10为底的对数。
阅读全文