06-25-2015 04:48 PM
Hello !
Does anyone know how to add AWGN to a carrier generated using NI RFSG ?
I know how to generate a CW signal using NI RFSG in Arbitrary Waveform mode (please see the attached file), but I have not found out yet how to add AWGN to it.
Thank you !
Aina
Solved! Go to Solution.
06-26-2015 12:15 PM
Hey Aina,
Have you seen the RFSG Arbitrary Waveform Generation example in the Example Finder?
In LabVIEW, go to Help>>Find Examples. The Example Finder will open. In the folders, navigate to Hardware Input and Output>>Modular Instruments>>NI-RFSG (RF Signal Generator)>>Arbitrary Waveforms.
In this folder you will find an example called "RFSG Arbitrary Waveform Generation". Give that a try and post back if that isn't what you are looking for. I think that should be a good place to start.
06-29-2015 02:24 PM
Hello Robert,
Thank you for your help !
Well, I examined the "RFSG Arbirtrary Waveform Generation.vi" file. Actually, it generates an arbitrary waveform through the RFSG.
However, it's very similar to the program I attached to my original post, in which I set I=1 and Q=0 to generate a sine wave. I data and Q data are declared as data arrays.
What I want to do is to add a SNR-controlled noise (AWGN) to the generated sine wave.
Thank you !
Aina
06-30-2015 04:54 PM
Aina,
I think you can just use one of the AWGN functions in LabVIEW and simply do a point-by-point add to your I/Q arrays.
Let me know what you think. Thanks, Aina.
07-07-2015 02:35 PM
Hello Robert !
Thank you for the tip ! It works great.
However, by doing a point-to-point add to the IQ arrays, the generated signal becomes [I(t)+N(t)]*sin(2*pi*f_carrier*t) + [Q(t)+N(t)]*cos(2*pi*f_carrier*t)
instead of I(t)*sin(2*pi*f_carrier*t) + Q(t)*cos(2*pi*f_carrier*t) + N(t) where N(t) represents the added noise.
Any idea how to generate a I(t)*sin(2*pi*f_carrier*t) + Q(t)*cos(2*pi*f_carrier*t) + N(t) signal using NI RFSG in Arbitrary Waveform mode ?
Thank you !
Aina
07-08-2015 03:09 PM
Hi Aina,
Do you have Modulation Toolkit? If you do, there is a VI that will do exactly this called MT Add AWGN VI. If you don't have Modulation Toolkit, we can discuss this further if need be.
07-09-2015 09:02 AM
Hi Robert !
Yes, I do have Modulation Toolkit. I actually know the MT Add AWGN VI.
But I guess that the way we generate the carrier from NI-RFSG is different from what we discussed previously.
Do you know any good example to start with ?
Thank you !
Aina
07-10-2015 09:37 AM
Hi Aina,
I may still be not completely understanding exactly what you're asking for. So in my example that I gave you, we were adding the AWGN to both the I and Q arrays seperately. What you're looking for is to actually add the noise to the signal after it has been upconverted. Does that sound right? With our hardware, this is not possible because the baseband I/Q data is mixed with the carrier in hardware as the last step before it is generated. To add AWGN after the signal has been placed on the carrier you would need a noise generator. The best you can do is to add the AWGN to the baseband I/Q and then upconvert it based on the carrier frequency you specify in RFSG. Let me know if that was helpful to you.
07-14-2015 09:57 AM
Hi Robert !
Exactly, I want to add the noise to the signal after it has been upconverted. But I guess it won't be possible with the RFSG then.
I will try different forms of the noise added to the I and Q arrays to see i if I can get the output noise that I really want.
I will let you know.
Thank you very much Robert !
You made a difference.
Aina
07-15-2015 02:13 PM
My pleasure, Aina!
Happy to help. Can you do me a favor and mark one of the replies as a solution? It helps others quickly find the answers they need. Thanks!