对下面这个信号添加高斯白噪声使信噪比为0db。f = 50; % 频率 duty = 50; % 占空比 t = 0:0.0001:0.1; % 时间 y = square(2*pi*f*t,duty); % 方波 plot(t,y) axis([0 0.1 -1.5 1.5])
时间: 2023-11-27 18:51:48 浏览: 61
关于信噪比的计算,高斯白噪声
5星 · 资源好评率100%
可以使用以下代码实现:
```matlab
f = 50; % 频率
duty = 50; % 占空比
t = 0:0.0001:0.1; % 时间
y = square(2*pi*f*t,duty); % 方波
% 添加高斯白噪声
SNR = 0; % 信噪比为0dB
P_signal = mean(y.^2); % 信号功率
P_noise = P_signal / (10^(SNR/10)); % 噪声功率
noise = randn(size(y)) * sqrt(P_noise);
y_noisy = y + noise;
% 绘制带噪声的信号
plot(t,y_noisy)
axis([0 0.1 -1.5 1.5])
```
运行以上代码将得到一个带有高斯白噪声的方波信号,并且信噪比为0dB。
阅读全文