How awgn add white noise on complex envolope signal

18 ビュー (過去 30 日間)
Chen
Chen 2020 年 1 月 16 日
回答済み: Kaashyap Pappu 2020 年 1 月 21 日
Hello
An I/Q baseband signal goes through Tx, the wave received by Rx at carrier (fc) with condisering receiver noise should be "rx_noise"
noise=0.1*rand(length(t),1)
rx = [I(t)*cos(2*pi*fc*t) - Q(t)*sin(2*pi*fc*t)]
rx_noise=rx.*noise
then use Matlab snr, we can get the SNR
SNR=snr(rx,noise);
the complex envolope of the rx is
RX=[I(t) + 1i*Q(t)].*exp(1i*2*pi*fc*t)
My question are:
  1. how "RX_noise=awgn(RX,SNR,'measured') " add noise to the RX?
  2. does real(Rx_noise) = rx_noise?
Many thanks in advance!
Chen

回答 (1 件)

Kaashyap Pappu
Kaashyap Pappu 2020 年 1 月 21 日
  1. awgn(RX,SNR,'measured') adds noise to each sample of RX. If RX is a real vector, only the real component has noise added to it. If RX is a complex vector, noise with complex representation ‘a + ib’ is added to each element of RX. The values of ‘a’ and ‘b’ are generated using a gaussian distribution, where the magnitudes are dependent on the SNR value provided. The 'measured' option takes the current received signal power in consideration to generate the noise samples.
  2. As mentioned, this is valid only if the input RX samples are real. If it is complex IQ samples, then this may not be a valid assumption.
You can learn more about how the noise samples are generated by typing the following command in the command console:
edit awgn
The documentation for awgn can also provide more information regarding the function.
Hope this helps!

カテゴリ

Help Center および File ExchangePropagation and Channel Models についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by