Filtering and Delay Compensation in Matlab and Simulink

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,

My demodulator design is:

My regenerator design is:

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:

The PLL filter parameters are:

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

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

• perhaps the problem is in the modulator? Are you using Double-precision floating point in demod? – Tony Stewart Sunnyskyguy EE75 Sep 28 '16 at 14:43
• Does Mod spectrum look like this? www-rohan.sdsu.edu/doc/matlab/toolbox/commblks/getstarted/… – Tony Stewart Sunnyskyguy EE75 Sep 28 '16 at 14:50
• 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. – Dave Tweed Sep 28 '16 at 14:51
• @TonyStewart...I am not using Double Precision floating point in demodulator. – gocjack Sep 28 '16 at 15:02
• @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. – gocjack Sep 28 '16 at 15:03