CTCSS squelch block checked in

The gr.ctcss_squelch_ff() processing block has been checked in to CVS.

The syntax of the new block is:

gr.ctcss_squelch_ff(rate, # Input stream sample rate
freq, # CTCSS tone frequency
level=0.01, # Required CTCSS tone level (see below)
len=0, # Detection sample length (see below)
ramp=0, # Samples to apply rise/fall window
gate=False) # False=zero output when squelched
# True=gate output when squelched

The block will detect when the supplied frequency is EIA standard, and
ensure the selectivity is set for halfway between the next adjacent tone
on either side. So a freq setting of 100 Hz, with adjacent tones of
97.4 and 103.5 Hz, will create a passband of 98.7 - 101.75 Hz.

Non-standard tones will have a ±2% passband created.

In addition, the tone must be present at a certain magnitude to open the
squelch. The level parameter controls this and has a default value
suitable for audio input levels of -1.0 to 1.0 and 5% to 10% CTCSS tone
deviation. However, this value must be high enough not to be triggered
by white noise between transmissions. Ultimately, you’ll need to
experiment and choose the right value for your application.

The len parameter controls the selectivity of the squelch detection. The
default is to produce a 100ms detection period. You can experiment with
relaxing (shortening) this value to produce faster detection at the
expense of a higher incidence of false squelch openings during noise.

The ramp parameter (as in the pwr_squelch blocks) controls over how many
samples to apply a raised cosine window when opening or closing squelch.

Finally, the gate parameter (also in the pwr_squelch blocks) determines
whether the block produces zeros or simply blocks when the squelch is

-Johnathan, AE6HO

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs