I have built a FSK modulator and demodulator in Simulink.

Everything is working fine except the received signal after the channel has short spikes, which are introducing a short pulses in the regenerator output.

The plot for the graph after the demodulation and regeneration,

enter image description here

My demodulator design is:

enter image description here

My regenerator design is:

enter image description here

AIM: I would like to remove those spikes. Those spikes are introducing delay. Which can be confirmed by comparing them with my input bit stream.

Input bit stream: enter image description here

The PLL filter parameters are: enter image description here

I am a beginner in Simulink and I would like to know the ideas that you guys would employ in this situation. I would welcome both Matlab and Simulink solutions.

But as my implementation involves Simulink, it would be great if one guides me in Simulink.

Here is the complete plot of all the blocks output: 1. Input bits 2. Modulator output 3. Channel output 4. Demodulator output 5. regenerator output

enter image description here

I am using the carrier frequencies of 2*pi*8 rad/sec and 2*pi*12 rad/sec.

  • \$\begingroup\$ perhaps the problem is in the modulator? Are you using Double-precision floating point in demod? \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Sep 28 '16 at 14:43
  • \$\begingroup\$ Does Mod spectrum look like this? www-rohan.sdsu.edu/doc/matlab/toolbox/commblks/getstarted/… \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Sep 28 '16 at 14:50
  • \$\begingroup\$ Something is very strange about your data. Your filter output is swinging between positive voltages and negative voltages, with virtually no "open space" between them. Also, the VCO settings are for 10 Hz/V with a 10 Hz bias. Exactly what frequencies are you using to carry your data? I suspect that if you adjust the cutoff frequency of your filter to be closer to the bit rate than the carrier frequency, you'll get much better results. \$\endgroup\$ – Dave Tweed Sep 28 '16 at 14:51
  • \$\begingroup\$ @TonyStewart...I am not using Double Precision floating point in demodulator. \$\endgroup\$ – gocjack Sep 28 '16 at 15:02
  • \$\begingroup\$ @DaveTweed...I have updated my question with plots of the module at all the blocks and also the carrier frequencies I am using, please check. \$\endgroup\$ – gocjack Sep 28 '16 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.