I am trying to demodulate individually two GSMK channels separeted by 50kHz (one channel = 25kHz). I am working on a limited ressources hardware so I decided to make some optimization on the signal processing chain.

Here is the architecture: after sampling, my two channels are aliased at 4.6MHz and at 4.65MHz.

The architecture for one channel is as follow: a DDS (Direct Digital Synthesis) and a mixer bring my signal in baseband. I then have a downconversion, filtering, the decoding algorithm and an error controler to compute a BER.

The basic architecture for demodulating two disctinct signals would be to duplicate this processing. Unfortunately, my hardware cannot contain so much computing.

One of the idea I had was to put in common some DSP operations. The downconversion uses a lot of ressources so I decided to mutualize the process for both channels. The downconversion uses a CIC filter, it filters and decimates the signal.

The new signal path would be: DDS+MIXER (channel 1 brought to baseband, channel 2 centered around 50kHz), CIC + compensation filter (CIC response is not flat in passband), second dds + mixer to bring channel 2 to baseband.

here is a scheme of the processing:

enter image description here

The "tricky" thing is that on my second DDS I multiply both I and Q by cosine instead of cosine / sine (in that case, it does not work).
When doing this, I guessed that maybe I would lose something.

When measuring the BER, I can easily see that I have a 3dB loss between my two channels. My question: how can I "mathematically" explain this?

Is it because I am mixing two cosine instead of one cos and one sine; is half of the information lost? Am I losing 3 dB on the SNR?

Edit: Here are the BER curves

enter image description here

  • $\begingroup$ the second channel should be pretty completely broken; you're not only deleting half of the info, you're effectively deleting all of it, unless you're oversampling and a phase trajectory can be tracked. What do your BER curves look like? $\endgroup$ – Marcus Müller Feb 26 at 16:33
  • $\begingroup$ I am indeed oversampling the signal, BER curves added on original post. $\endgroup$ – phaseer Feb 27 at 8:15

Yes that is correct, you are only getting half the signal: with cosine on both inputs half the signal moves to baseband and the other half moves to twice the frequency offset. I suspect the reason it is not working in the sine cosine case is the sign of that is such that you translated the entire signal upward to twice the frequency offset instead of to baseband. If that is the case you could invert the sine input and it should work without the 3 dB loss.

| improve this answer | |
  • 1
    $\begingroup$ Ok! I am going to do some Matlab to experiment this. $\endgroup$ – phaseer Feb 27 at 8:19
  • $\begingroup$ Please let us know once you confirm that was indeed the case. $\endgroup$ – Dan Boschen Feb 27 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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