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

4 ビュー (過去 30 日間)
SA-W
SA-W 2023 年 1 月 18 日
回答済み: Nadia Shaik 2023 年 3 月 6 日
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 Center および File ExchangePHY Components についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by