Sign in

username:

password:



Not a member?

Search blogs



Search tips

Articles by category

Our Bloggers

DSP Blogs > Parth Vakil > Modelling a Noisy Communication Signal in MATLAB for the Analog to Digital Conversion Process

Parth Vakil
Parth is an Electrical Engineer at Naval Research Lab in Washington DC. He graduated with a Masters in Electrical Engineering with a concentration in DSP from University of Maryland. He has been working in the field of communications, networks and signal processing for the last 5 years.

RSS Feed

Would you like to be notified by email when Parth Vakil publishes a new blog?

  

Modelling a Noisy Communication Signal in MATLAB for the Analog to Digital Conversion Process

Posted by Parth Vakil on Oct 30 2007 under Matlab | Basics   

Modelling Communications SignalA critical thing to realize while modeling the signal that is going to be digitally prcoessed is the SNR. In a reciever, the noise floor (hence the noise variance and hence its power) are determined by the temperature and the Bandwidth. For a system with a constantCommunications Signal Model bandwidth, relatively constant temperature, the noise power remains relatively constant as well. This implies that the noise variance is a constant.

In MATLAB, the easiest way to create a noisy signal is by using awgn(sig,SNR,'measured'). Or, this has been the method that I have used extensively to generate a noisy signal. Earlier, I failed to realize that this was not correctly modeling the signal that I wanted to prcoess. Using awgn will produce noise after measuring the signal power.

Let me explain with an example. Say that we have generated a signal in MATLAB with variance of 0.5. Suppose we wanted SNR of 0dB, in MATLAB we would simply have y = awgn(sig,0,'measured').

If we measured the var(sig-y) we would end up with an answer of 0.5.

Let us follow the rest of the explanation in the pdf attached

Signal Modelling

 

The following short MATLAB script generates the noisy signal:

% Inputs: SNR Value, the Variance of the Noise of the reciever and the

% original sig

% Outputs: The noisy signal and the noise with the required noise variance

function [sign, noise] = sig_model(SNR, noise_var, sig)

sig_std = std(sig);

y = sqrt(noise_var)*sqrt(10^(SNR/10))*sig/sig_std;

sig_variance = var(sig)

scaled_signal_variance = var(y)



sign = awgn(y,SNR,'measured');

noise = sign-y;

noise_variance = var(noise)

Above script will generate the model of the analog signal that will hit the front end of the ADC. In the next blog, I will investigate the effects of the ADC process on this noisy signal.



Rate this article:
2.5
Rating: 2.5 | Votes: 2
 
posted by Parth Vakil
Parth is an Electrical Engineer at Naval Research Lab in Washington DC. He graduated with a Masters in Electrical Engineering with a concentration in DSP from University of Maryland. He has been working in the field of communications, networks and signal processing for the last 5 years.

Previous post by Parth Vakil: Hello and Introduction
Next post by Parth Vakil: Instantaneous Frequency Measurement
all articles by Parth Vakil

Would you like to be notified by email when Parth Vakil publishes a new blog?

  


Comments


 

Mobius wrote:

10/31/2007
 
Hello,
I am a practicing DSP engineer with interest in communications. I dont currently work in a communications field, but I am taking night classes in an MSEE program in this topic. I have some comments / questions:

I am not accustomed to thinking of signal power as being equal to its variance, so I have been exploring this concept. Examining the defintions (for real signals):

Average Power = 1/N * summation as n:1->N, of s(n)^2.

Variance = 1/N * summation as n:1->N, of [s(n)-mean(s)]^2

These two only become equal when the signal's mean is zero. Would you say that this is typically (or always?) the case in Communications signals?


Thanks!


 

ashonadvance wrote:

2/18/2008
 
u r doing nice work.
am also working on project based on matlab.
My aim is to reduce noise from noisy signal,image,audio &video signal.can u help me
 

vakilp wrote:

2/18/2008
 
ashonadvance,
I am wondering what your SNR is and over what bandwidth. What bandwidths are the actual signals you are looking to reduce noise on. The simples way to do this, if you are operating over a large bandwidth with a "narrow band" signal, is to simply band pass filter it. This can increase your SNR quite a bit.
 

rkp123 wrote:

6/13/2008
 
HEY!
im working on the transmitter and channel part of an SDR using matlab,could u help with the codin part?my knowledge of dsp is limited.just finished my 2nd yr b.tech

Add a Comment
You need to login before you can post a comment (best way to prevent spam). ( Not a member? )