I'm trying to imitate a proprietary 4-FSK modem. I'm developing a C program to generate the baseband signal (this signal will then be transformed into 4-FSK through an FM modulator).
Since it's 4-FSK, the baseband signal is a PAM-4 signal (2 samples per symbol), right?
Here's the baseband signal of a burst transmitted by the proprietary modem:
Please note that there is a light DC offset.
As we can see, it's close to a PAM-4 signal. There's a smoothing effect, perhaps a Gaussian filter?
Here are the symbol amplitudes: -3 01 -1 00 +1 10 +3 11
So as you can see the preamble is a sequence of 0xF5 bytes (+3 +3 -3 -3...)
Here is the PAM-4 signal I generate with a C program:
The program reads the bits, transforms them into oversampled symbols (with linear interpolation).
The signal looks both square and triangular.
I'd like it to be smoothed and curved like the original signal.
I've applied a Gaussian filter to try it out. It's not so bad, but the transitions don't have exactly the same shape as those in the original signal.
In particular, the peaks are “flatter” than in the original signal.
What interpolations/filters should I use to get as close as possible to the original waveform?
Thank you for your help