How to export the "Shape detector Block" traces/result to disk?
Quote from David3542 on 06/04/2022, 10:04Hi
This is the result of "shape detector Block"
How is possible to export the yellows line to output and use it in our Visual C++ Application or use it in Matlab?
Hi
This is the result of "shape detector Block"
How is possible to export the yellows line to output and use it in our Visual C++ Application or use it in Matlab?
Quote from AdminTC on 06/04/2022, 12:32Simply use the EXPORT feature. Every block offers this feature within the title bar:
Simply use the EXPORT feature. Every block offers this feature within the title bar:
Quote from David3542 on 06/04/2022, 17:11Quote from AdminTC on 06/04/2022, 12:32Simply use the EXPORT feature. Every block offers this feature within the title bar:
Thank you for your reply, Yes I see it
But actually I need Realtime result. in this way only one frame will save in CSV file, But I need Realtime result for doing my own process in it,
Is it any way for receive this result ?, even in script block or use http client/ server for send it to outside RTSA software
Quote from AdminTC on 06/04/2022, 12:32Simply use the EXPORT feature. Every block offers this feature within the title bar:
Thank you for your reply, Yes I see it
But actually I need Realtime result. in this way only one frame will save in CSV file, But I need Realtime result for doing my own process in it,
Is it any way for receive this result ?, even in script block or use http client/ server for send it to outside RTSA software
Quote from DevUS on 07/04/2022, 11:47You can use a combination of script block and http server block:
[code]
import { DSPStream } from "dspstream.js"
async function main() {
await DSPStream.addBlocks({
shape: {type: "PulsedSpectrumShape"}
});await DSPStream.connectBlocks([
{source: "in0", drain: "shape"},
{source: "shape", drain: "out0"}
]);
}main();
[/code]
You can use a combination of script block and http server block:
[code]
import { DSPStream } from "dspstream.js"
async function main() {
await DSPStream.addBlocks({
shape: {type: "PulsedSpectrumShape"}
});
await DSPStream.connectBlocks([
{source: "in0", drain: "shape"},
{source: "shape", drain: "out0"}
]);
}
main();
[/code]
Quote from mm_dev on 08/04/2022, 10:47Minimal example code for the script block is included in the post above. What this does is:
- add a new shape detector instance inside the script block
- connect the first input of the script block to the input of the shape detector
- forward the shape data to the first output of the script block, which can then be connected to a HTTP server block
The drawback here is that it doesn't use the existing block, the processing logic is "hidden" inside the script block, and the shape detector inside the script block won't (without additional coding) provide configuration options or any visualization. For the latter you could connect a Spectrum block at the script block output, but config options would require additional code inside the script block.
I've attached a full example mission.
Minimal example code for the script block is included in the post above. What this does is:
- add a new shape detector instance inside the script block
- connect the first input of the script block to the input of the shape detector
- forward the shape data to the first output of the script block, which can then be connected to a HTTP server block
The drawback here is that it doesn't use the existing block, the processing logic is "hidden" inside the script block, and the shape detector inside the script block won't (without additional coding) provide configuration options or any visualization. For the latter you could connect a Spectrum block at the script block output, but config options would require additional code inside the script block.
I've attached a full example mission.
Uploaded files:
Quote from David3542 on 08/04/2022, 11:32Quote from mm_dev on 08/04/2022, 10:47Minimal example code for the script block is included in the post above. What this does is:
- add a new shape detector instance inside the script block
- connect the first input of the script block to the input of the shape detector
- forward the shape data to the first output of the script block, which can then be connected to a HTTP server block
The drawback here is that it doesn't use the existing block, the processing logic is "hidden" inside the script block, and the shape detector inside the script block won't (without additional coding) provide configuration options or any visualization. For the latter you could connect a Spectrum block at the script block output, but config options would require additional code inside the script block.
I've attached a full example mission.
Thank you so much for your great example
as I can see , Script block is very powerful and we can do many special mission with this block, but actually I didn't find a good reference for learn script block.
You gave me a magic mission now I have two question.
you added a "spectrum shape detector" block in script but its hide and we only can see the output result .
its ok and very good , its exactly that I want it . but could you please tell me how we can change this hided block setting . for example if we want change the "frequency span " ?(" frequency span" is one of the spectrum shape detector block's setting ).
and second question
you wanted add a "spectrum shape detector" block in you script , but you wrote
await DSPStream.addBlocks({
shape: {type: "PulsedSpectrumShape"}
});"PulsedSpectrumShape" !!!
How you know should use "PulsedSpectrumShape" string for add "spectrum shape detector" ?? and if we want add and use another block in the script , what should write here ?
Thanks for you answer
Quote from mm_dev on 08/04/2022, 10:47Minimal example code for the script block is included in the post above. What this does is:
- add a new shape detector instance inside the script block
- connect the first input of the script block to the input of the shape detector
- forward the shape data to the first output of the script block, which can then be connected to a HTTP server block
The drawback here is that it doesn't use the existing block, the processing logic is "hidden" inside the script block, and the shape detector inside the script block won't (without additional coding) provide configuration options or any visualization. For the latter you could connect a Spectrum block at the script block output, but config options would require additional code inside the script block.
I've attached a full example mission.
Thank you so much for your great example
as I can see , Script block is very powerful and we can do many special mission with this block, but actually I didn't find a good reference for learn script block.
You gave me a magic mission now I have two question.
you added a "spectrum shape detector" block in script but its hide and we only can see the output result .
its ok and very good , its exactly that I want it . but could you please tell me how we can change this hided block setting . for example if we want change the "frequency span " ?(" frequency span" is one of the spectrum shape detector block's setting ).
and second question
you wanted add a "spectrum shape detector" block in you script , but you wrote
await DSPStream.addBlocks({
shape: {type: "PulsedSpectrumShape"}
});
"PulsedSpectrumShape" !!!
How you know should use "PulsedSpectrumShape" string for add "spectrum shape detector" ?? and if we want add and use another block in the script , what should write here ?
Thanks for you answer
Quote from mm_dev on 08/04/2022, 12:15Unfortunately the documentation for the script engine is still rather minimal at this point, which is why I originally was saying that this feature wasn't possible atm as the "shape" connector was missing from the documentation. It is not uncommon for names in the UI being different than names used internally.
Regarding adjusting the configuration, if you only need to set it once this can be done by changing the DSPStream.addBlocks call to
await DSPStream.addBlocks({shape: {type: "PulsedSpectrumShape", config: { histdev: 16, histmindens: 0.1, freqspan: 20e6, persistence: 0.7 }});
That will set the specified values whenever the script block is restarted. The provided values are the defaults (e.g. 20 MHz span), you can adjust those as needed within the blocks limitations.
Unfortunately the documentation for the script engine is still rather minimal at this point, which is why I originally was saying that this feature wasn't possible atm as the "shape" connector was missing from the documentation. It is not uncommon for names in the UI being different than names used internally.
Regarding adjusting the configuration, if you only need to set it once this can be done by changing the DSPStream.addBlocks call to
await DSPStream.addBlocks({shape: {type: "PulsedSpectrumShape", config: { histdev: 16, histmindens: 0.1, freqspan: 20e6, persistence: 0.7 }});
That will set the specified values whenever the script block is restarted. The provided values are the defaults (e.g. 20 MHz span), you can adjust those as needed within the blocks limitations.
Quote from David3542 on 29/04/2022, 16:40is it possible to use "pulse inspector " block in the background?
same as above example ,with the script , control the pulse inspector block and receive the result of block in the script for do some additional process
is it possible to use "pulse inspector " block in the background?
same as above example ,with the script , control the pulse inspector block and receive the result of block in the script for do some additional process
Quote from mm_dev on 02/05/2022, 12:32Quote from David3542 on 29/04/2022, 16:40same as above example ,with the script , control the pulse inspector block and receive the result of block in the script for do some additional process
The symbol table that is displayed in the IQ Pulse Inspector block cannot be directly accessed from a script block. You can however access the general symbol decoding functionality using the "IQSymbolDecoder" DSP processing block.
Quote from David3542 on 29/04/2022, 16:40same as above example ,with the script , control the pulse inspector block and receive the result of block in the script for do some additional process
The symbol table that is displayed in the IQ Pulse Inspector block cannot be directly accessed from a script block. You can however access the general symbol decoding functionality using the "IQSymbolDecoder" DSP processing block.