Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Discrete FSK modulator/demodulator

Status
Not open for further replies.
There is a danger here of thinking of the FSK as being one continuous frequency or the other continuous frequency. A 'pulse counting' discriminator will indeed generate a voltage proportional to the frequency but in this instance the frequency may be switching between high and low at a rate of less than one cycle. The resulting pulse stream will just be the edges of the audio cycles and it would be impossible to average them, in fact the average would be the the center frequency of the FSK, not the two component frequencies.

I think a PLL is feasible but it would be complicated. It would need a VCO running somewhere between the FSK frequencies, a phase detector and a filter loop. The idea would be that the VCO tracks the center frequency between the FSK tones and the instantaneous error voltage fed to the loop would be either a high or low voltage representing the individual frequency it sees. There is a 'lock up' time but that isn't the same as the detection time which would be almost instant. Even the lock up time should only be a few hundred mS.

Brian.


All right, I think it is time for some tests. Even if I do not manage to make it work for the intended purpose, making a lower data rate modem out of simple discrete components would be an interesting experiment.
 

If its as simple as two tones, audio kinds of frequencies I would do that
by measuring freq and whatever falls with a set of bounds (f measured)
creates a bit high or low level. This way in one tone cycle, using a reciprocal
counter measurement approach, you know what the bit is. In fact if you knew
the tone burst as sinusoidal or symmetrical, you could have the answer in the
second 1/2 period of the waveform.

PLLs are simple, but take longer to decode the bit. Generally speaking.

Your tone burst, what are the tone freqs ?


Regards, Dana.
 

    neazoi

    Points: 2
    Helpful Answer Positive Rating
If its as simple as two tones, audio kinds of frequencies I would do that
by measuring freq and whatever falls with a set of bounds (f measured)
creates a bit high or low level. This way in one tone cycle, using a reciprocal
counter measurement approach, you know what the bit is. In fact if you knew
the tone burst as sinusoidal or symmetrical, you could have the answer in the
second 1/2 period of the waveform.

PLLs are simple, but take longer to decode the bit. Generally speaking.

Your tone burst, what are the tone freqs ?


Regards, Dana.

1200Hz and 2200Hz.
This reciprocal counter cannot be done discrete I think. You need an MCU to do the job, correct me if I am wrong. My challenge is to try make this one discrete.
 

Can you comment on what you mean by "discrete", in my lingo its means using transistors
and passives. No MSI logic, no PLLs, no comparators, regulators......

Out of curiosity why "discrete" ?

Regards, Dana.
 

Can you comment on what you mean by "discrete", in my lingo its means using transistors
and passives. No MSI logic, no PLLs, no comparators, regulators......

Out of curiosity why "discrete" ?

Regards, Dana.
Exactly Dana, this is what discrete means, discrete electronic components no ICs of any kind.

If you see my project **broken link removed** it is advertised as a single chip computer. In fact the simplest complete computer in the world (that's a great claim).

By complete, meaning it can output a video/audio signal (not just serialized data, has keyboard and some I/O. Simplest, meaning least chips possible (it can't be made discrete) and as an addition DIP packages only, so no FPGA. This one-chip general purpose MCU project meets this criteria.

If you see the RS-232 circuit, it is implemented using discrete components, not the classic max232 chip and it works amazingly well. The next challenge is to build a simple modem for it and this has to be better discrete, to meet the challenges of a single chip computer.

I face the problem that the speed that the firmware supports is already high 1200 baud. 300baud or slower is not supported, so this high speed is a limitation to the modem hardware. If we were talking about 300 baud or lower speeds, there are already some circuits out there in old magazines (RTTY) that can perform the function.

The discrete comparator that you proposed me in another thread, worked amazingly well down to very low voltage and I was able to make something extraordinary with this building block, with just a bunch of general purpose transistors. Such things motivate people to try circuits, modify ideas etc. This is the challenge with the modem too.

Not to mention the educational thing too. For example the discussion in this thread has shown us the magic transformerless discriminator circuit and opens ideas for using it for other purposes.

I hope you get the idea now.

Thanks

Kostas
 

Attachments

  • schematic_simple.gif
    schematic_simple.gif
    36.2 KB · Views: 142

The issue you have with any discrete modem like this, if using a PLL, is
false triggering of the output while the PLL is trying to acquire the signal.
That complicates the issue substantially. As you close the BW down to get
rid of noise you lose modem baud rate, classic tradeoff in speed vs noise
immunity in many EE fields.

If you ever looked inside a Hayes modem even they did not do this discrete,
although its pretty "partsy"


As info only I stumbled across this, fascinating how this was done. -

1613421176039.png



Good luck, should be fun.


Regards, Dana.
 

The issue you have with any discrete modem like this, if using a PLL, is
false triggering of the output while the PLL is trying to acquire the signal.
That complicates the issue substantially. As you close the BW down to get
rid of noise you lose modem baud rate, classic tradeoff in speed vs noise
immunity in many EE fields.

If you ever looked inside a Hayes modem even they did not do this discrete,
although its pretty "partsy"


As info only I stumbled across this, fascinating how this was done. -



Good luck, should be fun.


Regards, Dana.

Brian gave me another great idea. If it can't be done on the AF directly, it would be very simple to transform it to the RF spectrum (just an FM modulated oscillator) and detect this directly using this FM discriminator. This will allow many cycles of (RF now) signal and relax the restrictions quite a lot. What do you think of it Brian?
--- Updated ---

Independently filtering the two tones will certainly work but bear in mind for radio purposes they are typically 170Hz apart so you need some very narrow band and sharp edged filters to split them. If the tones are within the audio range I would suggest using them to modulate a HF oscillator then using two quartz crystals to filter the resulting output frequencies. You will have difficulty achieving the very high 'Q' needed with discrete component audio filters without them ringing.

1200 Bauds FSK modems can of course use any frequency pair if you are linking point to point with wires but consider the bandwidth needed if you intend to use phone lines or radio links.

Brian.

Brian what do you think of this idea of modulating an FM modulated HF oscillator with the audio tones and create FSK on the RF. Then using this simple discriminator to achieve the data?
 

Ok I have built the detector circuit described in the video and tested it in the audio range. When the audio frequency I put to it is 1khz, the reverse spike pulses produced are 1khz. When the frequency is 2khz, the spikes frequency is 2khz. I tested it up to 300 baud and I could see it, at higher speeds I had to setup the scope to record, which I did not do.
So It seems it works ok with an audio input too...?

The output capacitor had to be small, something like 39pf. When there was no output capacitor the spikes were much stronger. As the output capacitor increases, the spikes levels are reduced, then at some further point they cease.

Before I go into higher speeds, any ideas of how can exploit this experiment to output the data stream? maybe a combination of its output with Dana's comparator https://www.edaboard.com/threads/rf-detector-with-my-comparator.396013/#post-1701310 please guide me in the right direction.
 

Please insert my values of the resistors and capacitors and tell me if the parameters look fine to you.

There's a principle which says you raise Q by bringing out the 'pure' behavior of capacitors and inductors. Greater resistance tends to reduce Q. Hence my capacitor values are greater than those in your calculator. Resistor values are lower.

I find that gain can be low. If gain is high then you need to attenuate the input signal in order to avoid clipping.

R & C values need a lot of experimentation. Changing any value seems to shift the center frequency.

bandpass 2200 Hz 2 caps 1 opamp sine sweep 1700-2700.png
 

    neazoi

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

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top