OP25 OP25 Hackrf RX issue

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
153
Location
Quebec, Canada
Hi,

I'm trying to monitor a VHF system in my region with a hackrf one but I am able to decode signals.
I have it connected to a VHF antenna and am able to get a clean decode with a regular rtl-sdr device (NESDR Smart 5).
My gains settings are "gains": "RF:0,IF:40,BB:36".
We can clearly see that the datascope signals are very faint.

I was able to get a good decode via sdrtrunk on windows with a measured error of 0.2 ppm (28 Hz).

Does anyone know why that is happening?

Thanks

config file for multi_rx.py
JSON:
{
    "channels": [
        {
            "name": "RENIR",
            "device": "sdr0",
            "trunking_sysname": "RENIR",
            "meta_stream_name": "metastream_0",
            "demod_type": "fsk4",
            "cqpsk_tracking": true,
            "tracking_threshold": 30,
            "tracking_feedback": 0.85,
            "destination": "udp://127.0.0.1:23466",
            "excess_bw": 0.2,
            "filter_type": "rc",
            "if_rate": 24000,
            "plot": "",
            "symbol_rate": 4800,
            "enable_analog": "off",
            "blacklist": "",
            "whitelist": "renir.wlist",
            "crypt_keys": "key.json"
        }
    ],
    "devices": [
        {
            "args": "hackrf=0",
            "gains": "RF:0,IF:40,BB:36",
            "gain_mode": false,
            "name": "sdr0",
            "offset": 0,
            "ppm": 0.0,
            "rate": 10000000,
            "usable_bw_pct": 0.65,
            "tunable": true
        }
    ],
    "trunking": {
        "module": "tk_p25.py",
        "chans": [
            {
                "nac": "0x14e",
                "sysname": "RENIR",
                "control_channel_list": "143.385",
                "whitelist": "renir.wlist",
                "blacklist": "",
                "tgid_tags_file": "renir.csv",
                "rid_tags_file": "renir-rid.txt",
                "tdma_cc": false,
                "crypt_behavior": 2
            }
        ]
    },
    "audio": {
        "module": "sockaudio.py",
        "instances": [
            {
                "instance_name": "audio0",
                "device_name": "default",
                "udp_port": 23466,
                "audio_gain": 1.0,
                "number_channels": 1
            }
        ]
    },
    "terminal": {
        "module": "terminal.py",
        "terminal_type": "curses",
        "#terminal_type": "http:0.0.0.0:8080",
        "curses_plot_interval": 0.1,
        "http_plot_interval": 0.5,
        "http_plot_directory": "../www/images",
        "tuning_step_large": 1200,
        "tuning_step_small": 100
    }
}

1737311954623.png
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,441
Location
Talbot Co, MD
If you're trying for a P25 system you generally want to be set up for cqpsk not fsk4.
Code:
            "demod_type": "fsk4",

Try this instead:
Code:
           "demod_type": "cqpsk",

What branch of boatbod op25 code are you running from and has it been updated recently?
 

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
153
Location
Quebec, Canada
Yeah but the site I'm monitoring is a single tower site thus C4FM. Nevertheless I did try to change it to cqpsk and I still wasn't able to get a proper decode. I'm using gr310 branch and have updated it a few weeks ago.

I remember from the HackRF training that in the middle of the rx spectrum of the hackrf there is some sort of DC spike/hardware error. Do you think it's possible to not center the spectrum on the rx frequency so it's not on that DC spike? (i.e. mid-spectrum frequency is 142.385 and rx frequency is 143.385)?
Also do you think if_rate, tracking_threshold, tracking_feedback and excess_bw should be changed for the hackrf?

Thanks.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,441
Location
Talbot Co, MD
Yeah but the site I'm monitoring is a single tower site thus C4FM. Nevertheless I did try to change it to cqpsk and I still wasn't able to get a proper decode. I'm using gr310 branch and have updated it a few weeks ago.

I remember from the HackRF training that in the middle of the rx spectrum of the hackrf there is some sort of DC spike/hardware error. Do you think it's possible to not center the spectrum on the rx frequency so it's not on that DC spike? (i.e. mid-spectrum frequency is 142.385 and rx frequency is 143.385)?
Also do you think if_rate, tracking_threshold, tracking_feedback and excess_bw should be changed for the hackrf?

Thanks.
You can de-center a DC spike by setting the "offset" parameter in the devices section. In the example below I've set the offset to 20kHz.
Code:
    "devices": [
        {
            "args": "rtl=0", 
            "frequency": 773843750, 
            "gains": "LNA:36", 
            "name": "sdr0", 
            "offset": 20000, 
            "ppm": 0.0, 
            "rate": 1000000, 
            "tunable": true
        },
What does your mixer plot (#5) look like?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,441
Location
Talbot Co, MD
Looking back I'm fairly certain that the transmit issue explained here was caused by the offset mentioned in this thread.
Oh well :cautious:
That could be the case. I was reading an article about HackRF and the dc spike and it definitely did say the spike affected transmit as well as receive, but was harder to work around on the transmit side since it's actually caused by hardware.
 
Top