Hi David,
I am looking at how to implement soft-squelch in freedv-server.
As far as I can tell, the communication between pieces should work this way:
For each modem "frame", the modem emits data and a quality number. These
are passed to the codec. There is a constant output rate corresponding
to the input rate, regardless of its quality. If there's no signal,
there will be a chunk of null data and a low quality number.
The codec module consumes samples and quality values from the modem and
has responsibility for FEC. It has the choice of decoding normally,
interpolating over data of low quality, or emitting silence. It emits
some number of samples and a quality number. There is again a constant
output rate corresponding to the input rate regardless of the quality of
the input. The codec can reduce or increase the quality value from that
it gets from the modem, depending on the results of FEC, etc.
Soft-squelch mixes three "inputs": silence (a stream of zeroes), raw
audio from the receiver, or demodulated and decoded audio from the modem
and codec. It does this according to the quality value output by the
codec, a squelch value from the user interface, and optionally a value
from some form of selective-call logic. Curves for attack and decay of
mixing gain makes change graceful and suppresses clicks.
Separate from this there can be a hard squelch that keeps the entire
receive data path asleep and in a low-power mode until a particular
hardware RSSI value is reached.
Does this correspond to what you are thinking of?
Thanks
Bruce
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2