FSK 1200baud discrete "modulators". What do you think? - Page 1
Forum section: electronics / projects

author: sv3ora
author_rank: Regular Contributor
timestamp: October 09, 2019, 09:07:28 am
content: Hi, this is my first post.I want to investigate the possibility of making a discrete FSK 1200 baud modulator operating from 5v and connected to the TTL UART of an MCU. The circuits have to be made as simple as possible (fewer parts).Here are two of my rough ideas. I have tested the oscillator parts and they work and they can be varied nicely too.1200baud is a much higher speed than 300 and I do not know how well these will behave until I test them.The first circuit uses 2 oscillators and a switch to switch audio outputs.The second circuit uses a single oscillator and a way to vary it's frequency.I have thought that at 1200baud, varying the oscillator frequency might cause the oscillator not to be able to switch that fast from one frequency to the other (mark/space), so that is why I have designed the first circuit, which does not mess with the oscillator resonators at all, although I like the simplicity of the second one.Any comments/suggestions would be valuable so as how to tackle the problem.

author: mikerj
author_rank: Super Contributor
timestamp: October 09, 2019, 11:35:22 am
content: Use a timer peripheral in the micro to generate your FSK frequencies, and either use a bit based UART function to switch between the two FSK frequencies (easy at just 1200Baud) or tie the UART output back into an external interrupt and switch timer frequencies in the interrupt.Using two separate oscillators means you get an unpredictable phase change at the transition i.e. you might get an extra short or extra long cycle, which may or may not be acceptable. A single oscillator switching between frequencies will give a smooth transition.

author: sv3ora
author_rank: Regular Contributor
timestamp: October 09, 2019, 11:44:45 am
content: Quote from: mikerj on October 09, 2019, 11:35:22 amI think I can't go that far with the MCU solution you propose, it seems too complex for me and the "firmware" is already written by someone else in assembly!Interesting the thing you mentioned about the single oscillator. I attach a paper I found (80's) about the different demodulation schemes. I am trying to build something that on the detector side, does not depend on the phase changing of the signal, like shown on figure 15.

author: amyk
author_rank: Super Contributor
timestamp: October 09, 2019, 11:58:48 am
content: What frequencies are you using?

author: sv3ora
author_rank: Regular Contributor
timestamp: October 09, 2019, 12:04:10 pm
content: Quote from: amyk on October 09, 2019, 11:58:48 am1200 baud asynchronous half duplex (bell202). 1200Hz and 2200Hz. But since I haven't still built it, I can change standard, or even do not follow any standard, as long as the modulator/demodulator can represent 1200baud in audio tones ok. I really do not mind.It will be used as a modem through the audio transferred through mobile phones.

author: RES
author_rank: Regular Contributor
timestamp: October 09, 2019, 01:11:38 pm
content: Can't you use an old PLL IC CD4046? Found this FSK modulator in attached PDF. Alter the values for 1200/2200baud.

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: October 09, 2019, 01:31:36 pm
content: Quote from: sv3ora on October 09, 2019, 12:04:10 pmYou mean, GSM/LTE phones and so on? Have you tested the channel first to verify that you can pass modem tones unharmed through the network's compression, error concealment, and speech coding?

author: sv3ora
author_rank: Regular Contributor
timestamp: October 09, 2019, 01:36:47 pm
content: Quote from: jhpadjustable on October 09, 2019, 01:31:36 pmYes. And no I haven't tested it, although warned. I was thinking since I can whistle to about 2KHz and the tone passes on the receiver, why wouldn't two modem tones pass?

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: October 09, 2019, 03:46:35 pm
content: Quote from: sv3ora on October 09, 2019, 01:36:47 pm1. Are you sure it was your tone, with all imperfections? Not just the receiver or the network filling in what sounds enough like your tone to be pleasing to the ear, according to the models and assumptions baked into the GSM suite?2. FM, and the degenerate form known as FSK, generates a well-characterized, mathematically infinite series of sidebands, which also need to be passed through the channel in order to reconstruct the signal on the far end. Some of those sidebands will be modified or dropped by the speech model during compression because the ear will not perceive them.3. At the bare minimum, synthesize some modem tones and pass them through the channel, record the result, and analyze what's left in the frequency domain. You can try GNU Radio Companion as a flow-graph-based signal processing workbench, if you don't have access to Matlab. To start, switch between mark and space tones every 10 bit times, then progressively reduce the number of bits.4. If you don't want to do that, play music through the phones and compare the original program to the transmitted program. To minimize your brain filling in the blanks, play a selection you're familiar with, then follow with an unfamiliar selection.

author: sv3ora
author_rank: Regular Contributor
timestamp: October 10, 2019, 07:50:22 am
content: Thanks, that's a good idea to try, definitely worth the effort!

author: babysitter
author_rank: Frequent Contributor
timestamp: October 10, 2019, 08:58:52 am
content: In the good old times, many mobiles had a way to access them as modems. Even modern smartphonesmightallow bluetooth tethering, so you basically could use a Serial-over-bluetooth bridge to push data into the network, somehow?

author: sv3ora
author_rank: Regular Contributor
timestamp: October 10, 2019, 09:03:42 am
content: Quote from: babysitter on October 10, 2019, 08:58:52 amIt could be done with a usb cable connected to the phone and to the MCU board. a USB capable interface must exist on the board and a special app should be written for the phone. Sorry, too complex to just do a simple low speed serial data transfer...