generating AWGN in matlab

조회 수: 14 (최근 30일)
michael
michael 2013년 8월 22일
편집: Walter Roberson 2015년 8월 30일
I'd like to have your overview if what I'm doing is OK.
I need to plot the BER vs Eb/No. So the noise power which I should generate should be related to Eb/No.
  1. bits are encoded into 1/2 rate encoder.
  2. the output of the encoder is converted to +1 and -1 symbols
  3. symbols are oversampled by OS ratio.
  4. the oversampled symbols are passed through Gaussian filter and this is the data which i send to the channel.
now i need to generate AWGN:
EbNo_dB_bit_list = -2:0.25:2;
EsNo_dB_no_code = EbNo_dB_bit_list - 10*log10(OS);
dec_EsNo_dB_no_code=10.^(-EsNo_dB_no_code/10);
sigma2 = 1/(2*Rate)*dec_EsNo_dB_no_code; % to include the code rate
ni = randn(1,length(modulated));
nq =randn(1,length(modulated));
noise=(ni+1j*nq)*sqrt(sigma2(k));

답변 (2개)

Bhavik Doshi
Bhavik Doshi 2013년 8월 22일
편집: Walter Roberson 2015년 8월 30일
clc; close all; clear all; sym=1000; snr=30; M=2;
msg=randi(1, M-1,sym) mod=pskmod(msg,M); for i=0:snr yn=awgn(mod,i); msgbar=pskdemod(yn,M); [a(i+1) b(i+1)]=biterr(msgbar,msg); end semilogy(0:snr,b,'r'); grid on title('Simple AWGN'); xlabel('Eb/No'); ylabel('BER');
  댓글 수: 2
Bhavik Doshi
Bhavik Doshi 2013년 8월 22일
Separate lines after ;
michael
michael 2013년 8월 22일
sorry, but i don't understand your answer. you have provided code for BER of BPSK. I need to have conformation that my steps in noise generation is OK

댓글을 달려면 로그인하십시오.


Bhavik Doshi
Bhavik Doshi 2015년 8월 30일
Let us consider that final signal this coded as x matrix. Assumption: x is a mxn matrix. x is already over sampled x is already modulated and coded as per requirement you need y = xh + n where h is complex channel and n is noise.
Now, as you mentioned, you do not need h, assuming wired transmission.
y= x+n.
Matlab implementation:
y = awgn(x, snr);
use x as your coded modulated signal matrix or vector. snr = choose value between 0 to 30 db only.

카테고리

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