Interfacing of RTSA Suite Pro and LabView
Quote from qureshi000 on 05/04/2024, 06:44Now, it is working. Thanks
Now, it is working. Thanks
Quote from qureshi000 on 05/04/2024, 07:52Hi!
Can we see the spectrum, histogram and waterfall graphs produced by Spectran V6 in LabView? If yes then how?
Hi!
Can we see the spectrum, histogram and waterfall graphs produced by Spectran V6 in LabView? If yes then how?
Quote from DevSF on 05/04/2024, 09:25A colored waterfall view is a graphical representation of a series of spectra data. Similar with the colored spectra histogram view. Both are not directly provided by the HiSLIP-SCPI Server block, it provides a series of Spectras( which is technically already a "waterfall" ) or continuous IQ data.
I have no experience with LABView and I don't know how you can represent the data as waterfall or histogram view. I guess you have prebuild charts in LABView which you may be able to use.
A colored waterfall view is a graphical representation of a series of spectra data. Similar with the colored spectra histogram view. Both are not directly provided by the HiSLIP-SCPI Server block, it provides a series of Spectras( which is technically already a "waterfall" ) or continuous IQ data.
I have no experience with LABView and I don't know how you can represent the data as waterfall or histogram view. I guess you have prebuild charts in LABView which you may be able to use.
Quote from mm_dev on 05/04/2024, 11:38More generally speaking: You can only access data that is generated at the output connection of a block. You cannot access what is only processed and displayed within a block. That also includes any traces or markers within a Spectrum, Histogram or Waterfall view (you may access their settings, but not their data).
More generally speaking: You can only access data that is generated at the output connection of a block. You cannot access what is only processed and displayed within a block. That also includes any traces or markers within a Spectrum, Histogram or Waterfall view (you may access their settings, but not their data).
Quote from qureshi000 on 15/04/2024, 05:33Is there any way to access data through which I can create waterfall in Labview using that data? If yes then kindly explain.
Is there any way to access data through which I can create waterfall in Labview using that data? If yes then kindly explain.
Quote from mm_dev on 15/04/2024, 09:22All visualizations are generated from the data that is generated by the Spectran block, it is just a matter of converting it into the proper format. As we don't use LabView ourselves, we can't tell you how to create a Waterfall in that software and what exact data format would be required.
All visualizations are generated from the data that is generated by the Spectran block, it is just a matter of converting it into the proper format. As we don't use LabView ourselves, we can't tell you how to create a Waterfall in that software and what exact data format would be required.
Quote from qureshi000 on 16/04/2024, 09:22Actually, I want to stream the data produced by Spectran V6 block out of RTSA Suite Pro. So, is there any way? If yes then kindly share.
Thanks
Actually, I want to stream the data produced by Spectran V6 block out of RTSA Suite Pro. So, is there any way? If yes then kindly share.
Thanks
Quote from mm_dev on 16/04/2024, 10:48Well, getting data is pretty easy. Send a "STREAM:START" command, then continously request data with "STREAM:DATA?" (after optionally adjusting the settings to fit your needs). Parsing the returned data is a bit more complex:
It will start with a JSON formatted header that contains the parameters of the current packet (like start- and end-time, start- and end-frequency, payload type and measurement unit used). The header is then separated from the actual payload by a newline.
The payload will start with a hash sign (#), followed by one digit that denotes how many characters to read for determining the actual payload length in bytes. For example the payload may start with the string '#43408': the hash sign tells you that a length information follows, the first digit tells you that the actual length data contains four digits, which then results in a length of 3408 bytes of actual payload.
The actual payload will (at least in case of spectra data) be transmitted as binary float values of 32 bits length, so 3408 bytes contain 852 float values (this should match the "size" parameter in the header when dealing with spectra data). How to parse or process that data is then up to you (in python for example you could use 'struct.unpack("852f", data)' to convert it into an array of float values, but again we can't tell how that is handled in LabView).
Measurement values contained in the payload are evenly distributed across the frequency spectrum within the boundaries defined in the header.
Well, getting data is pretty easy. Send a "STREAM:START" command, then continously request data with "STREAM:DATA?" (after optionally adjusting the settings to fit your needs). Parsing the returned data is a bit more complex:
It will start with a JSON formatted header that contains the parameters of the current packet (like start- and end-time, start- and end-frequency, payload type and measurement unit used). The header is then separated from the actual payload by a newline.
The payload will start with a hash sign (#), followed by one digit that denotes how many characters to read for determining the actual payload length in bytes. For example the payload may start with the string '#43408': the hash sign tells you that a length information follows, the first digit tells you that the actual length data contains four digits, which then results in a length of 3408 bytes of actual payload.
The actual payload will (at least in case of spectra data) be transmitted as binary float values of 32 bits length, so 3408 bytes contain 852 float values (this should match the "size" parameter in the header when dealing with spectra data). How to parse or process that data is then up to you (in python for example you could use 'struct.unpack("852f", data)' to convert it into an array of float values, but again we can't tell how that is handled in LabView).
Measurement values contained in the payload are evenly distributed across the frequency spectrum within the boundaries defined in the header.