I am trying to combine several different IQ waveform data arrays into
one IQ data array for generation using a PXI ARB waveform generator.
Each IQ array is a 50Hz PPM signal. Each array contains IQ data that
is offset from eachother by at least 25kHz, each having individual
bandwidths below 20kHz. So there will be a PPM signal at the center
freq, a different PPM signal at +/-30 kHz, maybe a third signal at
+/-60kHz, etc. any ideas on how to combine each of these IQ arrays
into one, creating a waveform with all signals present?
If I understand your question correctly, you are trying to have a different frequency offset for each IQ Dataset from the center frequency.
If this is the case, to get a different frequency offset for each IQ Data set , perform corresponding frequency translation on the IQ Data Set.To Perform frequency translation, the trick is to multiply the IQ Data by exp(-j*2*pi*f0*t) where f0 is the frequency offset , t is the time vector. Note the mulltiplication here will be dot product. You can perform this multiplication for each dataset by having frequency offsets and then add all the IQ Data.
I am attaching an example in LV 8.2 which will demonstrate this trick. This VI demonstrates generating complex sine tone and performing a frequency offset defined by the user. Displayed spectrum shows frequency translation in frequency domain.
You can play with frequency shift slider on the front panel and notice how frequency translates.
Kalyanramu Vemishetty Automated Test Systems Engineer National Instruments
Thanks for the example, it is exactly what I am trying to do. So to combine mutliple Y data arrays to create a single waveform with each offset included, I would simply add the Y values of each array together, sample by sample?