Hello,
i am trying to do some simulation of AWGN channel. matlab has a function awgn(x,snr). what kind of snr does it use here? is it Eb/No (average bit energy/power spectral density)? If so, then i know the awgn has a PSD equal to No/2. does that psd in the snr term implies No/2?
-OBLI

 採用された回答

Darel
Darel 2021 年 8 月 4 日

0 投票

The function awgn does not use EbNo. It uses SNR, defined in the same manner as the snr() function from the Signal Processing Toolbox: sum of the squared samples of the signal over sum of the squared samples of the noise, where that ratio is converted to dB. Thus, if you created noisy data according to
y = awgn(x, SNR);
you should be able to check that
mySNR = snr(x, y-x)
is about the same as SNR in the first call.

その他の回答 (2 件)

Wayne King
Wayne King 2012 年 6 月 10 日

3 投票

With the syntax
y = awgn(x,snr);
You generate a white noise vector with a variance of
variance = 10^(-snr/10);
noise = sqrt(variance)*randn(size(x));
If you use 'measured', then awgn actually measures the signal power.
For example:
x = cos(pi/4*(0:99));
y = awgn(x,5,'measured');
In this case the variance of the additive white noise is:
sigp = 10*log10(norm(x,2)^2/numel(x));
snr = sigp-5;
noisep = 10^(snr/10);
noise = sqrt(noisep)*randn(size(x));

5 件のコメント

Gautam Sreekumar
Gautam Sreekumar 2017 年 6 月 10 日
編集済み: Gautam Sreekumar 2017 年 6 月 10 日
Is snr in dB or in linear scale?
shaunaksinha
shaunaksinha 2017 年 6 月 29 日
編集済み: shaunaksinha 2017 年 6 月 29 日
Going by the official MATLAB documentation for awgn, I think snr is in dB. [https://www.mathworks.com/help/comm/ref/awgn.html?searchHighlight=awgn&s_tid=doc_srchtitle]
shaunaksinha
shaunaksinha 2017 年 6 月 29 日
Why do we have this:
snr = sigp-5;
in the code. Seems like we are subtracting the given snr from the signal power. Not sure why this makes sense. Could somebody kindly explain this please?
Mustafa qays
Mustafa qays 2017 年 11 月 14 日
The calculation is correct but the variable names need to be corrected
Signal to noise ratio SNR = sigp/noise_p (in ratio)
or
SNR = sigp - noise_p (in dB)
=>
noise_p(dB) = sigp - SNR , SNR = 5 dB
noise_p(db) = sigp - 5
noise_p = 10^(noise_p(db)/10)
So , (snr) in his equation should be written as noise power in the last section of code
Mrutyunjaya Hiremath
Mrutyunjaya Hiremath 2020 年 9 月 13 日
Meaningful Explanation

サインインしてコメントする。

philip
philip 2023 年 10 月 11 日

0 投票

x = cos(pi/4*(0:99));
y = awgn(x,5,'measured');

カテゴリ

ヘルプ センター および File ExchangePropagation and Channel Models についてさらに検索

質問済み:

2012 年 6 月 10 日

回答済み:

2023 年 10 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by