PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

modulation using ni5671.

I have a application in which i have to send a carrier FM modulated by 1khz and 150hz simultaneously.

1khz signal has to modulate the carrier by 8khz and 150hz has to modulate by 3khz .I m usingPXI 5671to achieve this.

i have generated two IQ waveforms corresponding to each modulating signal,but i m unable to get the desired results upon adding them.

CAn anyone help how this can be done??

0 Kudos
Message 1 of 12
(3,997 Views)

Hi Karisma,

 

I'm assuming that you are using LV to generate your waveforms. I recommend that you check the "MT RFSG Generate FM.vi". You can find the example in LV under Help >> Find Examples >> Hardware Input and Output >> Modular Instruments >> NI-RFSG >> Modulation Toolkit.

You need to have the modulation toolkit to get this example.

In general, if you have two signals with the same sampling rate, you should be able to add them successfully. What you can do is modulate each signal separately and then add the two resulting FM signals.One way to check if you are getting the correct signal is to plot the FFT.

 

Please let me know if I can provide further assistance

 

Best regards,

Faris

Bueller
0 Kudos
Message 2 of 12
(3,981 Views)

hi Faris

 

Thanks for ur input.We are using LV only.The problem is solved. actually there was a problem with our sampling,we were taking unequal no. of samples for both the waveforms. We have another problem at hand please try to understand this:

 

'We want to modulate the RF signal generated by 8671 by an external signal which is a random encrypted 8Khz digital signal.This is a shaped signal to remove the sharp edges.As there is no provision on 8671 to feed external modulating signal we have fed it to 4461. Now we are sampling this signal @200000samples/s as the maximum limit for 4461 is 204800.We are feeing this waveform to the AWG vi of 8671.We are able to modulate it correctly that way.But we want to continuously sample the modulating signal and generate the modulated signal based on it.As the signal is random we don't get the desired results based on a finite no. of samples.If we rewrite the waveform every time on AWG then we have to put it in configuration mode again after closing the current session,we might loose some samples in the mean time.can u help on this please.Also can u give ur mail id so that i can directly mail to u

thanks

Anil 

0 Kudos
Message 3 of 12
(3,959 Views)

Hi Karisma,

 

Just to make sure that we are on the same page. When you say RF signal generated by 8671, do you mean 5671 ?

Can you also clarify the use of the 4461, and how it is used with the AWG.

 

As far as contacting NI through email or phone, please check the following link

http://sine.ni.com/apps/utf8/nicc.call_me

 

Best Regards,

Faris

Bueller
0 Kudos
Message 4 of 12
(3,934 Views)

hi faris,

sorry for the typing mistake...i m talking abt 5671 only...regarding the role of 4461 i m using it to feed my external modulating signal.I m using ur 4461 example vi to gather the waveform samples..the wave form constituted by this i m feeding for modulation to ur fm modulation vi.I have to do like this because there is no other way that i can feed an external baseband signal for modulation to 5671.

 

pls help

thanks

anil

0 Kudos
Message 5 of 12
(3,927 Views)

Hi Anil,

 

If I get it correctly there are many things that needs to be taked care of, and since I don't know the architecture of your VI, I'm going to suggest one solution that might work for you.

You can check the example "RFSG Arbitrary Waveform Generation.vi" one of the VI used in that example is "niRFSG Write Arb Waveform". You need to modify it a little bit so that the signal you are writing is the one you are reading from the 4461. In other words, you can use a DAQmx Read to read the signal of the 4461, and connect the acquired data to the " niRFSG Write Arb Waveform" . ( Note that when you open that example the " niRFSG Write Arb Waveform" is configured to I Q data and doesn't have all the options, but if you place a new one it will have all those options)

 

Please let me know how this works.

 

Best regards,

Faris

Bueller
0 Kudos
Message 6 of 12
(3,900 Views)

hi faris,

i have already done exactly the same thing which u have suggested..but problem is once the arbitrary waveform is written in memory the AWG repeatedly generates that waveform only.As i have told u i have a real time data which is a 8khz shaped encrypted signal..i want to modulate that continuously with a diffrent data written to AWG. please go through the paragraphwhen i first time told u abt this problem

thanks

Anil

0 Kudos
Message 7 of 12
(3,891 Views)

Hi Anil,

 

Is it possible to post the VI that you used to do this ? I might be able to modify it, or give a better recommendation on what to do.

 

Best Regards,

Faris

Bueller
0 Kudos
Message 8 of 12
(3,866 Views)

hi faris,

i m attaching my vi for ur convenience.please analyse and advice.

Anil

0 Kudos
Message 9 of 12
(3,846 Views)

Hi Anil,

 

I think you will have to redesign the whole VI . A side not on that, it is not recommended to place a " DAQmx Read " and a " DAQmx Clear Task" in the same while loop. In general, when you clear a task you will have to recreate it.

Back to your issue, I think the best way is to use a form of a producer consumer loop. You use DAQmx in the consumer, and the RFSG in the consumer.

As far as the RFSG is concerened, it would be helpful to check the streaming example in LV.

In other words, you will be aquiring the data from DAQmx and streaming it to the RFSG. In regular cases, streaming is done from a file , but in your case you can modify the streaming example so that instead of reading from a file, you can make it read from the queue of the consumer loop.

 

Please let me know if that will work for you.

 

Best Regards,

Faris

Bueller
0 Kudos
Message 10 of 12
(3,811 Views)