560 lines
14 KiB
JSON
560 lines
14 KiB
JSON
{
|
|
"components": [
|
|
{
|
|
"component": "PipelineFlowView",
|
|
"id": "1a80b2d1-2db7-4a58-8f9b-9bc882671ff0",
|
|
"layout": {
|
|
"cols": 12,
|
|
"order": 0,
|
|
"rows": 1,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"props": {
|
|
"connections": [
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0a9d-1776345526320",
|
|
"to": "69bd3deeff031ee6e72c0aa0-1776345543621"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa0-1776345543621",
|
|
"to": "69bd3deeff031ee6e72c0a9b-1776345577288"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0a9b-1776345577288",
|
|
"to": "69bd3deeff031ee6e72c0a9f-1776345584342"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0a9f-1776345584342",
|
|
"to": "69bd3deeff031ee6e72c0a9c-1776345675756"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0a9c-1776345675756",
|
|
"to": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"to": "69d80d08aabdb365e3b84e14-1776361788176"
|
|
},
|
|
{
|
|
"from": "69bd3deeff031ee6e72c0a9d-1776345526320",
|
|
"to": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
}
|
|
],
|
|
"operators": [
|
|
{
|
|
"className": "PlutoSourceOp",
|
|
"id": "69bd3deeff031ee6e72c0a9d-1776345526320",
|
|
"name": "pluto_source",
|
|
"type": "source"
|
|
},
|
|
{
|
|
"className": "PreprocessorOp",
|
|
"id": "69bd3deeff031ee6e72c0aa0-1776345543621",
|
|
"name": "preprocessor",
|
|
"type": "preprocessing"
|
|
},
|
|
{
|
|
"className": "SpectrogramOp",
|
|
"id": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"name": "spectrogram",
|
|
"type": "preprocessing"
|
|
},
|
|
{
|
|
"className": "InferenceOp",
|
|
"id": "69bd3deeff031ee6e72c0a9b-1776345577288",
|
|
"name": "inference_builtin",
|
|
"type": "inference"
|
|
},
|
|
{
|
|
"className": "PostprocessorOp",
|
|
"id": "69bd3deeff031ee6e72c0a9f-1776345584342",
|
|
"name": "postprocessor",
|
|
"type": "postprocessing"
|
|
},
|
|
{
|
|
"className": "ModelMapperOp",
|
|
"id": "69bd3deeff031ee6e72c0a9c-1776345675756",
|
|
"name": "model_mapper",
|
|
"type": "postprocessing"
|
|
},
|
|
{
|
|
"className": "SpectrogramDashboardOp",
|
|
"id": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"name": "spectrogram_dashboard",
|
|
"type": "sink"
|
|
},
|
|
{
|
|
"className": "PlutoTXOp",
|
|
"id": "69d80d08aabdb365e3b84e14-1776361788176",
|
|
"name": "PlutoTXOp",
|
|
"type": "sink"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"component": "RadioSourcePanel",
|
|
"id": "234b5c0b-aee0-471f-a1ed-0e42a9f66f33",
|
|
"layout": {
|
|
"cols": 7,
|
|
"h": 6,
|
|
"order": 1,
|
|
"rows": 6,
|
|
"w": 7,
|
|
"x": 0,
|
|
"y": 1
|
|
},
|
|
"props": {
|
|
"config": {
|
|
"agentId": "",
|
|
"bandwidth": 2000000,
|
|
"centerFreq": 99900000,
|
|
"deviceArgs": "",
|
|
"deviceIndex": null,
|
|
"frequency": null,
|
|
"gain": null,
|
|
"numSamples": 4096,
|
|
"sampleRate": 2500000,
|
|
"uri": "192.168.3.1",
|
|
"waveform": ""
|
|
},
|
|
"description": "PlutoSDR RX source operator. Acquires raw IQ samples from an Analog Devices PlutoSDR (AD9361) via libiio and emits them as shared complex vectors.",
|
|
"deviceType": "pluto",
|
|
"operatorId": "69bd3deeff031ee6e72c0a9d-1776345526320",
|
|
"operatorName": "pluto_source"
|
|
}
|
|
},
|
|
{
|
|
"component": "ComposerOpPanel",
|
|
"id": "605200c5-04f8-4f33-8137-9e8cb22b7eb0",
|
|
"layout": {
|
|
"cols": 5,
|
|
"h": 1,
|
|
"order": 4,
|
|
"rows": 1,
|
|
"w": 5,
|
|
"x": 7,
|
|
"y": 1
|
|
},
|
|
"props": {
|
|
"blockType": "inference",
|
|
"className": "InferenceOp",
|
|
"description": "Built-in Holoscan InferenceOp. Runs ONNX Runtime or TensorRT inference on GXF tensor entities.",
|
|
"details": "Models: model.onnx",
|
|
"title": "inference_builtin"
|
|
}
|
|
},
|
|
{
|
|
"component": "OnnxInferenceMonitor",
|
|
"id": "b8012843-af9b-4693-8708-45dc53717b99",
|
|
"layout": {
|
|
"cols": 5,
|
|
"h": 1,
|
|
"order": 4,
|
|
"rows": 1,
|
|
"w": 5,
|
|
"x": 7,
|
|
"y": 3
|
|
},
|
|
"props": {
|
|
"operatorName": "inference_builtin"
|
|
}
|
|
},
|
|
{
|
|
"component": "BackendInferenceOutput",
|
|
"id": "22e268ce-57a4-47e6-a875-c0e94b3b5964",
|
|
"layout": {
|
|
"cols": 5,
|
|
"h": 1,
|
|
"order": 5,
|
|
"rows": 1,
|
|
"w": 5,
|
|
"x": 7,
|
|
"y": 2
|
|
},
|
|
"props": {
|
|
"historyLen": 24,
|
|
"labels": [
|
|
"Bleedover",
|
|
"Collisions",
|
|
"Parallel",
|
|
"Birdies",
|
|
"CTNB",
|
|
"LFM",
|
|
"None",
|
|
"Jamming"
|
|
],
|
|
"topK": 5
|
|
}
|
|
},
|
|
{
|
|
"component": "SinkPanel",
|
|
"id": "eb78a5c5-f4d5-49ec-bd2a-9cbbe88bbe78",
|
|
"layout": {
|
|
"cols": 5,
|
|
"h": 1,
|
|
"order": 5,
|
|
"rows": 1,
|
|
"w": 5,
|
|
"x": 7,
|
|
"y": 4
|
|
},
|
|
"props": {
|
|
"connectionConfig": {
|
|
"attenuation": 0,
|
|
"bandwidth": 2000000,
|
|
"centerFreq": 2415500000,
|
|
"sampleRate": 2500000,
|
|
"uri": "192.168.3.1"
|
|
},
|
|
"description": "Transmits IQ samples through an ADALM-Pluto SDR via libiio.",
|
|
"inputs": null,
|
|
"operatorId": "69d80d08aabdb365e3b84e14-1776361788176",
|
|
"operatorName": "PlutoTXOp",
|
|
"showConnectionConfig": true,
|
|
"showDenseMetrics": true,
|
|
"showInputPorts": true,
|
|
"sinkType": "transmit"
|
|
}
|
|
}
|
|
],
|
|
"config": {
|
|
"inference": {
|
|
"interval": 1,
|
|
"iq_pop_timeout_sec": 0.25,
|
|
"knownDevices": [
|
|
"Bleedover",
|
|
"Collisions",
|
|
"Parallel",
|
|
"Birdies",
|
|
"CTNB",
|
|
"LFM",
|
|
"None",
|
|
"Jamming"
|
|
],
|
|
"outputClasses": 8
|
|
},
|
|
"radio": {
|
|
"agentId": "",
|
|
"bandwidth": 2000000,
|
|
"centerFreq": 99900000,
|
|
"deviceArgs": "",
|
|
"deviceIndex": null,
|
|
"frequency": null,
|
|
"gain": null,
|
|
"numSamples": 4096,
|
|
"sampleRate": 2500000,
|
|
"uri": "192.168.3.1",
|
|
"waveform": ""
|
|
}
|
|
},
|
|
"dataSource": {
|
|
"agent_id": "",
|
|
"params": {
|
|
"bandwidth": 2000000,
|
|
"buffer_size": 4096,
|
|
"center_frequency": 99900000,
|
|
"device": "pluto",
|
|
"gain": 40,
|
|
"identifier": "192.168.3.1",
|
|
"sample_rate": 2500000
|
|
},
|
|
"type": "agent"
|
|
},
|
|
"description": "Screens application generated from Application Composer",
|
|
"models": [
|
|
{
|
|
"format": "onnx",
|
|
"oid": "dbc3c7514a99bece0c2b2b30b7c3de0e43144a6ad909a1d479a91a679f824837",
|
|
"path": "models/model.onnx",
|
|
"repo": "qoherent/RIA_Example"
|
|
}
|
|
],
|
|
"name": "applications-example-application-json",
|
|
"screensRuntime": {
|
|
"flows": [
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa0-1776345543621",
|
|
"upstream": "69bd3deeff031ee6e72c0a9d-1776345526320"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0a9b-1776345577288",
|
|
"upstream": "69bd3deeff031ee6e72c0aa0-1776345543621"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0a9f-1776345584342",
|
|
"upstream": "69bd3deeff031ee6e72c0a9b-1776345577288"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0aa1-1776345548184"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0a9c-1776345675756",
|
|
"upstream": "69bd3deeff031ee6e72c0a9f-1776345584342"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"upstream": "69bd3deeff031ee6e72c0a9c-1776345675756"
|
|
},
|
|
{
|
|
"downstream": "69d80d08aabdb365e3b84e14-1776361788176",
|
|
"upstream": "69bd3deeff031ee6e72c0aa2-1776345597091"
|
|
},
|
|
{
|
|
"downstream": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"upstream": "69bd3deeff031ee6e72c0a9d-1776345526320"
|
|
}
|
|
],
|
|
"inference_order": [
|
|
{
|
|
"class_name": "InferenceOp",
|
|
"model_paths": [
|
|
"model.onnx"
|
|
],
|
|
"op_id": "69bd3deeff031ee6e72c0a9b-1776345577288"
|
|
}
|
|
],
|
|
"ops": [
|
|
{
|
|
"class_name": "PlutoSourceOp",
|
|
"id": "69bd3deeff031ee6e72c0a9d-1776345526320",
|
|
"name": "pluto_source",
|
|
"specs": [
|
|
{
|
|
"default": "192.168.3.1",
|
|
"key": "ip_addr"
|
|
},
|
|
{
|
|
"default": 2,
|
|
"key": "bandwidth_mhz"
|
|
},
|
|
{
|
|
"default": 2.5,
|
|
"key": "sample_rate_mhz"
|
|
},
|
|
{
|
|
"default": 0.0999,
|
|
"key": "lo_frequency_ghz"
|
|
},
|
|
{
|
|
"default": 20,
|
|
"key": "rx_gain_db"
|
|
},
|
|
{
|
|
"default": 0,
|
|
"key": "rf_port"
|
|
},
|
|
{
|
|
"default": 4096,
|
|
"key": "buffer_size"
|
|
},
|
|
{
|
|
"default": 10,
|
|
"key": "poll_rate_ms"
|
|
}
|
|
],
|
|
"type": "source"
|
|
},
|
|
{
|
|
"class_name": "PreprocessorOp",
|
|
"id": "69bd3deeff031ee6e72c0aa0-1776345543621",
|
|
"name": "preprocessor",
|
|
"specs": [
|
|
{
|
|
"default": "pool_resource",
|
|
"key": "allocator"
|
|
},
|
|
{
|
|
"default": "input",
|
|
"key": "in_tensor_name"
|
|
}
|
|
],
|
|
"type": "preprocessing"
|
|
},
|
|
{
|
|
"class_name": "SpectrogramOp",
|
|
"id": "69bd3deeff031ee6e72c0aa1-1776345548184",
|
|
"name": "spectrogram",
|
|
"specs": [
|
|
{
|
|
"default": 2048,
|
|
"key": "fft_size"
|
|
},
|
|
{
|
|
"default": 256,
|
|
"key": "history_depth"
|
|
},
|
|
{
|
|
"default": 2048,
|
|
"key": "hop_size"
|
|
},
|
|
{
|
|
"default": -80,
|
|
"key": "db_min"
|
|
},
|
|
{
|
|
"default": 0,
|
|
"key": "db_max"
|
|
},
|
|
{
|
|
"default": 0.000488281,
|
|
"key": "input_scale"
|
|
}
|
|
],
|
|
"type": "preprocessing"
|
|
},
|
|
{
|
|
"class_name": "InferenceOp",
|
|
"id": "69bd3deeff031ee6e72c0a9b-1776345577288",
|
|
"name": "inference_builtin",
|
|
"specs": [
|
|
{
|
|
"default": "onnxrt",
|
|
"key": "backend"
|
|
},
|
|
{
|
|
"default": "model.onnx",
|
|
"key": "model_path_map"
|
|
},
|
|
{
|
|
"default": "input",
|
|
"key": "pre_processor_map"
|
|
},
|
|
{
|
|
"default": "output",
|
|
"key": "inference_map"
|
|
},
|
|
{
|
|
"default": false,
|
|
"key": "input_on_cuda"
|
|
},
|
|
{
|
|
"default": false,
|
|
"key": "output_on_cuda"
|
|
},
|
|
{
|
|
"default": false,
|
|
"key": "transmit_on_cuda"
|
|
},
|
|
{
|
|
"default": "pool_resource",
|
|
"key": "allocator"
|
|
}
|
|
],
|
|
"type": "inference"
|
|
},
|
|
{
|
|
"class_name": "PostprocessorOp",
|
|
"id": "69bd3deeff031ee6e72c0a9f-1776345584342",
|
|
"name": "postprocessor",
|
|
"specs": [
|
|
{
|
|
"default": "output",
|
|
"key": "out_tensor_name"
|
|
}
|
|
],
|
|
"type": "postprocessing"
|
|
},
|
|
{
|
|
"class_name": "SpectrogramDashboardOp",
|
|
"id": "69bd3deeff031ee6e72c0aa2-1776345597091",
|
|
"name": "spectrogram_dashboard",
|
|
"specs": [
|
|
{
|
|
"default": 8080,
|
|
"key": "websocket_port"
|
|
},
|
|
{
|
|
"default": "workspace/app/web",
|
|
"key": "web_root_path"
|
|
},
|
|
{
|
|
"default": 30,
|
|
"key": "update_rate_hz"
|
|
}
|
|
],
|
|
"type": "sink"
|
|
},
|
|
{
|
|
"class_name": "ModelMapperOp",
|
|
"id": "69bd3deeff031ee6e72c0a9c-1776345675756",
|
|
"name": "model_mapper",
|
|
"specs": [
|
|
{
|
|
"default": "[\"Bleedover\", \"Collisions\", \"Parallel\", \"Birdies\", \"CTNB\", \"LFM\", \"None\", \"Jamming\"]",
|
|
"key": "labels"
|
|
}
|
|
],
|
|
"type": "postprocessing"
|
|
},
|
|
{
|
|
"class_name": "PlutoTXOp",
|
|
"id": "69d80d08aabdb365e3b84e14-1776361788176",
|
|
"name": "PlutoTXOp",
|
|
"specs": [
|
|
{
|
|
"default": "192.168.3.1",
|
|
"key": "uri"
|
|
},
|
|
{
|
|
"default": 2500000,
|
|
"key": "sample_rate"
|
|
},
|
|
{
|
|
"default": "2415500000",
|
|
"key": "center_freq"
|
|
},
|
|
{
|
|
"default": 2000000,
|
|
"key": "bandwidth"
|
|
},
|
|
{
|
|
"default": "0",
|
|
"key": "attenuation"
|
|
}
|
|
],
|
|
"type": "sink"
|
|
}
|
|
],
|
|
"version": 1
|
|
},
|
|
"version": "1.0.0"
|
|
} |