DSPRelated.com
Forums

gaussian noise in MIMO system

Started by totohaha April 25, 2008
I want to simulate a MIMO system in Matlab, can anybody tell me how to add
gaussian noise for a MIMO system given EbNo(in dB), say M*N, how to
caculate the noise variance and the standard deviation?
>I want to simulate a MIMO system in Matlab, can anybody tell me how to
add
>gaussian noise for a MIMO system given EbNo(in dB), say M*N, how to >caculate the noise variance and the standard deviation? >
I dont want to use the Matlab function awgn(), so am I right to caculate as follows? eb_n0_linear = 10^(EbN0/10); noise_std = sqrt(1/(2*sqrt(M)*eb_n0_linear)); noise_var = M/eb_n0_linear; awgn_noise = noise_std *(randn(N, 1)+j*randn(N, 1));
anyone know the answer?
On Fri, 25 Apr 2008 17:03:41 -0500, totohaha wrote:

>>I want to simulate a MIMO system in Matlab, can anybody tell me how to > add >>gaussian noise for a MIMO system given EbNo(in dB), say M*N, how to >>caculate the noise variance and the standard deviation? >> >> > > I dont want to use the Matlab function awgn(), so am I right to caculate > as follows? > > eb_n0_linear = 10^(EbN0/10); > noise_std = sqrt(1/(2*sqrt(M)*eb_n0_linear)); noise_var = > M/eb_n0_linear; > awgn_noise = noise_std *(randn(N, 1)+j*randn(N, 1));
You seem to be mixing metaphors. Are you _simulating_ the system, or trying to analyze it and predict it's behavior? I have seen additive Gaussian noise modeled as a linear MIMO system that's being excited by a vector of independent, unity-power-density white zero-mean Gaussian processes: dx_n/dt = A * x_n + B * w, y_n = C * x_n, where y_n is the noise vector that gets added in to your system and w is a vector of independent white Gaussian processes. This method gives you good control over the spectral and cross- correlation properties of your resulting noise vector, although if your spectral requirements are complex then your state evolution matrix (and state vector) may get quite large. I wouldn't know how to do this in Matlab, specifically -- Matlab is just a tool; if you know your tool and you know your method then you can use the tool to implement the method. If you don't know your method then you have no chance of implementing it correctly. The best you can hope for is in such a circumstance is that your use of someone else's implementation happens to be right -- but you can't know for sure. -- Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
thanks, i just want to simulate a MIMO system (say 2*2) and add the
Gaussian noise into the transmitted signal based on a specific EbNo. 
On Sun, 27 Apr 2008 09:40:02 -0500, totohaha wrote:

(context restored -- this is USENET)
On Sat, 26 Apr 2008 10:44:29 -0500, Tim Wescott wrote:

> On Fri, 25 Apr 2008 17:03:41 -0500, totohaha wrote: > >>>I want to simulate a MIMO system in Matlab, can anybody tell me how to >> add >>>gaussian noise for a MIMO system given EbNo(in dB), say M*N, how to >>>caculate the noise variance and the standard deviation? >>> >>> >>> >> I dont want to use the Matlab function awgn(), so am I right to >> caculate as follows? >> >> eb_n0_linear = 10^(EbN0/10); >> noise_std = sqrt(1/(2*sqrt(M)*eb_n0_linear)); noise_var = >> M/eb_n0_linear; >> awgn_noise = noise_std *(randn(N, 1)+j*randn(N, 1)); > > You seem to be mixing metaphors. Are you _simulating_ the system, or > trying to analyze it and predict it's behavior? > > I have seen additive Gaussian noise modeled as a linear MIMO system > that's being excited by a vector of independent, unity-power-density > white zero-mean Gaussian processes: > > dx_n/dt = A * x_n + B * w, y_n = C * x_n, > > where y_n is the noise vector that gets added in to your system and w is > a vector of independent white Gaussian processes. > > This method gives you good control over the spectral and cross- > correlation properties of your resulting noise vector, although if your > spectral requirements are complex then your state evolution matrix (and > state vector) may get quite large. > > I wouldn't know how to do this in Matlab, specifically -- Matlab is just > a tool; if you know your tool and you know your method then you can use > the tool to implement the method. > > If you don't know your method then you have no chance of implementing it > correctly. The best you can hope for is in such a circumstance is that > your use of someone else's implementation happens to be right -- but you > can't know for sure.
(end restored context)
> thanks, i just want to simulate a MIMO system (say 2*2) and add the > Gaussian noise into the transmitted signal based on a specific EbNo.
Then use the above equations to generate your noise vector based on your knowledge of the system, add it to your received signal vector, and continue your simulation. -- Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html