Simulates the impact of additive white Gaussian noise channel (AWGN). [ r ] = Channel_AWGN( s, Para ) The function works for SISO and MIMO systems. Input arguments: s: transmit signal. Size: matrix [N, nFrameSamples]. Para: structure containing the modulation parameters. Outputs arguments: r: received signal impacted by AWGN. Size: matrix [N, nFrameSamples]
0001 function [ r ] = Channel_AWGN( s, Para ) 0002 % Simulates the impact of additive white Gaussian noise channel (AWGN). 0003 % 0004 % [ r ] = Channel_AWGN( s, Para ) 0005 % 0006 % The function works for SISO and MIMO systems. 0007 % 0008 % Input arguments: 0009 % 0010 % s: transmit signal. Size: matrix [N, nFrameSamples]. 0011 % 0012 % Para: structure containing the modulation parameters. 0013 % 0014 % Outputs arguments: 0015 % 0016 % r: received signal impacted by AWGN. Size: matrix [N, nFrameSamples] 0017 % 0018 0019 0020 % This file is part of WaveComBox: www.wavecombox.com and is distributed under 0021 % the terms of the MIT license. See accompanying LICENSE file. 0022 % Original author: François Rottenberg, May 3, 2018. 0023 % Contributors: 0024 % Change log: 0025 0026 Para.Es_N0=10.^(Para.Es_N0_dB/10); 0027 N0=Para.Es./Para.Es_N0; 0028 0029 % AWGN 0030 noise=sqrt(N0/2)*(randn(size(s))+1j*randn(size(s))); 0031 r=s+noise; 0032 0033 end 0034