-
-
Notifications
You must be signed in to change notification settings - Fork 198
Examples of config.json
Below is a listing of various config.json examples. Each example will have a quick synopsis to what it is configured for. No single configuration below will match what you may need/desire for the system(s) that you wish to monitor!
This config defines numerous RTL-SDR's to monitor a system with a large swath of spectrum. The RTL-SDR's are configured at 2.4MHz, or 2400000. Both sides from center frequency are 1.2MHz. To get the 'step-up' or 'step-down' center frequency for the next RTL-SDR, just take your lowest frequency on the system, and add the RTL-SDR's total frequency (2.4) to the center of the previous RTL-SDR. The lazy way of doing this is by taking the center 851000000
then adding the rate 2400000
to the center: 851000000+2400000 = 853400000
. You can see this in the SDR array below.
In doing this method, you will need to ensure:
- No voice or control frequency is extremely-near or in the
center
frequency (DC issue). - and drift has been accounted for via PPM or error settings.
{
"sources": [{
"center": "851000000",
"rate": "2400000",
"error": "900",
"ppm": "0",
"gain": "28",
"digitalRecorders": 6,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "rtl=06",
"modulation": "qpsk"
},{
"center": "853400000",
"rate": "2400000",
"error": "900",
"ppm": "0",
"gain": "28",
"digitalRecorders": 6,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "rtl=04,buffers=16",
"modulation": "qpsk"
},{
"center": "855800000",
"rate": "2400000",
"error": "600",
"ppm": "0",
"gain": "28",
"digitalRecorders": 6,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "rtl=09",
"modulation": "qpsk"
},{
"center": "858200000",
"rate": "2400000",
"error": "1200",
"ppm": "0",
"gain": "20.7",
"digitalRecorders": 6,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "rtl=03",
"modulation": "qpsk"
},{
"center": "860600000",
"rate": "2400000",
"error": "100",
"ppm": "0",
"gain": "20.7",
"digitalRecorders": 6,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "rtl=02",
"modulation": "qpsk"
}],
"systems": [{
"control_channels": [853775000],
"type": "p25",
"talkgroupsFile": "/root/trunk-build/talkgroups.csv",
"recordUnknown": false,
"shortName": "ChangeMe",
"callLog": true,
"hideEncrypted": false,
"hideUnknownTalkgroups": false
}],
"defaultMode": "digital",
"captureDir": "/root/trunk-build/audio_files",
"callTimeout": "3",
"logFile": "1",
"frequencyFormat": "mhz"
}
The HackRF config is likely to be interchangeable to other large-spectrum-covering devices by simply changing the device
property.
With the HackRF, and likely with others such as LimeSDR, the rate can be anywhere from 1MSPS to 20MSPS (Maximum on HackRF) or even 61MSPS (on the LimeSDR) - yes, that's 61MHz of spectrum!
In the example below, the HackRF is running with a center frequency of 855.000MHz, covering 5MHz of spectrum to the left of center, and 5MHz to the right of center - for a total of 10MHz. The HackRF natively has a very low SNR, so we need to use ifGain
and bbGain
and bump up the signals. This is a balancing act and varies per system power emitted vs your distance from the site. Normal gain
does not function with a HackRF as seen on SDR# and GQRX.
{
"sources": [{
"center": "855000000",
"rate": "10000000",
"error": "0",
"ppm": "18",
"gain": "0",
"ifGain": "8",
"bbGain": "40",
"digitalRecorders": 15,
"digitalLevels": 8,
"driver": "osmosdr",
"device": "hackrf=56b35f",
"modulation": "qpsk"
}],
"systems": [{
"control_channels": [853775000,853962500],
"type": "p25",
"talkgroupsFile": "/root/trunk-build/talkgroups.csv",
"recordUnknown": false,
"shortName": "ChangeMe",
"callLog": true,
"hideEncrypted": false,
"hideUnknownTalkgroups": false
}],
"defaultMode": "digital",
"captureDir": "/root/trunk-build/audio_files",
"callTimeout": "3",
"logFile": "1",
"frequencyFormat": "mhz"
}
Much like the example above, this just covers multiple P25 systems from a single HackRF device.
{
"sources": [{
"center": "855000000",
"rate": "12500000",
"ppm": "0",
"ifGain": "8",
"bbGain": "40",
"digitalRecorders": "30",
"modulation": "qpsk",
"driver": "osmosdr",
"device": "hackrf=56b35f"
}],
"systems": [{
"control_channels": [853775000],
"type": "p25",
"talkgroupsFile": "SystemOneTalkgroups.csv",
"shortName": "SystemOne",
"callLog": "true",
"recordUnknown": "true"
},{
"control_channels": [852112500],
"type": "p25",
"talkgroupsFile": "SystemTwoTalkgroups.csv",
"shortName": "SystemTwo",
"callLog": "true",
"recordUnknown": "true"
},{
"control_channels": [856662500],
"type": "p25",
"talkgroupsFile": "SystemThreeTalkgroups.csv",
"shortName": "SystemThree",
"callLog": "true",
"recordUnknown": "true"
}],
"captureDir": "/root/trunk-build/audio_files",
"defaultMode": "digital",
"callTimeout": "3",
"logFile": "1",
"frequencyFormat": "mhz"
}
- What is Trunk-Recorder?
- Roadmap (TBD)
- Enhancements
- FAQ's
- Global FAQ's
- HackRF FAQ's
- RTLSDR FAQ's