FSK demodulation question

Status
Not open for further replies.

neazoi

Advanced Member level 6
Joined
Jan 5, 2008
Messages
4,157
Helped
13
Reputation
26
Reaction score
15
Trophy points
1,318
Location
Greece
Activity points
37,198
Hi, I am looking at Fig. 15 (non coherent fsk demodulation) of the pdf.
Since UART in idle state is logic HI (+5v) and FSK-mark is logic HI and it is present when idle, I wonder, can I just assume the MARK and detect only the SPACE?
This will need only one filter on Fig. 15, the SPACE filter. The space detector would then just bring the UART voltage from +5v down to 0v when a SPACE is detected.
 

Attachments

  • fsk-signals-demodulation-v7-5.pdf
    79.6 KB · Views: 482

It wouldn't be reliable, you would be detecting MARK and noise. It isn't safe to assume noise doesn't contain any MARK frequencies.

Brian.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
It wouldn't be reliable, you would be detecting MARK and noise. It isn't safe to assume noise doesn't contain any MARK frequencies.

Brian.
Oh no Brian, no noise. It will have just 1 filter (for the MARK) not two that is shown in the diagram. The Decision comparator will always output HI (idle) and the MARK detector will force the comparator to go to LO state. So it will actually detect only the MARK (after the filter), and assume the SPACE.
Obviously simplicity is the key here.

Now if you are talking about noise within the filtered MARK channel when there is no MARK present, then I intend to use this through telcos not through shortwave radio, so the sifference between the actual mark tone and the noise would be very high (high S/N)
 

With fixed frequencies and In a clear channel with no noise you should be fine. Note that by using the absence or presence of one tone you are effectively using AM rather than FM.

Brian.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
With fixed frequencies and In a clear channel with no noise you should be fine. Note that by using the absence or presence of one tone you are effectively using AM rather than FM.

Brian.
Thanks Brian. Do you think that it would be easier to transfer 1200 baud that way, than the classic 2-frequencies way? I am talking about the detector limitation at that speeds that you mentioned in another thread in the past.
 

In a clear channel it doesn't really make much difference which way you do it. FM has the advantage if the frequency isn't stable or consistent because it allows data slicing so for example in radio work when tuning and BFO can cause problems, the shift in frequencies can be utilized rather than the absolute frequency. If all you are doing is passing tones through a filter and you are sure the wanted frequency and filter always match each other, your detector only sees a tone or a silence which is exactly what AM would look like. There is a slight drawback in that if you only rely on the filter, it will still be susceptible to the amplitude of the tone so low levels might be harder to detect.

Brian.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
I fear that the greatest disadvantage is not the amplitude variations (the telcos have much cleaner lines than radio) but the ringing of the filter at 1200 baud. Of course you can make the AF filter to be 300Hz or 500Hz and get away with that. It even on 500Hz, a 2200Hz filter (MARK) should still be able to reject the SPACE (1200Hz). Even if some SPACE signal gets through, the MARK would be of much greater amplitude, so you can tune the sensitivity of the detector to further attenuate the SPACE if needed. Or use a narrower filter up to the point where no ringing occurs.
This is the way I am thinking of it.

Although differenciating between frequencies would be better, this single filtered frequency method greatly simplifies the detector scheme, nearly in half. I can use a single 2 transistors comparator like the one attached for the "decision making" of 1 or 0. But what kind of detector to translate audio to DC should I use?
Maybe if audio signal is strong enough, this comparator is able to do the detection as well? (it is activated on 100mV and up). Or a pulse counting detector would be better at these speeds?
 

Attachments

  • schem1.jpg
    15.6 KB · Views: 231

Realistically, the best option if you want to use a single frequency is a PLL, for example the NE565. It will not only do the filtering for you but provide a digital output you can use directly without needing a comparator at all. Just set its oscillator to free run at 2200Hz and use the lock detect output to drive the UART. You can control the bandwidth and response speed with the loop filter components.

I don't know what your application is but my fear over using a single filter and AM detector is the noise immunity will be very low. I appreciate your comments about the line being 'clean' but phone lines are prone to picking up static in storms and they don't guarantee the levels will always be the same. If you do want to follow that path, a simple half wave rectifier will work as well as anything else but be careful to keep the time constant short so the output pulses don't run into each other.

Brian.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
Oh yes the NE565 is fine I have used that in the past at low speeds (CW). If I wanted to use a chip though, I would go for a dedicated bell202 chip or an MCU-based modem. There are some circuits on the internet. I thought that it would be cool if someone could do 1200 baud with just a bunch of transistors. But the NE565 solves lots of the problems in a tiny 8-pin package, so yes this is a good choice, as long as it can cope with these speeds.

About the "envelope detector" you mentioned, from our past conversation, I thought it won't be able to cope with these high speeds (develop enough voltage at the shunt capacitor, at that speeds). So by reducing the shunt capacitance, I decrease the time constant and that better copes with higher speeds, have I understood that ok?
 

There is a compromise, the larger the shunt capacitor, the better the noise rejection but the slower it is to respond. If you make the capacitor too small, the noise immunity decreases and the risk of ripple from the signal itself increases. You have to find a suitable middle value and set the comparator level so it operates after just one or two cycles of signal but doesn't 'misfire' if it sees ripple between the cycles.

There is another method that might work but the extra complexity probably isn't worth the effort. You use adaptive slicing by creating a high pass filter that cuts off just below the low frequency and significantly attenuates by the time the high frequency is reached. You then take the output of the filter and feed it to the comparator. One input is fed the signal directly, the other through an RC network to average the voltage. It means the average input will track the mean of the high and low frequencies while the direct input sees a more instantaneous change. The crossing of the average will result in detection of high or low tone.

Brian.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…