01-17-2008 06:27 AM
Hello Raajit L:
In streaming mode, I'm still not sure what size of memory to allocate to the waveform. I tried several amount of memory, each time I get an error like "memory full" even for a very large memory. Is there any relationship between the memory needed and the complex data symbols used for generating waveform?
I have one more question about the block of "niFgen Create Waveform (poly)".
In the help, it's said that that "signal generator must not be in the Generating state when you call any instance of this polymorphic VI". But I find that the waveform handle (output) of this VI is increasing with the loop, for example: 10001,10002...and so on. Does it mean the dynamic waveform is being generated according to the varying data from matlab srcipt, or just being created in the memory without being generated ? If the former case, then it's the right waveform for my application and I should look into other potential problem.
Attached is the vi for reference.
Thanks a lot for your kind help:-)
Best Regards!
01-20-2008 11:57 PM
01-21-2008 01:43 AM
Hello Raajit L:
Thanks very much. The board I'm using is 5441 and the onboard memory is 256M.
After modification like you mentioned, the error is 1074118519 occurred at niFgen Initiate Generation:
Drive Status:(Hex OxBFFA4089)
The data being written to the streaming waveform cannot keep up with the output. Decrease the sample rate or write data to the streaming waveform more frequently.
(I allocate the memory size to the waveform is 67108864, I guess it's 64M)
Enclosed is the modified VI for your reference.
Best Regards!
Jingjing
01-21-2008 02:20 AM
01-21-2008 01:46 PM - edited 01-21-2008 01:48 PM
01-21-2008 02:11 PM
01-21-2008 09:13 PM
Hello Ryan
Thank you for your kind support:-)
I cannot explicitly attribute it to one of the three scenarios. The overall application seems like a
mixture of A and B.
Just like you've mentioned, the matlab computation cannot run fast enough. One reason of time
consuming is matrixes manipulation in the script, and another important reason is that the input of
matlab depends on higher level(Tcp in my application). Thus matlab script computes in a loop of nearly
1 second according to the data from Tcp link. (New data from Tcp will trigger a new cycle of the
loop.)
It's expected that before new data arrives from output of matlab, the waveform continously keeps
generating using the current data. As soon as new data is created, the waveform should be update to
overwrite the original one.
It seems more like the option B. But I've already tested: abort generation-> clear memory-> create waveform. The result is no explicit waveform can be seen from spectrum analyser, since the duration of each waveform is small(about 1second). At the receiver, only noise is captured.
If the application can be attributed to option B, then how can I solve the above problem due to abort generation and clear memory?
Thanks^_^
Best Regards!
Jingjing
01-21-2008 11:33 PM
01-22-2008 08:58 PM
Hello Ryan:
Thanks for your suggestion:-) I've gained your point. But one question is that for "niFgen Create Advanced Arb Sequence.vi", I don't know to fill "loop counts array ". But the duration of each waveform is not configurable since it depends on the time duration between the data arrival from higher application(Tcp). Can this problem be solved?
Best Regards!
Jingjing
01-22-2008 09:34 PM