lwvmobile / dsd-fme

Digital Speech Decoder - Florida Man Edition
Other
162 stars 31 forks source link

In Level 0% #130

Closed nikisix closed 1 year ago

nikisix commented 1 year ago

No matter how I run this and pipe inputs I can't get the "In Level" above 0%. I've tried:

  1. Routing pulse audio in via the virtual sink from SDR++.
  2. SDR++ TCP network routing. Then running dsd-fme -i tcp.
  3. Directly reading from the dongle via: dsd-fme -i rtl:1:$freq:26:-2:8:0:7355

But no matter what I can't get the in level off the floor. I'm thinking this could be a build problem or the like. Any help appreciated.

DSD-FME version MBElib 1.3.2 version: v2.0.0-100-gae58fab

OS version Debian GNU/Linux 10 (buster)

lwvmobile commented 1 year ago

What kind of signal are you trying to decode? Inlvl is only going to be present/update when there is a recognized framesync on a known system type (DMR, P25, etc)

nikisix commented 1 year ago

I see. I've just been going off of radioreference.com for freq to system type (dmr, edacs, p25 in my locale), but haven't got in level to budge.

nikisix commented 1 year ago

To troubleshoot this, I use your -N(curses) interface. And press Escape, switch system type, then resume decoding. But still nothing. I'm thinking it's a problem upstream somewhere. I should mention, I'm running this on two nooelec R820T dongles.

lwvmobile commented 1 year ago

Well, let's just look at one thing at a time before you just say this is an 'upstream issue'. With SDR++ open, when you tune to a frequency of interest from the database, do you see any activity on that frequency? Or the signal strong, weak, or not there at all? Also, with SDR++ open, with the TCP Audio Sink running inside of SDR++, are you able to successfully connect to the Audio Sink? It may also help to check the console log output (log.ans or filename.ext after the 2> part) or not use the ncurses terminal and see what the console output messages say on start up, if there are any issues connecting or not.

When using DSD-FME and everything is connected and working properly with SDR++, it will look like this. This is also a good time to double check all your settings in SDR++, particularly Radio for NFM, appropriate bandwidth, and Sinks for Network TCP sink and that it is started and listening, and also under RIGCTL if applicable, for trunking, if you want to have FME tune it for you, turn that on as well.

Screenshot from 2023-06-06 15-59-46

Screenshot from 2023-06-06 16-00-00

Console output on successful start up and connection to SDR++ TCP audio sink and rigctl.

            Digital Speech Decoder: Florida Man Edition
 ██████╗  ██████╗██████╗     ███████╗███╗   ███╗███████╗
 ██╔══██╗██╔════╝██╔══██╗    ██╔════╝████╗ ████║██╔════╝
 ██║  ██║╚█████╗ ██║  ██║    █████╗  ██╔████╔██║█████╗  
 ██║  ██║ ╚═══██╗██║  ██║    ██╔══╝  ██║╚██╔╝██║██╔══╝  
 ██████╔╝██████╔╝██████╔╝    ██║     ██║ ╚═╝ ██║███████╗
 ╚═════╝ ╚═════╝ ╚═════╝     ╚═╝     ╚═╝     ╚═╝╚══════╝
Build Version:  v2.0.1-27-g514161f 
MBElib Version: 1.3.2
Enabling NCurses Terminal.
Channel [00001] [420137500]
Channel [00002] [420137500]
Channel [00003] [420350000]
Channel [00004] [420350000]
Channel [00005] [420450000]
Channel [00006] [420450000]
Channel [00007] [420725000]
Channel [00008] [420725000]
Channel [00009] [420975000]
Channel [00010] [420975000]
TCP Direct Link: localhost:7355 
TCP Connection Success!
Audio Out Device: pulse
Audio In Device: tcp
Press CTRL + C to close.
Control Channel Signal Lost. Searching for Control Channel.
Tuning to Frequency: 420.137500 MHz
16:03:04 Sync: +DMR  [slot1]  slot2  | Color Code=05 | CSBK
 Capacity Plus Channel Status - FL: 3 TS: 0 RS: 0 - Rest Channel 2 - Single Block
  LSN 01:  Idle;  LSN 02:  Rest;  LSN 03:  Idle;  LSN 04:  Idle;  
nikisix commented 1 year ago

I'll answer your diagnostic questions now. Then I'll take some screen-shots as you've been kind enough to do.

  1. I see signals close to the db frequencies, but not exactly on those frequencies. Is this typical?
  2. I am able to successfully connect to SDR++'s TCP audio out, and rigctl on 7355 and 4532 respectively. I see the green connected text.

I'll respond back with some screenshots of everything shortly

nikisix commented 1 year ago

running stopped

nikisix commented 1 year ago

Also, what exactly does the channel map do and do I need one if I'm hand-tuning in SDR++?

lwvmobile commented 1 year ago

Okay, a couple things of importance to note here.

First, and foremost, you are tuned to the center DC spike. All RTL dongles have this, and you will want to adjust for it by not tuning directly on center, and also using IQ Correction.

Second, your bandwidth needs to be between 7000-12000 on most systems, stronger signal can use more bandwidth, weaker can use less, but 2500 is way too low. Looks like you adjusted that on the center spike. Unless its Provoice, you shouldn't need more than 12000.

Speaking of which, seems like you are tuned to the center spike, you can click in the window on the signal you want to listen to and see if anything decodes, but look at the top for the bulls eye and click it, it should change to double arrows, that's the mode you'll want to be in most times.

Also, worth mentioning, I'd probably use DMR Stereo -fs and not DMR Mono -fr I really need to get rid of that mode.

Its also helpful to adjust your min/max on the right hand side until you don't see the noise floor or just barely see it at the bottom, it really helps to distinguish strong signal from noise.

Also, what exactly does the channel map do and do I need one if I'm hand-tuning in SDR++?

The Channel Map is for trunking systems that require hard coded frequencies and the system doesn't explicitely tell you the frequencies, but tells you channel numbers.

  1. I see signals close to the db frequencies, but not exactly on those frequencies. Is this typical?

This can be typical for two reasons. First, RR is not infallable, it can have unreliable or outdated information, or information for your area may be skewed by somebody living much closer to the signal or having a better/different antenna. Its not that uncommon to just have to explore the bands and see what is out there for yourself. Second, if the frequency is really close, but just slightly off, then you need to adjust your PPM to compensate. Most okay dongles have a PPM of 0 to 2, or 0 to -2. Cheapo's can go upwards of 45-55 or more. I have some of both, good ones, and cheapos, so you may need to adjust PPM on a strong frequency until the frequency lines up with a known good reported one. In the USA, this is easy to do against NOAA weather radio or nearby FM radio.

Anyways, another thing, that signal you do see in your window doesn't look particularly strong vs the noise, so it may decode okay, or may not, but if it should atleast show some effort to decode (framesync etc)

Screenshot from 2023-06-06 16-38-58

nikisix commented 1 year ago

No luck :/

I'm thinking I may need to upgrade from my Nooelec r820T minis as I can barely get fm stations so I'm thinking it could possibly be a lack of signal.

I want to thank you for all of your help.

lwvmobile commented 1 year ago

Yeah, just a final thought. If you have an RTL dongle that came with an MCX antenna that looks like this

Screenshot from 2023-06-08 17-27-36

Then you might as well just not have an antenna at all. Maybe they will work okay in dense metropolitan environments with lots of strong signal nearby and no obstructions, but where I live, they are just trash.

What I have done is bought several MCX to BNC bulkhead adapters and various adapters like a BNC to F-TYPE adapter to let me use standard coax cable, and use different outdoor antennas and/or scanner whip antennas for VHF and for 800 Mhz-ish. If you can't get a higher end RTL dongle with the SMA connector or a BNC bulkhead on it with a matching good antenna, then those types of adapters work pretty well.

nikisix commented 1 year ago

Yep, that's what I'm working with. Makes sense. I'll give things another go once I've upgraded my setup and report back with some good news hopefully. Thanks for the tips!