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

조회 수: 5 (최근 30일)
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?

채택된 답변

Nadia Shaik
Nadia Shaik 2023년 3월 6일
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!

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Propagation and Channel Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by