0
$\begingroup$

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: original signal at fm demodulator output

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: generated baseband signal

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.

filtered generated 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

New contributor
lazer97 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
$\endgroup$

2 Answers 2

0
$\begingroup$

Since it's 4-FSK, the baseband signal is a PAM-4 signal

If you define your baseband to be the output of an FM demodulator, yes.

If you mean "baseband" as in "complex equivalent baseband", then no.

(2 samples per symbol), right?

no, the number of samples per symbols is independent of what modulation is used (very few exceptions).

As we can see, it's close to a PAM-4 signal. There's a smoothing effect, perhaps a Gaussian filter?

Sorry, I don't see that. So, I don't think so, and it's generally not the case.

Here's a PAM-4 signal…

OK, either it's FSK or PAM. Can't be both at the same time.

What interpolations/filters should I use to get as close as possible to the original waveform?

You can approximate any signal (most badly, like this one) with a 2-bit quantization and some low-pass filtering. I think that's what happens here.

If you want to decode or synthesize an FSK, use FSK methods.

$\endgroup$
5
  • $\begingroup$ of course i'm not dealing with I&Q branches but FM... i'm pretty sure you understood it was a mistake, i mean 2 bits per symbol you probably understood... and as you probably understood when i say PAM I'm talking about the 4-levels binary signal before modulation and when i say FSK i mean the modulated signal! maybe you could have told me to use a better interpolation (such as quadratic or spline...) or you could have told me about a more suitable filter that I could have used... $\endgroup$
    – lazer97
    Commented Dec 10 at 18:45
  • $\begingroup$ no, I don't understand why you say PAM, sorry. $\endgroup$ Commented Dec 10 at 21:21
  • $\begingroup$ I think chatgpt will be more cooperative. thanks... $\endgroup$
    – lazer97
    Commented Dec 12 at 17:48
  • $\begingroup$ @lazer97 I can't lie to you, I'm sorry. I just don't understand why you bring PAM-4 into this. And if ChatGPT is your benchmark for professional interaction, I also don't want to compete with it: When I don't understand something, I'll tell you. When I disagree, I tell you. ChatGPT doesn't even "know" that it doesn't understand. It will just happily construct sentences that sound nice in the given context, but it has literally no understanding of the matter. It's a random number generator with feeding into a "pretty sentences" generator, not a knowledge base. $\endgroup$ Commented 2 days ago
  • $\begingroup$ So far here, whenever a student showed up and said "I asked ChatGPT about this complex concept", we had to first explain why that answer was wrong. If you want to ask ChatGPT about a relatively rarely used, incorrectly-explained-in-Wikipedia modulation: Go for it! But don't be surprised if what you get is nonsense. $\endgroup$ Commented 2 days ago
0
$\begingroup$

I moved forward. Obviously the interpolation method was too harsh (linear). I applied a windowed cardinal sine interpolation (sinc). I added a low-pass gaussian filter The result is much closer to the objective.

enter image description here

New contributor
lazer97 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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