# Demodulation/filtering of a binary signal

I'm simulating an amplitude modulation system on Matlab and have got to filtering the demodulated system.

The original data to be sent was a 1x100 set of binary data. Which was then applied to a carrier signal, additive white Gaussian noise (AWGN) was then added to the modulated signal.

Im at the filtering stage, after demodulating the signal, and the low pass filter I'm using attenuates by half the overall amplitude of the received signal. Therefore the decision threshold between 0 or 1 has to be attenuated accordingly. How would I could about figuring this out?

I originally thought this would be 0.5, however as the added noise is completely random so this is not the case.

• Seems obvious now! Thank you
– jim
Apr 24, 2020 at 17:39

Assuming the data has an approximately equal mix of 0 and 1, set the decision threshold equal to the long-term average amplitude of the signal.

Otherwise, you can do a peak detection and set the threshold to the appropriate fraction of the detected peak level.

I'd use a data slicer on the demodulated output: -

The pictures were taken from this answer which was about recovering data from the output of an FSK radio demodulation scheme but the principle is the same.

For filtering, I recall the people with experience in designing telemetry downlink equipment for NASA Gemina/Apollo would speak of INTEGRATE AND DUMP as best theoretical, in presence of random (Radio links) noise.

A consultant named Peter Halpern showed how to replace IntegrateAndDump (IAD) data recovery circuits with Matched Filter L+C circuits that rather closely implemented the sin(X)/X frequency response of IAD. The advantage of Halpern's approach is inherent production of clock synchronization information as well as data recovery information. His work is found by googling

"peter halpern trigonometric pulse forming networks"