# Matlab : Adding noise with regard to signal-to-noise ratio or EbNo?

A signal x takes values from an alphabet set.
My objective is to estimate the channel parameters hest using adaptive methods and then plot the graph of mean square error (MSE) between the estimated coefficients and the actual vs range of SNR values considered. These are the following questions :

• Plot of BER vs. signal to noise ratio -- When I want to plot the BER, and the signal takes values other than BPSK say QAM then also I will be estimating the channel coefficients for each snr by adding snr using awgn() using the same code. Then should the X axis be labelled as EsNo or EbNo? In a similar question asked here Adding AWGN noise with a correct noise power to the signal

the answer is to use EbNo. In a Matlab implementation https://www.mathworks.com/matlabcentral/fileexchange/39011-ber-comparison-of-m-ary-qam?focused=5251697&tab=function, using the EbNo range the noise signal of a particular snr is generated. But, the BER plot shown has EbNo on X axis. This is confusing since the awgn() function is using snr and not EbNo.

• Plot of error vs snr -- For each noise added, I will calculate the error between the estimates and the actual coefficient. The X axis would be the range of snr and Y Axis the error values. Would the X Axis be snr or EbNo or EsNo irrespective of the symbol set?

In my case the data takes values in symbols and not bits. What should I use? Please help in clearing these concepts. Thank you.

These stuffs $E_s/N_0, E_b/N_0 \textrm{ and SNR}$ are convertible.

\begin{align} E_s/N_0 &= E_b/N_0 + 10\log_{10}(k) \\ E_s/N_0 &= 10\log_{10}(T_{sym}/T_{samp}) + \mathrm{SNR} \end{align}

where $k$ is the number of information bits per symbol, $T_{sym}$ is the signal's symbol period and $T_{samp}$ is the signal's sampling period. More details can be found at AWGN channel MATLAB.

y = awgn(x,snr) adds white Gaussian noise to the vector signal x. The scalar snr specifies the signal-to-noise ratio per sample, in dB. If x is complex, awgn adds complex noise.

In your case, no oversampling thus awgn() uses its snr parameter to generate $E_s/N_0 =$ snr.

You are free to plot your BER curves over $E_s/N_0$ or $E_b/N_0$ because they are equivalent. You just need to convert them back and forth via the modulation order $k$.

However $E_b/N_0$ is usually prefered because (EbN0 wikipedia)

$E_b/N_0$ directly indicates the power efficiency of the system without regard to modulation type, error correction coding or signal bandwidth (including any use of spread spectrum). This also avoids any confusion as to which of several definitions of "bandwidth" to apply to the signal.

• In my case, the data takes in symbols. So the transmitted information is in symbols. My application is in gene information representation and compressed sensing, where I am not using any particular modulation type as per norm in signal processing and channel estimation. My h are basically the transformation matrix and the symbols are from the alphabet set $\{1,2,3,4\}$. SO, there is no use of spread spectrum. Only the observation noise is assumed to be zero mean Gaussian random variable with varaince 1. – Ria George Sep 20 '17 at 19:42
• Since, EsNo term has Es in it and my data takes in symbols and not a compound bit word. So I don't have anysampling period etc since the data is already digital.I am confused regarding the following (A) whether to use snr or EsNo in the graph of error vs snr. Based on your answer, it EsNo = snr so I guess is it okay for me to use snr and not EsNo or EbNo label in the graph of Error Rate vs. EsNo where EsNo = Snr so in effect I am actually plotting Error Rate vs. EsNo where error rate is the error between each value of the actual symbol and the estimated symbol. – Ria George Sep 20 '17 at 19:47
• The other graph plots the Error between actual transformation matrix and estimates vs SNR. Is this correct? Can you please confirm this part? (B) Confused about the formula of SNR. Could you please provide the formula for SNR (not the ESNo or EbNo). Thank you for your help. – Ria George Sep 20 '17 at 19:47
• (A) for a given system, one snr corresponds to one EsN0 and vice versa thus you can plot whatever you want. If you want to understand what is snr parameter in the awgn() function, in your case, it is snr=EsN0. – AlexTP Sep 20 '17 at 21:59
• @RiaGeorge AWGN model, as its name, is just a model. And the performance of this model depends on the ratio signal over noise SNR. Thus, you can think like this. Personally, I prefer thinking we vary signal power which is easier to control and the AWG noise power is fixed because AWG noise is a model of pertubations caused by Brownian motion of particles at receiver that is (relatively) constant (it depends on temperature). Nevertheless, because this is a model, you can do both ways. – AlexTP Sep 21 '17 at 6:21