Real Squelch Action on SDR

Status
Not open for further replies.

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
What SDR programs (either Windows or linux) feature a squelch system for analog narrowband FM that acts like a traditional noise squelch?

So far I've used SDR# and SDR-Console, but the squelch threshold varies with the noise floor, so I have to constantly adjust the squelch throughout the day as the noise floor varies. This is unacceptable for unattended operation. If I set it and forget it, when the noise floor is low the squelch won't open for signals that are intelligible over the noise.

I was glad I was not the only one experiencing this when I read the 4th paragraph of Bill's post in the OP25 boatbod feature announcement thread.

So, what to do? TNX.
 

slicerwizard

Member
Joined
Sep 19, 2002
Messages
7,643
Location
Toronto, Ontario
FMP24 has a minimally-adjustable squelch (just enabled or disabled) and I don't recall too many issues with varying noise floor levels or signal strengths, but I rarely use it. Maybe others who have more experience can weigh in.
 

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
I guess that's the problem, everybody is rushing to decode digital signals while I'm out here in left field listening to NBFM analog railroad stuff. Railroads move verrrrrrrrry slowly so analog receivers will be useful to monitor them for years to come. I guess I'll have to become an SDR developer and do it myself if it's to be done at all :-(
 

DC31

Member
Feed Provider
Joined
Feb 19, 2011
Messages
1,545
Location
Massachusetts
Try GQRX, that got me going after struggling with squelch/gain for a long time.

Now I am using PiScan (see other thread in this topic), and find that to be much simpler and uses less resources on the pi.

I only do analog stuff, too.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
What SDR programs (either Windows or linux) feature a squelch system for analog narrowband FM that acts like a traditional noise squelch?

So far I've used SDR# and SDR-Console, but the squelch threshold varies with the noise floor, so I have to constantly adjust the squelch throughout the day as the noise floor varies. This is unacceptable for unattended operation. If I set it and forget it, when the noise floor is low the squelch won't open for signals that are intelligible over the noise.

I was glad I was not the only one experiencing this when I read the 4th paragraph of Bill's post in the OP25 boatbod feature announcement thread.

So, what to do? TNX.
The problem with most SDR squelch algorithms is that they are based on some threshold of average received power, which of course varies with the RF gain of the hardware, environmental conditions and other factors. SDR does not behave the same as analog semiconductors so it's not straight forward to write a noise squelch based on IQ sampling. If it were, I'm sure gnuradio would already have that block...
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
SDR does not behave the same as analog semiconductors so it's not straight forward to write a noise squelch based on IQ sampling. If it were, I'm sure gnuradio would already have that block...

There's certainly nothing inherent in complex (I/Q) sampling that precludes this or even slightly impedes it . (Granted the "average power" method is substandard regardless). When we use analog.quadrature_demod_cf() the result is equivalent for all practical purposes to the output of the discriminator tap. In the PA3FWM page that you linked the method (2) is AFAIK a standard method used in analog FM squelch circuits. IF I recall, the demodulated AF baseband after the discriminator is split into two bands with a crossover frequency of roughly 4 KHz. The higher frequency band of the two is further HPF'ed and then the power in the two bands is fed to a variable comparator whose reference level is set by the squelch control.

You may have already added it, but another option which should also exist in any analog FM implementation is a CTCSS gate...

73

Max
 

a417

U+0000
Joined
Mar 14, 2004
Messages
4,650
why not use rtl_fm -l ...?

rtl_fm is super lightweight, and designed for narrowband FM analog and doesn't have the dependencies that SDR# or GQRX have, or the CPU requirements.

As you're looking at narrowband FM analog, why not start simple?
 

Forts

Mentor
Database Admin
Joined
Dec 19, 2002
Messages
6,688
Location
Ontario, Canada
I use the squelch feature in FMP24 to monitor a handful of local analog fire channels. Works well, for me.... a little bit of squelch tail and the end of each transmission but nothing obnoxious.
 

fire42man

Member
Joined
Sep 21, 2011
Messages
88
Location
Pittsburgh
Now I am using PiScan (see other thread in this topic), and find that to be much simpler and uses less resources on the pi.
To piggyback off of this, PiScan normally squelches by signal power, but does feature an option to squelch by SNR relative to the noise floor. It doesn’t work as well for picking up weak signals, however
 

dave3825

* * * * * * * * * * * *
Premium Subscriber
Joined
Feb 17, 2003
Messages
7,442
Location
Suffolk County NY
I use sdr# to monitor a ton of of different things and don't have any issues. I set the squelch about 7 clicks above where the static breaks. I often bounce between bands and dont have trouble. Extreme far away transmissions get lost but most of my daily monitoring is local.

What is your antenna set up?
 

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
I'm glad I sparked some good discussion about this, as I have not delved deeply into SDR so I don't know the lay of the land. I really like SDR-Console, except it suffers the problem discussed here where the squelch threshold varies with the overall RF noise level.

The biggest thing going for SDR-Console in my application is that it can receive multiple VFOs simultaneously (as opposed to scanning a list of individual freqs) and is very well designed overall. I'm sure other projects can do this, I simply need to find the time to research them.

My hope is to come up with an unattended, automated setup that allows me to monitor 3-4 frequencies simultaneously and stream the audio to my icecast server. I split them by usage into left and right stereo channels. The radio receive portion is the only part that I'm really struggling with, but I will examine the suggestions here. I've been hoping to develop a linux solution, but I recently fell into a handful of late model Windows mini PCs so those will tide me over for the time being. I'm glad for this discussion. Thanks!
 
Last edited:

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
I use sdr# to monitor a ton of of different things and don't have any issues. I set the squelch about 7 clicks above where the static breaks. I often bounce between bands and dont have trouble. Extreme far away transmissions get lost but most of my daily monitoring is local.

What is your antenna set up?

I last used SDR# a year or so ago and it didn't seem quite ready for prime time, requiring a weekly reboot to keep it sane on a headless box that a friend installed here for which I am local custodian. I've had SDR-Console run for weeks at a time with no intervention, but those two are my only hands-on experiences with SDR.

My antenna system is decidedly sub-par, but I'm pretty sure that whatever noise I'm receiving has a low percentage of electronic garbage from my shack since the antenna is about 15 feet up on the peak of my roof. The noise floor drops after a heavy rain, then steadily rises as power line insulators dry out. Sadly, 160MHz is a prime target of power line noise.
 
Last edited:

dave3825

* * * * * * * * * * * *
Premium Subscriber
Joined
Feb 17, 2003
Messages
7,442
Location
Suffolk County NY
I use sdr# all the time but never really left it on for more than a few hours since I have op25 running my local pd on a pi and a couple of instances of DSDPlus fastlane running as well as Unitrunker and SDRtrunk.

I use sdr# for my rail, air and uhf fire depts as well as searching for new stuff.

Do you have an actual scanner or just dongles?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,316
Location
Talbot Co, MD
There's certainly nothing inherent in complex (I/Q) sampling that precludes this or even slightly impedes it . (Granted the "average power" method is substandard regardless). When we use analog.quadrature_demod_cf() the result is equivalent for all practical purposes to the output of the discriminator tap. In the PA3FWM page that you linked the method (2) is AFAIK a standard method used in analog FM squelch circuits. IF I recall, the demodulated AF baseband after the discriminator is split into two bands with a crossover frequency of roughly 4 KHz. The higher frequency band of the two is further HPF'ed and then the power in the two bands is fed to a variable comparator whose reference level is set by the squelch control.

You may have already added it, but another option which should also exist in any analog FM implementation is a CTCSS gate...

73

Max
Thanks Max. The op25 nbfm demod was really an accidental (and almost effort-free) byproduct of needing to support analog type ii to go along with p25cai digital. Adding CTCSS should be fairly straight forward and I'm sure if I look around there should be some gnuradio blocks somewhere that already do that.
 

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
I use sdr# all the time but never really left it on for more than a few hours since I have op25 running my local pd on a pi and a couple of instances of DSDPlus fastlane running as well as Unitrunker and SDRtrunk.

I use sdr# for my rail, air and uhf fire depts as well as searching for new stuff.

Do you have an actual scanner or just dongles?

I agreed to host a buddy's mini PC that does nothing but monitor the county fire department paging transmitter. It runs PDW to decode the paging data stream supplied to it fomerly by SDR#, nowadays by SDR-Console. I got burned enough times by SDR# just freezing up that I made it a weekly habit to reboot the box. Then I got smart and replaced it with SDR-Console and it just runs and runs and runs. That uses the metal RTL-SDR v3 dongle.

I have a handful of Uniden scanners, but I'm never buying another one now that SDR is da bomb. I've been planning a string of SDR railroad radio feeds at key locations, but I want to make them trouble-free without needing a lot of hand-holding. I placed one at my office running a fresh install of Windows 10 that seemed to get hung up periodically due to incomplete Windows Updates reboot cycles, even though I thought I had nailed that down to ask permission first. Fortunately I had access to the box, but it left me smarting, so I decided to focus my efforts on a linux solution. Then I got busy with work and have not dedicated time to researching alternatives, hence this thread.

I scooped up 3 AirSpy R2 SDRs during their Christmas sale and intend to use those for my "important" railroad feeds because they have such a good receiver. The V3 metal dongles are only OK for strong signal stuff it appears, but they're cheap. You get what you pay for. I can locate those at fill-in locations where their lower sensitivity is not such a problem.

But the poor squelch action on the couple of SDR programs that I've used leaves me wanting to find a better solution. If I crank up the squelch to account for the worst noise floor I'll miss weaker signals when things settle down. If I set it lower when the noise level is lower, then you get bursts of noise or just open squelch when the noise floor increases. No win scenario.

There are some good suggestions here that I will have to try, but it won't be for a couple weeks as I just had a major work project dumped in my lap yesterday.
 

slicerwizard

Member
Joined
Sep 19, 2002
Messages
7,643
Location
Toronto, Ontario
why not use rtl_fm -l ...?

rtl_fm is super lightweight, and designed for narrowband FM analog and doesn't have the dependencies that SDR# or GQRX have, or the CPU requirements.

As you're looking at narrowband FM analog, why not start simple?
Last time I checked, rtl_fm had broken squelch logic, including an integer overflow bug. Also had poor channel selectivity - channels a few hundred kHz away would bleed through. Have these been addressed?
 

a417

U+0000
Joined
Mar 14, 2004
Messages
4,650
Have these been addressed?
I'm running 0.6.0-3 on debian and I have clear NFM audio. I know ubuntu for a while included 0.5.x and earlier, so that might have been addressed...but I use rtl_tcp and rtl_fm daily w/o issue.
 

Bote

know-it-all
Feed Provider
Joined
Dec 19, 2002
Messages
1,043
Location
Ft. Lauderdale, FL, U.S.A.
I'm running 0.6.0-3 on debian and I have clear NFM audio. I know ubuntu for a while included 0.5.x and earlier, so that might have been addressed...but I use rtl_tcp and rtl_fm daily w/o issue.

How's the squelch action? Does it behave similarly to a traditional physical FM receiver? TNX.
 

a417

U+0000
Joined
Mar 14, 2004
Messages
4,650
How's the squelch action? Does it behave similarly to a traditional physical FM receiver? TNX.
The squelch functions good enough for me, although I am dealing with a fairly strong signal. I set it via-l and it just works.
 
Status
Not open for further replies.
Top