Matlab 在噪声信号中获得期望的输入信噪比

Matlab 在噪声信号中获得期望的输入信噪比,matlab,signal-processing,noise,Matlab,Signal Processing,Noise,我已经获得了一个干净的语音信号,需要通过添加一定量的白噪声来获得0dB、5dB和10dB的输入信噪比。 谁能解释一下0dB,5dB。。。是?这是命令中白噪声的威力吗 noise=wgn(1,20115,0); 如果不是,如何实现0dB、5dB和10dB的输入SNR?信噪比(SNR)是相对于噪声功率的信号功率。在向干净信号添加高斯白噪声的同时,实现给定信噪比的最简单方法是: 这将计算给定信号所需的噪声水平,该信号可能没有单位功率。这不是编程问题,而是信号处理问题。 input_snr_db =

我已经获得了一个干净的语音信号,需要通过添加一定量的白噪声来获得0dB、5dB和10dB的输入信噪比。 谁能解释一下0dB,5dB。。。是?这是命令中白噪声的威力吗

noise=wgn(1,20115,0);
如果不是,如何实现0dB、5dB和10dB的输入SNR?

信噪比(SNR)是相对于噪声功率的信号功率。在向干净信号添加高斯白噪声的同时,实现给定信噪比的最简单方法是:


这将计算给定信号所需的噪声水平,该信号可能没有单位功率。

这不是编程问题,而是信号处理问题。
input_snr_db = 5; % Choose input SNR in dB
noisy_signal = awgn(clean_signal, input_snr_db, 'measured');