shajen / rtl-sdr-scanner-cpp

GNU General Public License v3.0
603 stars 61 forks source link

Multiple ranges causes problems #107

Closed Bobpick closed 1 month ago

Bobpick commented 1 month ago

I tried to add a lot of ranges and I got these kind of messages:

sdr-scanner-1         | [2024-05-09 11:36:11.087458] [info   ] [Recorder   ] average samples time: 99.83 ms
sdr-scanner-1         | [2024-05-09 11:36:13.071126] [info   ] [RtlSdr     ] average samples time: 64.00 ms
sdr-scanner-1         | [2024-05-09 11:36:17.870743] [info   ] [RingBuffer ] pop/push: 150732800/150732800 (1.00)
sdr-scanner-1         | [2024-05-09 11:36:19.470651] [info   ] [RtlSdr     ] average samples time: 63.99 ms
sdr-scanner-1         | [2024-05-09 11:36:21.070558] [info   ] [Scanner    ] average samples time: 99.83 ms
sdr-scanner-1         | [2024-05-09 11:36:21.070667] [info   ] [Recorder   ] average samples time: 99.83 ms
sdr-scanner-1         | [2024-05-09 11:36:25.870119] [info   ] [RtlSdr     ] average samples time: 64.00 ms
sdr-scanner-1         | [2024-05-09 11:36:27.918001] [info   ] [RingBuffer ] pop/push: 191692800/191889408 (1.00)

I reduced it down to 3 ranges, and it went back to normal:

sdr-monitor-reader-1  | [2024-05-09 11:35:27.134][mqtt_reader    ][Spectrogram  ][INFO   ] save, rtlsdr_00000001, 2024-05-09 11:35:27.065, 26965000 - 27405000, 376 Bytes, -59.95 dBfs
sdr-monitor-reader-1  | [2024-05-09 11:35:28.336][mqtt_reader    ][Spectrogram  ][INFO   ] save, rtlsdr_00000001, 2024-05-09 11:35:28.314, 144000000 - 146000000, 2.0 kB, -52.19 dBfs
sdr-monitor-reader-1  | [2024-05-09 11:35:28.538][mqtt_reader    ][Spectrogram  ][INFO   ] save, rtlsdr_00000001, 2024-05-09 11:35:28.488, 440000000 - 442000000, 2.0 kB, -51.78 dBfs
sdr-monitor-reader-1  | [2024-05-09 11:35:28.937][mqtt_reader    ][Spectrogram  ][INFO   ] save, rtlsdr_00000001, 2024-05-09 11:35:28.876, 26965000 - 27405000, 376 Bytes, -59.83 dBfs
^CGracefully stopping... (press Ctrl+C again to force)

I want to have something like this:


{
  "scanner_frequencies_ranges": [
    {
      "device_serial": "auto",
      "ranges": [
        {
          "start": 26965000,
          "stop": 27405000,
          "sample_rate": 1200000
        },
        {
          "start": 462562500,
          "stop": 462725000,
          "sample_rate": 2048000
        },
        {
          "start": 467500000,
          "stop": 467712500,
          "sample_rate": 2048000
        },
        {
          "start": 151500000,
          "stop": 154000000,
          "sample_rate": 2048000
        },
        {
          "start": 144000000,
          "stop": 148000000,
          "sample_rate": 2400000
        },
        {
          "start": 420000000,
          "stop": 450000000,
          "sample_rate": 5000000
        },
        {
          "start": 118000000,
          "stop": 137000000,
          "sample_rate": 2500000
        },
        {
          "start": 156000000,
          "stop": 162000000,
          "sample_rate": 2500000
        },
        {
          "start": 162400000,
          "stop": 162550000,
          "sample_rate": 50000,
          "description": "NOAA Weather Radio"
        },
        {
          "start": 155160000,
          "stop": 155160000,
          "sample_rate": 25000,
          "description": "Search and rescue"
        },
        {
          "start": 168625000,
          "stop": 168625000,
          "sample_rate": 25000,
          "description": "National Air Guard"
        },
        {
          "start": 156860000,
          "stop": 156860000,
          "sample_rate": 25000,
          "description": "Aircraft safety and on-scene aid, including search and rescue"
        },
        {
          "start": 121500000,
          "stop": 121500000,
          "sample_rate": 25000,
          "description": "Aviation International emergency frequency"
        },
        {
          "start": 406000000,
          "stop": 406000000,
          "sample_rate": 25000,
          "description": "Global maritime distress and safety System"
        },
        {
          "start": 47425000,
          "stop": 47425000,
          "sample_rate": 25000,
          "description": "Red Cross - national relief"
        },
        {
          "description": "Polar Orbiting Satellites",
          "ranges": [
            {
              "start": 137500000,
              "stop": 137500000,
              "sample_rate": 50000,
              "type": "APT"
            },
            {
              "start": 137620000,
              "stop": 137620000,
              "sample_rate": 50000,
              "type": "APT"
            },
            {
              "start": 1698000000,
              "stop": 1698000000,
              "sample_rate": 2000000,
              "type": "HRPT"
            },
            {
              "start": 1702500000,
              "stop": 1702500000,
              "sample_rate": 2000000,
              "type": "HRPT"
            },
            {
              "start": 1707000000,
              "stop": 1707000000,
              "sample_rate": 2000000,
              "type": "HRPT"
            }
          ]
        },
        {
          "description": "Geostationary Satellites",
          "ranges": [
            {
              "start": 1691000000,
              "stop": 1691000000,
              "sample_rate": 2000000,
              "type": "WEFAX"
            },
            {
              "start": 1685700000,
              "stop": 1685700000,
              "sample_rate": 2000000,
              "type": "PDUS"
            }
          ]

is it possible to have this many, and to have a description line?

Bobpick commented 1 month ago

I was able to get this to work, here is the config.json that i used. Please use as you wish. And this program works fantastic!


{
  "scanner_frequencies_ranges": [
    {
      "device_serial": "auto",
      "ranges": [
        {
          "start": 26965000,
          "stop": 27405000,
          "sample_rate": 2048000
        },
        {
          "start": 462562500,
          "stop": 462725000,
          "sample_rate": 2048000
        },
        {
          "start": 467500000,
          "stop": 467712500,
          "sample_rate": 2048000
        },
        {
          "start": 151500000,
          "stop": 154000000,
          "sample_rate": 2048000
        },
        {
          "start": 144000000,
          "stop": 148000000,
          "sample_rate": 2048000
        },
        {
          "start": 118000000,
          "stop": 137000000,
          "sample_rate": 2048000
        },
        {
          "start": 156000000,
          "stop": 162000000,
          "sample_rate": 2048000
        },
        {
          "start": 162400000,
          "stop": 162550000,
          "sample_rate": 2048000
        },
        {
          "start": 155160000,
          "stop": 155160000,
          "sample_rate": 2048000
        },
        {
          "start": 168625000,
          "stop": 168625000,
          "sample_rate": 2048000
        },
        {
          "start": 137500000,
          "stop": 137500000,
          "sample_rate": 2048000
        },
        {
          "start": 137620000,
          "stop": 137620000,
          "sample_rate": 2048000
        },
        {
          "start": 1698000000,
          "stop": 1702500000,
          "sample_rate": 2048000
        },
        {
          "start": 1707000000,
          "stop": 1707000000,
          "sample_rate": 2048000
        }
      ]
    }
  ],
  "ignored_frequencies": [],

  "devices": {
    "rtl_sdr": {
      "ppm_error": 5,
      "tuner_gain": 30.0,
      "offset": 10000
    },
    "hack_rf": {
      "lna_gain": 0,
      "vga_gain": 0,
      "offset": 0
    }
  },
  "recording": {
    "max_noise_time_ms": 500,
    "min_time_ms": 2000,
    "min_sample_rate": 16000
  },
  "detection": {
    "frequency_grouping_size": 10000,
    "frequency_range_scanning_time_ms": 64,
    "noise_learning_time_seconds": 30,
    "noise_detection_margin": 10,
    "torn_transmission_learning_time_seconds": 60
  },
  "output": {
    "logs": "sdr/logs",
    "file_log_level": "info",
    "console_log_level": "info"
  },
  "cores": 4,
  "memory_limit_mb": 0,
  "mqtt": {
    "hostname": "sdr-broker",
    "port": 1883,
    "username": "admin",
    "password": "password"
  }
}