Take the 2-minute tour ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

In the process of trying to learn dialup, I've managed to learn/figure out everything except how to convert a demodulated/filtered signal back into the original data.

Here I have a random two-bit signal (red) sampled at 16000Hz at 2400 symbols/s (gray lines separate symbols), as well as the filtered signal (blue). The filter is a raised-cosine filter with α=1200Hz, β=0.5, and a length of 27 samples.

original signal vs filtered

Given the filtered signal, it's clear that a simple A/D converter is insufficient; for example, at about 7 symbols in (about a third from the left), the original signal crosses zero four times, whereas the filtered signal only crosses twice. I imagine this is due to higher frequencies being attenuated more than lower frequencies.

I realize that because the signal is being filtered at half the symbol rate, there shouldn't be any loss of information. How do I go about reconstructing the original signal from the filtered version?

In case it helps any: because the dialup training signal consists of known, pseudo-random data, should I use that to construct an adaptive filter/equalizer? Is it as "simple" as "un-attenuating" the higher frequencies?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

Your low-pass filter's pass band is smaller than your signal's bandwidth, so it is destroying a significant portion of your signal. Given that, you cannot reliably reproduce the original signal without using sophisticated techniques like error correction codes.

I would try increasing $\alpha$ to 2400 Hz. Then the rolloff point will be 2400 * .5 = 1200. The resulting signal should look much better. If that filter bandwidth is too large you can find your sweet spot somewhere between 1200 and 2400 Hz.

share|improve this answer
Oh wow! For whatever reason I thought α was supposed to be half the symbol rate. This works wonders! –  Drew McGowen Aug 12 '14 at 17:33
Actually, it turns out it was a bug in my code; now, even when α=1200Hz, it still looks fine (this is what I suspected since 1200Hz is the Nyquist frequency of 2400baud). –  Drew McGowen Aug 12 '14 at 18:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.