Differences?

Between “gr_simple_squelch_cc” and “gr_pwr_squelch_cc”? Besides that
the latter inherits from a base class, and is generally a little more
robust (e.g. allowing for ramping on and off), I don’t see any
significant differences between them. Thus I’m wondering if both are
used by folks, and if not, and they really are programmatically
equivalent, then can the former be removed? - MLD

Michael D. wrote:

Between “gr_simple_squelch_cc” and “gr_pwr_squelch_cc”? Besides that
the latter inherits from a base class, and is generally a little
more robust (e.g. allowing for ramping on and off), I don’t see any
significant differences between them. Thus I’m wondering if both are
used by folks, and if not, and they really are programmatically
equivalent, then can the former be removed? - MLD

The gr.pwr_squelch block is a new implementation of power thresholded
squelch I did last year, but did it in a way that can share code with
other new and future squelch implementations, like gr.ctcss_squelch.

Algorithmically, it uses the same exponential average filter on the
squared magnitude of the incoming sample stream, so it that sense, it is
redundant.

However, it also has additional functionality (ramping, skipping samples
vs. emitting zeros) not present in gr.simple_squelch.

To not break existing code in the wild, the original squelch has been
left in. I suppose we could officially deprecate it, and remove it in a
future release, but it’s actually easier to use if you don’t need the
fancier stuff in pwr_squelch.


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com