DSPRelated.com
Forums

RTTY (AFSK) demodulation

Started by sven98de February 27, 2010
Hi,
has somebody here implemented a RTTY (AFSK) decoder. Any suggestions how to
proceed ?
I've found some technical abstracts about FSK demodulation in the WEB
like:
- frequency discriminator with IIR resonator
- frequency discriminator with FIR bandpass filter
- digital PLL

Any idea how complex it is to implement one of these methods ?
What processor is sufficient for this, does a microcontroller the job ?

greetz
Sven


On 27.2.10 4:02 , sven98de wrote:
> Hi, > has somebody here implemented a RTTY (AFSK) decoder. Any suggestions how to > proceed ? > I've found some technical abstracts about FSK demodulation in the WEB > like: > - frequency discriminator with IIR resonator > - frequency discriminator with FIR bandpass filter > - digital PLL > > Any idea how complex it is to implement one of these methods ? > What processor is sufficient for this, does a microcontroller the job ?
Do you like to use it on real band conditions, or is this just an exercise. When there is QRM and QRN on the channel, a PLL is not a good idea, as it will pretty easily grab an interfering signal. The traditional TU (terminal unit) has two analog filters, one for mark and one for space. If you like to use it as a model, make a single pole-pair IIR resonator for both frequencies and compare the amplitudes. -- Tauno Voipio, OH2UG

Tauno Voipio wrote:

> On 27.2.10 4:02 , sven98de wrote: > > Hi, > > has somebody here implemented a RTTY (AFSK) decoder. Any suggestions how to > > proceed ? > > I've found some technical abstracts about FSK demodulation in the WEB > > like: > > - frequency discriminator with IIR resonator > > - frequency discriminator with FIR bandpass filter > > - digital PLL > > > > Any idea how complex it is to implement one of these methods ? > > What processor is sufficient for this, does a microcontroller the job ? > > Do you like to use it on real band conditions, or is this just > an exercise. > > When there is QRM and QRN on the channel, a PLL is not a good > idea, as it will pretty easily grab an interfering signal. > > The traditional TU (terminal unit) has two analog filters, > one for mark and one for space. If you like to use it as a > model, make a single pole-pair IIR resonator for both > frequencies and compare the amplitudes. >
I implemented one with a single simple filter and used the phase shift across the filters center frequency to decode 0/1 The same trick also works for simple 300baud modems The phase discriminator was D latch with filter input going in the D input and filter output clocking the latch. Regards, Walter.. -- Walter Banks Byte Craft Limited http://www.bytecraft.com
Tauno Voipio wrote:
> On 27.2.10 4:02 , sven98de wrote: >> Hi, >> has somebody here implemented a RTTY (AFSK) decoder. Any suggestions >> how to >> proceed ? >> I've found some technical abstracts about FSK demodulation in the WEB >> like: >> - frequency discriminator with IIR resonator >> - frequency discriminator with FIR bandpass filter >> - digital PLL >> >> Any idea how complex it is to implement one of these methods ? >> What processor is sufficient for this, does a microcontroller the job ? > > Do you like to use it on real band conditions, or is this just > an exercise. > > When there is QRM and QRN on the channel, a PLL is not a good > idea, as it will pretty easily grab an interfering signal. > > The traditional TU (terminal unit) has two analog filters, > one for mark and one for space. If you like to use it as a > model, make a single pole-pair IIR resonator for both > frequencies and compare the amplitudes.
Or I/Q demodulate at both the mark and space frequency, do a running average (a _real_ running average, not an exponential decay) for one bit period, and choose the I/Q pair with the best magnitude. If you deal with the synchronization issue, you can just sum-and-dump instead of doing the running average. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Tim Wescott wrote:
> Tauno Voipio wrote: >> On 27.2.10 4:02 , sven98de wrote: >>> Hi, >>> has somebody here implemented a RTTY (AFSK) decoder. Any suggestions >>> how to >>> proceed ? >>> I've found some technical abstracts about FSK demodulation in the WEB >>> like: >>> - frequency discriminator with IIR resonator >>> - frequency discriminator with FIR bandpass filter >>> - digital PLL >>> >>> Any idea how complex it is to implement one of these methods ? >>> What processor is sufficient for this, does a microcontroller the job ? >> >> Do you like to use it on real band conditions, or is this just >> an exercise. >> >> When there is QRM and QRN on the channel, a PLL is not a good >> idea, as it will pretty easily grab an interfering signal. >> >> The traditional TU (terminal unit) has two analog filters, >> one for mark and one for space. If you like to use it as a >> model, make a single pole-pair IIR resonator for both >> frequencies and compare the amplitudes. > > Or I/Q demodulate at both the mark and space frequency, do a running > average (a _real_ running average, not an exponential decay) for one bit > period, and choose the I/Q pair with the best magnitude. If you deal > with the synchronization issue, you can just sum-and-dump instead of > doing the running average.
By "real running average" as opposed to "sum and dump", Do you mean forever and ever amen? The sensitivity would tank after a few bit times if you did that. Jerry -- "I view the progress of science as ... the slow erosion of the tendency to dichotomize." --Barbara Smuts, U. Mich. �����������������������������������������������������������������������
Jerry Avins wrote:
> Tim Wescott wrote: >> Tauno Voipio wrote: >>> On 27.2.10 4:02 , sven98de wrote: >>>> Hi, >>>> has somebody here implemented a RTTY (AFSK) decoder. Any suggestions >>>> how to >>>> proceed ? >>>> I've found some technical abstracts about FSK demodulation in the WEB >>>> like: >>>> - frequency discriminator with IIR resonator >>>> - frequency discriminator with FIR bandpass filter >>>> - digital PLL >>>> >>>> Any idea how complex it is to implement one of these methods ? >>>> What processor is sufficient for this, does a microcontroller the job ? >>> >>> Do you like to use it on real band conditions, or is this just >>> an exercise. >>> >>> When there is QRM and QRN on the channel, a PLL is not a good >>> idea, as it will pretty easily grab an interfering signal. >>> >>> The traditional TU (terminal unit) has two analog filters, >>> one for mark and one for space. If you like to use it as a >>> model, make a single pole-pair IIR resonator for both >>> frequencies and compare the amplitudes. >> >> Or I/Q demodulate at both the mark and space frequency, do a running >> average (a _real_ running average, not an exponential decay) for one >> bit period, and choose the I/Q pair with the best magnitude. If you >> deal with the synchronization issue, you can just sum-and-dump instead >> of doing the running average. > > By "real running average" as opposed to "sum and dump", Do you mean > forever and ever amen? The sensitivity would tank after a few bit times > if you did that.
Boxcar filter, running average, y(t) = integral from (t - T0) to t dt, etc. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Tim Wescott wrote:
> Jerry Avins wrote: >> Tim Wescott wrote: >>> Tauno Voipio wrote: >>>> On 27.2.10 4:02 , sven98de wrote: >>>>> Hi, >>>>> has somebody here implemented a RTTY (AFSK) decoder. Any >>>>> suggestions how to >>>>> proceed ? >>>>> I've found some technical abstracts about FSK demodulation in the WEB >>>>> like: >>>>> - frequency discriminator with IIR resonator >>>>> - frequency discriminator with FIR bandpass filter >>>>> - digital PLL >>>>> >>>>> Any idea how complex it is to implement one of these methods ? >>>>> What processor is sufficient for this, does a microcontroller the >>>>> job ? >>>> >>>> Do you like to use it on real band conditions, or is this just >>>> an exercise. >>>> >>>> When there is QRM and QRN on the channel, a PLL is not a good >>>> idea, as it will pretty easily grab an interfering signal. >>>> >>>> The traditional TU (terminal unit) has two analog filters, >>>> one for mark and one for space. If you like to use it as a >>>> model, make a single pole-pair IIR resonator for both >>>> frequencies and compare the amplitudes. >>> >>> Or I/Q demodulate at both the mark and space frequency, do a running >>> average (a _real_ running average, not an exponential decay) for one >>> bit period, and choose the I/Q pair with the best magnitude. If you >>> deal with the synchronization issue, you can just sum-and-dump >>> instead of doing the running average. >> >> By "real running average" as opposed to "sum and dump", Do you mean >> forever and ever amen? The sensitivity would tank after a few bit >> times if you did that. > > Boxcar filter, running average, y(t) = integral from (t - T0) to t dt, etc.
How dos a boxcar averager that is consulted only just before it is reset differ from sum-and-dump, leaving aside its more complex implementation? What am I missing? Jerry -- "I view the progress of science as ... the slow erosion of the tendency to dichotomize." --Barbara Smuts, U. Mich. �����������������������������������������������������������������������
Jerry Avins wrote:
> Tim Wescott wrote: >> Jerry Avins wrote: >>> Tim Wescott wrote: >>>> Tauno Voipio wrote: >>>>> On 27.2.10 4:02 , sven98de wrote: >>>>>> Hi, >>>>>> has somebody here implemented a RTTY (AFSK) decoder. Any >>>>>> suggestions how to >>>>>> proceed ? >>>>>> I've found some technical abstracts about FSK demodulation in the WEB >>>>>> like: >>>>>> - frequency discriminator with IIR resonator >>>>>> - frequency discriminator with FIR bandpass filter >>>>>> - digital PLL >>>>>> >>>>>> Any idea how complex it is to implement one of these methods ? >>>>>> What processor is sufficient for this, does a microcontroller the >>>>>> job ? >>>>> >>>>> Do you like to use it on real band conditions, or is this just >>>>> an exercise. >>>>> >>>>> When there is QRM and QRN on the channel, a PLL is not a good >>>>> idea, as it will pretty easily grab an interfering signal. >>>>> >>>>> The traditional TU (terminal unit) has two analog filters, >>>>> one for mark and one for space. If you like to use it as a >>>>> model, make a single pole-pair IIR resonator for both >>>>> frequencies and compare the amplitudes. >>>> >>>> Or I/Q demodulate at both the mark and space frequency, do a running >>>> average (a _real_ running average, not an exponential decay) for one >>>> bit period, and choose the I/Q pair with the best magnitude. If you >>>> deal with the synchronization issue, you can just sum-and-dump >>>> instead of doing the running average. >>> >>> By "real running average" as opposed to "sum and dump", Do you mean >>> forever and ever amen? The sensitivity would tank after a few bit >>> times if you did that. >> >> Boxcar filter, running average, y(t) = integral from (t - T0) to t dt, >> etc. > > How dos a boxcar averager that is consulted only just before it is reset > differ from sum-and-dump, leaving aside its more complex implementation?
Not at all
> What am I missing? >
Without synchronization to the data clock, sum-and-dump doesn't work. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Tim Wescott wrote:
> Jerry Avins wrote: >> Tim Wescott wrote: >>> Jerry Avins wrote: >>>> Tim Wescott wrote: >>>>> Tauno Voipio wrote: >>>>>> On 27.2.10 4:02 , sven98de wrote: >>>>>>> Hi, >>>>>>> has somebody here implemented a RTTY (AFSK) decoder. Any >>>>>>> suggestions how to >>>>>>> proceed ? >>>>>>> I've found some technical abstracts about FSK demodulation in the >>>>>>> WEB >>>>>>> like: >>>>>>> - frequency discriminator with IIR resonator >>>>>>> - frequency discriminator with FIR bandpass filter >>>>>>> - digital PLL >>>>>>> >>>>>>> Any idea how complex it is to implement one of these methods ? >>>>>>> What processor is sufficient for this, does a microcontroller the >>>>>>> job ? >>>>>> >>>>>> Do you like to use it on real band conditions, or is this just >>>>>> an exercise. >>>>>> >>>>>> When there is QRM and QRN on the channel, a PLL is not a good >>>>>> idea, as it will pretty easily grab an interfering signal. >>>>>> >>>>>> The traditional TU (terminal unit) has two analog filters, >>>>>> one for mark and one for space. If you like to use it as a >>>>>> model, make a single pole-pair IIR resonator for both >>>>>> frequencies and compare the amplitudes. >>>>> >>>>> Or I/Q demodulate at both the mark and space frequency, do a >>>>> running average (a _real_ running average, not an exponential >>>>> decay) for one bit period, and choose the I/Q pair with the best >>>>> magnitude. If you deal with the synchronization issue, you can >>>>> just sum-and-dump instead of doing the running average. >>>> >>>> By "real running average" as opposed to "sum and dump", Do you mean >>>> forever and ever amen? The sensitivity would tank after a few bit >>>> times if you did that. >>> >>> Boxcar filter, running average, y(t) = integral from (t - T0) to t >>> dt, etc. >> >> How dos a boxcar averager that is consulted only just before it is >> reset differ from sum-and-dump, leaving aside its more complex >> implementation? > > Not at all > >> What am I missing? >> > Without synchronization to the data clock, sum-and-dump doesn't work.
Ah so! Thanks. Jerry -- "I view the progress of science as ... the slow erosion of the tendency to dichotomize." --Barbara Smuts, U. Mich. �����������������������������������������������������������������������
>On 27.2.10 4:02 , sven98de wrote: >> Hi, >> has somebody here implemented a RTTY (AFSK) decoder. Any suggestions how
to
>> proceed ? >> I've found some technical abstracts about FSK demodulation in the WEB >> like: >> - frequency discriminator with IIR resonator >> - frequency discriminator with FIR bandpass filter >> - digital PLL >> >> Any idea how complex it is to implement one of these methods ? >> What processor is sufficient for this, does a microcontroller the job ? > >Do you like to use it on real band conditions, or is this just >an exercise. > >When there is QRM and QRN on the channel, a PLL is not a good >idea, as it will pretty easily grab an interfering signal. > >The traditional TU (terminal unit) has two analog filters, >one for mark and one for space. If you like to use it as a >model, make a single pole-pair IIR resonator for both >frequencies and compare the amplitudes. > >-- > >Tauno Voipio, OH2UG >
Yes I thought to use it on real band conditions, so there will be more or less interferences. Sven