cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kanava.pitchai
Contributor
Contributor
12,555 Views
Registered: ‎11-14-2011

white Gaussian noise block in system generator

Jump to solution

what is the function of WGN toolbox, and i want to implement this box in my psk demodulation design.

please help me sir.

Shark
0 Kudos
1 Solution

Accepted Solutions
vlavruhin
Explorer
Explorer
14,794 Views
Registered: ‎12-08-2010

Hi.

 

Kanava, are you looking for a way to add a noise to the input signals of your model? Or are you going to generate a noisy signal inside the FPGA?

 

To add to what Eilert said: if you need noise signal inside Simulink for simulation only, then you can also use the following blocks from the Communication Blockset:

1) Gaussian Noise Generator (for generating white gaussian noise)

http://www.mathworks.com/help/toolbox/comm/ref/gaussiannoisegenerator.html

2) AWGN Channel (for adding white gaussian noise to existing signal)

http://www.mathworks.com/help/toolbox/comm/ref/awgnchannel.html

Best Regards,
Vitaly.

View solution in original post

0 Kudos
8 Replies
eilert
Teacher
Teacher
12,548 Views
Registered: ‎08-14-2007

Hi,

wgn is a function in the Communication Toolbox.

Read the documentation here:

http://www.mathworks.de/help/toolbox/comm/ref/wgn.html

 

From your thread-title it seems obvious that you know that wgn stands for white gaussian noise, and that's just what this function does, creating noisi data.

 

Since there seems to be no simulink block equvalent to this function you can not use it directly with sysgen.

However it is possible to calculate noise data in the matlab workspace and feed them into a simulink/sysgen simulation.

There are some threads here explaining how to set up simulations controlled by matlab scripts. (Very powerful method!)

 

If you need some noise data in your design, you should read about LFSRs and PRN Generators. (e.g. in Clive Maxwells "Beebop to the Boolean Boogie").

 

Have a nice synthesis

  Eilert

 

0 Kudos
vlavruhin
Explorer
Explorer
14,795 Views
Registered: ‎12-08-2010

Hi.

 

Kanava, are you looking for a way to add a noise to the input signals of your model? Or are you going to generate a noisy signal inside the FPGA?

 

To add to what Eilert said: if you need noise signal inside Simulink for simulation only, then you can also use the following blocks from the Communication Blockset:

1) Gaussian Noise Generator (for generating white gaussian noise)

http://www.mathworks.com/help/toolbox/comm/ref/gaussiannoisegenerator.html

2) AWGN Channel (for adding white gaussian noise to existing signal)

http://www.mathworks.com/help/toolbox/comm/ref/awgnchannel.html

Best Regards,
Vitaly.

View solution in original post

0 Kudos
kanava.pitchai
Contributor
Contributor
12,542 Views
Registered: ‎11-14-2011

Hi,

thank u for ur reply.

I want to implement my modulation design with AWGN block  using system generator for FPGA. so, i want to implement in hardware also.(not in simulink)

have u use this block in system generator.

Shark
0 Kudos
eilert
Teacher
Teacher
12,535 Views
Registered: ‎08-14-2007

Hi,

for synthesis with sysgen you are limited to the blocks in the Xilinx Blockset.

Everything between a Gateway In and a Gateway Out has to be from that library.

 

All other blocks (Simulink standard or from any Toolbox) are only good to support simulation.

Eiter for stimuli Generation, as reference Models or for analyzing the responses of your designed system.

 

The reason behind this is that algorithms running in software can not easily be transfered into hardware.

It's a different environment with a higher degree of freedom.

This requires to use different approaches to solve an algorithm.

The effort spent for this is rewarded with e.g. higher efficiency or power saving, whatever your design goal is.

 

So if you have the need for some WGN think how it can be created using Hardware and then build the system either with a Xilinx Blockset schematiich, some HDL in a Black Box or some (simple and restricted) Matlab code in a MCode block.

That's the way to go for synthesis.

 

Have a nice synthesis

  Eilert

0 Kudos
vlavruhin
Explorer
Explorer
12,534 Views
Registered: ‎12-08-2010

Hi.

 

Ok, you would like to generate white Gaussian noise samples inside the FPGA part of System Generator model.

There is no helpful block for this task in Xilinx blockset. So you should build one. To do that look at suggested by Eilert book and study the methods for pseudorandom numbers generation.

Most pseudorandom number generators give you numbers with uniform distribution.

 

Whiteness of noise refers to flat power spectrum density function. It can be achieved if all samples of noise are uncorrelated. 

To get Gaussian distribution of noise (if you really need it), you can calculate one Gaussian noise sample by summation of N uniform pseudorandom numbers. The larger values of N give more precise Gaussian distribution.

Best Regards,
Vitaly.
0 Kudos
ywu
Xilinx Employee
Xilinx Employee
12,533 Views
Registered: ‎11-28-2007

There is a White Gaussian Noise Generator in the Communication folder of "Xilinx Reference Blockset" (see the snapshot below). The usage is pretty straight forward.

 

ScreenHunter_171.jpg

Cheers,
Jim
vlavruhin
Explorer
Explorer
12,529 Views
Registered: ‎12-08-2010

Sorry, I haven't looked at Reference Library for a long time. Thank you very much, Jim!

Best Regards,
Vitaly.
0 Kudos
shhrikant1
Observer
Observer
11,670 Views
Registered: ‎09-14-2012

Hi,

 

I saw your post in the forum, I am trying to exactly what you mentioned in this post..

I  believe you might have solved this issue,

Can you please share your experience , how did you solve your problem?

 

shhrikant

World is great with FPGAs
0 Kudos