RF Measurement Devices

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple IQ files as input

I am trying to sequence multiple IQ waveform files using a script trigger and the wait command within the script to time them into the RFSG.  I am getting a memory error saying that there is not enough memory to perform the script trigger.  Is this normal?
 
Also is there a better way? I am trying to sequence 7 different files at different times and it must be fairly precise for the device to decode the information. Any help would be great.
 
Thanks
Joe
0 Kudos
Message 1 of 11
(11,633 Views)
Hello Joe,

Look like you are using the correct method for your application. I do have some follow up questions:
1. What is the size of the waveforms you are generating?
2. What hardware do you have and what is the IQ rate you specified to use?

Hope this help us unveil the problem,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 2 of 11
(11,606 Views)

Each file is a 90ms frame.  I am trying to send the files at different times to a device to decode.  I got the vi to work and generate the different files but the wait command seems to have no effect.  Each file is separated by approximately 1 second. 

I am using a PXI-1045 chassis with a PXI-8105, PXI-5600, PXI-5620, PXI-5610 and PXI-5441.  My IQ rate is 100kHz.

Thanks

Joe

0 Kudos
Message 3 of 11
(11,597 Views)
Hello Joe,
 
The wait instruction holds the last sample out of the memory. In your case, where you are using a PXI-5441 with an IQ of 100 kHz, the device's Digital Upconverter (DUC) is automatically enabled. What that means, is that the last sample out of the memory will be digitally upconverted, resulting in a sine tone at the specified frequency. So, if you would like to get no signal when the wait command is reached you will need to append 4 zeros at the end of your waveform. Then the wait command will hold a zero, which translates to no signal. You need 4 zeros (instead of 1) because the waveform quantum is 4.
 
Hope this helps
 
- Mauricio
0 Kudos
Message 4 of 11
(11,591 Views)

Unfortunately that did not work or I did something wrong, I went into each of my IQ files and appended the zeros with no effect.  The signal I am creating is 90ms with a 20.32ms burst somewhere inside of that which means that there are zeros before and after the actual data that complete the frame.  I have 7 of these that must be sent at different times.  I have tried everything I can think of to make the wait command work without any luck.

Thanks

Joe

0 Kudos
Message 5 of 11
(11,577 Views)
Hi Joe,
 
I think I'm missing something. So let me see if I understand your application correctly. You have 7 different waveforms that you want to generate. Each waveform 90ms long and it contains a 20.32ms burst inside. Then, you want to generate the 7 waveforms always in the same order, but leaving some time in between. So you want to use the wait command to specify how much time to leave in between the waveforms. Is that right?
Also, when you say that the wait command doesn't work, what do you mean? Do you see a sine tone during the wait or the wait is just ignored?
If your script is not too large, could you post it so we can take a look at it?
 
- Mauricio
0 Kudos
Message 6 of 11
(11,570 Views)

That is correct, basically I am generating seven 90ms frames that must be sent at different times.  Within those 90ms frames is a 20.32 ms data burst.  I don't see any time delay between the signals when they are generated. The script I am using is

wait until scriptTrigger0

generate syncSignal

wait (samples)

generate syncSignal2

wait (samples)

generate syncSignal3

I use these commands for all of the signals with a different number of samples to wait for each one.

Thanks

Joe

0 Kudos
Message 7 of 11
(11,569 Views)
Hi Joe,

I am not sure how many samples is "samples" in your code but let me elaborate here.
The number of sample is at the maximum rate of the card (i.e. 100 MHz) and since you have the DDC on, for every sample you specify in the script, there will be a I and Q "sample" out. Therefore you need to specify half of the time (in samples).
Since this is tricky to explain, I have attached a working example that will help you better understand the point and help you move forward with the application.
This is a screenshoot of what you should see in the output.


Message Edited by Yardov on 06-12-2007 05:09 PM

Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 8 of 11
(11,556 Views)

Understood, I am thinking now that the wait command will not do what I require.  I am basically trying to simulate a TDMA superframe, block and frame structure without creating the entire thing.  I just want to generate the frames at the correct times so that my device will decode properly.  Any ideas on how I can do this?

Thanks

Joe

0 Kudos
Message 9 of 11
(11,542 Views)
Hello Joe,

I guess we would appreciate more information of what you mean. Looks to me that this was a good way to implement this. Could you elaborate or post a frame format for reference?
Thank you,

Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 10 of 11
(11,525 Views)