How to do base-band simulation of coherent detection of M-ary orthogonal signals?

I currently have a complex base-band simulator for non-coherent detection of M-ary orthogonal waveforms (such as M-FSK). I run the noisy signal through M correlators at lag=0, compute the magnitude squared of the results and pick the largest. Everything is perfectly synchronized.

It is just: modulate -> add AWGN -> demod.

Currently, my non-coherent simulation BER performance matches the theoretical equations derived in Proakis.

What do I have to tweak in order to simulate coherent detection given that my received signal is perfectly synchronized?

• If the receiver is synchronised then you can simplify each matched filter bank by removing one orthogonal component. For instance, if you transmit $x_{i}(t) = \sqrt{\frac{2 E_b}{T_b}} \cos (2\pi f_i t + \phi)$, you only need to correlate with a $\cos (2\pi f_i t + \phi)$, since $\phi$ is known. – vaz Dec 16 '15 at 16:49
• In a more general sense, where my transmitted signal might not be sinusoids, is this equivalent to just taking the real part of the matched filter output instead of the complex magnitude squared? – majorpain1588 Dec 16 '15 at 16:58
• Yes. For the non-coherent case, the matched filter output would be something like $r_{ic} =\sqrt{E_b}\cos \phi + n_{ic}$ and $r_{is}= \sqrt{E_b}\sin \phi + n_{is}$. As you don't know $\phi$, you need also to mesure the imaginary component. For instance, if $\phi=\pi/2$ and you only rely on the real component of your matched filter, you won't detect your signal. In the coherent case, you can drop the imaginary component to get simply $r_{ic} =\sqrt{E_b}$. This will in turn improve the performance of your receiver (as you don't have to square 2 noisy components). – vaz Dec 16 '15 at 17:49
• Ok, that makes sense. – majorpain1588 Dec 16 '15 at 18:03