add (white) Gaussian noise to displacement signal, noise level = ( |x-x*| / |x*| ): can I use utilize awgn()?

5 visualizzazioni (ultimi 30 giorni)
I want to add artificial (white) Gaussian noise to my numerically generated signal. In the title of my question,
x %is the displacement signal including noise
x* %is the noiseless displacement signal
noise_level = ( |x-x*| / |x*| )
I read that awgn() function requires the signal-noise-ratio. I have no deep knowledge about signal theory.
My question is whether I can translate my noise_level into a SNR?

Risposta accettata

Nadia Shaik
Nadia Shaik il 6 Mar 2023
Hi Simon,
I understand that you want to translate noise level to SNR so that you can add AWGN noise to a signal.
SNR stands for Signal-to-Noise Ratio, which is a measure of the ratio of the power of the signal to the power of the noise. It is often expressed in decibels (dB) and is a common metric used to evaluate the quality of a signal in the presence of noise.
The formula to convert noise_level to SNR in decibels (dB) is:
SNRdB = 10 * log10(P_signal / P_noise)
where P_signal is the power of the noiseless signal, and P_noise is the power of the noise.
To calculate P_noise, you can use the following formula:
P_noise = (noise_level * norm(x))^2;
where x is the noiseless signal.
You can calculate SNR and then pass it to "awgn" function to add Gaussian noise to your signal.
I hope this helps!

Più risposte (0)

Categorie

Scopri di più su Propagation and Channel Models in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by