I am implementing a non-coherent receiver for DBPSK. I have a computer science background with little knowledge of DSP so my questions here may seem obvious. The design of the receiver I am trying to implement is the following: Design of DPSK receiver
And what I am doing right now is:
On the tx side
- Differentially encoding my bit sequence
- BPSK modulating it
- Applying a high-pass filter
On the rx side
- Applying a band-pass filter around the carrier frequency
- Delaying (by one bit worth of data) and multiplying the data by itself
- Applying a low-pass filter
- Integrating over one bit worth of data (i.e. sum the sample values)
- Making the decision depending on the sign of my integral
By 'data' I mean samples at 44.1kHz. When I simulate this on Octave, it works (i.e. I can detect the bit sequence even with high AWGN). The problem is I am trying to move to an infinitely long data sequence (i.e. I do not know the exact moment where the tx began). So here are my questions:
How can I achieve time and frame synchronization ? (I tried with a barker code but I am not sure I am getting it right) This is the thing that's most confusing to me. My guess is you'd have to get time synced before the integration block, and frame synced after the decision block.
How can I express the bandwidth in function of carrier frequency f and bit rate ?
- Does the relation between bit rate and carrier frequency have any influence on the receiver ?
- What are the optimal values for the filters ? (number of taps)
- How do I calculate Eb/N0 for in my case ? (I want to compare my BER curve with others to see how good is my receiver)