I am trying to demodulate individually two GMSK channels separated by 50kHz (one channel = 25kHz). I am working on a limited resources 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 down-conversion, filtering, the decoding algorithm and an error controller 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 down-conversion uses a lot of resources so I decided to mutualize the process for both channels. The down-conversion 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:
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