Signal Generators

cancel
Showing results for 
Search instead for 
Did you mean: 

How to generate AM modulated signal with 5671 using Labwindows CVI

I want to generate an AM modulated signal with 5671 RF Vector Signal generator using CVI code and not using LabView. Following are the settings.
 
Carrier  freq: 110 MHz
Power level: -50 dBm
Message freq: 1020 Hz, 1000 Hz, 100 Hz etc.
Modulation depth: 30%
 
Please mention the number of samples required to generate. Can I generate different message frequencies with same number of samples?
 
 
 
0 Kudos
Message 1 of 8
(9,049 Views)
Hi rajeshj,
 
We do not have an example for AM modulation in CVI using the 5671.  We do have an example for FM modulation though.  This can be easily altered for AM modulation.
 
FM Modulation with NI 5671
 
For reference, we also have an AM modulation example using CVI and the FGEN driver.  This example only uses the FGEN driver so it only controls an arbitrary function generator and not the 5610 upconverter.  But it should be a good reference for changing the example linked above from FM modulation to AM modulation.  You can get to the AM modulated examples using CVI  by going to Start >> Programs >> National Instruments >> Modulation >> CVI Support >> Analog Examples.  Then you will need to select the "for fgen" folder and you will see the AM modulation example.
 
As for the number of samples, the 5441 Arbitrary Function Generator will always be operating at 100MS/s.  Take a look at the FM modulation example and let me know if you have any questions.
 
Hope this helps!
 
Erick D
RF Product Support Engineer
0 Kudos
Message 2 of 8
(9,007 Views)
Hi Erick,
 
I tried looking at the examples and finally written the code for generating AM. The problem I am facing is that I am unable to generate the exact message tone in the AM modulation. Other things like power level, modulation depth etc are fine except the tone.
 
I have generated a sine wave of 1 cycle with 100 samples using SinePattern function. I have set my IQ rate as follows
 
                  to be  Number Of samples * message frequency
0 Kudos
Message 3 of 8
(8,998 Views)
Hi Erick,
 
Mistakenly I have clicked the submit post button. That's y last message is incomlete.
 
I tried looking at the examples and finally written the code for generating AM. The problem I am facing is that I am unable to generate the exact message tone in the AM modulation, but other parameters like power level, modulation depth etc are fine.
 
I have generated a sine wave of 1 cycle with 100 samples using SinePattern function. I have set my IQ rate as follows
 
                  iqRate =  Number Of samples * message frequency
 
With this I could generate message frequecy in AM signal above 1KHz but I am unable to generate below 1KHz. How to acheive that? What is the exact formula for calculating the number of samples.
 
Thanks,
Rajesh.
0 Kudos
Message 4 of 8
(8,994 Views)

Hi Rajesh,

 

When you say you are unable to generate a signal below 1KHz, does that mean that you get an error? If so, what error do you get?

The IQRate = SamplesperCycle * Message Frequency.

 

Thanks,

 

Tica T

Applications Engineer

National Instruments

0 Kudos
Message 5 of 8
(8,983 Views)
Hi rajeshj,
 
I am not sure exactly how you implemented your code so I'm not sure why you are unable to send a signal that is below 1kHz.  I converted the FM example in the above post to do amplitude modulation and was able to get it to generate a signal below 1kHz using the 5671.  Take a look at the AM example attached and let me know if this gives the same limitation that you are seeing with your code.
 
Thanks,
 
Erick
 
 
0 Kudos
Message 6 of 8
(8,971 Views)

Hi Tica/Erick,

I am not getting an error but I am not getting the desired frequency below 1KHz. Instead I get only 1KHz constantly for different low frequencies.

Erick - Thanks for sending the code. Unfortunately I am unable to run the code becuase I have CVI 7.0 version but the sample code was developed in CVI8.0.

Anyway, I have finally achieved generating the lower frequencies but I got the logic by trial and error method. The logic is;

Set the number of samples of sine wave to 100, to generate frequencies >1KHz(ie. above 1 KHz). 

Set the number of samples of sine wave to 10000, to generate frequencies <1KHz(ie. below 1KHz).

IQ rate = NumberOfSample * Message frequency.

What is this logic? Seems to be strange for me.

I have not used the complex logic used in the CVI sample program. I am saying the logic as complex because I do not understand the logic for calculating the number of samples, actual message frequency and actual carrier frequency. Don't scold me if this seems to be silly. 🙂 I haven't put much effort to understand that as I am running out of time.

Thanks,

Rajesh.

 

 

0 Kudos
Message 7 of 8
(8,955 Views)
Rajesh,
 
Here's the CVI 7 version of the same program.  Let me know if you have any questions.
 
Thanks,
 
Erick
0 Kudos
Message 8 of 8
(8,941 Views)