# How to demodulation BPSK in real case(through a channel)?

I am configuring a channel sounding system. Using PRBS to correlate for time delay. Some details as follow.

1. Generate PRBS.
2. Using BPSK to modulate PRBS and Tx transmit.
3. Rx receive signal and demodulation.
4. Correlation the signal that demodulation from BPSK and original PRBS.

But now, I am stock at step 3. The following block diagram is the system that I set and the signal representation of each node.

I would get the wrong demodulated results that if (delta1) minus (k1R1 or k1R2 or k1R3) >= 90deg .
How to demodulation BPSK in real case with multipath??

• If your goal is to determine the channel response using PRBS signals, there is no need to "demodulate BPSK" and the title is then somewhat misleading. If this is the case I recommend changing the title to your specific goal and question: "How to use PRBS signals to estimate the channel impulse response" and then show the details of what you have tried and know to bring out your true question. – Dan Boschen Nov 10 '19 at 18:14
• Why the channel sounding with PRBS doesn't need to demodulate? My thought is [PRBS(500M Baud) -> upconversion@38GHz(BPSK) -> downconversion@38GHz(deBPSK) -> PRBS' -> correlate PRBS and PRBS' and estimate channel parameters]. If demodulate does not need, how do I know when logic 1 or logic 0 are? I will update later, thank for your advice very much. – wrxue Nov 11 '19 at 5:55
• That is downcoversion not demodulation. You are simply translating the baseband signal back to a complex I and Q baseband. This does not work on digital signals of logic 1's and 0's but a waveform with magnitude and phase at every sample (and importantly many samples per symbol that represents a logic 1 and logic 0) – Dan Boschen Nov 11 '19 at 12:38

There will inevitably be frequency offsets and time offsets in the OP’s receiver, given the receiver is working on a completely independent clock, so cannot have the exact same carrier frequency (and in the case of mobile stations there is also Doppler offset). The typical BPSK receiver will use carrier and timing recovery loops to extract the estimates of the carrier and time offset from the signal itself.

A very simple carrier recovery for BPSK is done by simply squaring the received signal, which will produce a dominant synchronized tone at twice the carrier frequency. On its own this would usually be too noisy to use as the carrier, so is typically locked to a clean local oscillator using a PLL and then dividing the resulting frequency by two, which is then multiplied by the received signal to demodulate the BPSK signal. If one has the flexibility of using a carrier that is an integer multiple of tour symbol clock, then timing recovery can be done simply with additional frequency dividers; otherwise the Gardner Timing Loop described in the links below can be considered (an error discriminator is needed such as the Gardner Timing Error Detector; this error then gets accumulated and the accumulated error weighted by the desired loop gain controls the sampling location for the timing clock resulting in true recovered data).

The recovered carrier will have 0/180° phase ambiguity so further information to resolve this is encoded in the data itself. Data can be encoded with a known preamble that has many data transitions to allow for resolving this ambiguity and also to answer the OP’a multipath question, help train a channel equalizer. An example preamble could be a 11 bit barker code (10110111000) followed by (1010101010), or depending on acquisition SNR required could be a longer series of these or similar codes. The barker code has the excellent autocorrelation property that it is not highly correlated with shifted versions of itself so can help establish the correct start of a data packet. This autocorrelation property (ideally an impulse at $$\tau$$ = 0 ) is also ideal for training an equalizer since it is approximately white in frequency: An equalizer can only compensate for the frequencies it has measurements for. The 101010...sequence is very friendly to timing recovery given the transitions on every bit.

In addition the signal level will likely be variable so one would likely want to have an AGC (automatic gain control) loop as well.

Other posts where I provide more details on carrier and timing recovery and equalization all applicable to BPSK are summarized below:

Carrier Recovery:

Phase synchronization in BPSK

FFT-based coarse carrier recovery for QPSK

High modulation index PSK - carrier recovery

Recovering signal for psk

Timing Recovery:

High modulation index PSK - carrier recovery

Location of Matched Filter

Isn't Gardner's algorithm and Early-Late gate the same thing?

Channel Equalization:

Compensating Loudspeaker frequency response in an audio signal

non linear equalizer vs linear equalizer

Does zero-forcing equalizer need known channel impulse response?

The benefits of a fractionally spaced equalizer

Recursive Least Square Adaptive Linear Equalizer

• Hello, thank for your answers. Please let me say a little more detail. My LO of Rx is a RF signal generator(E8267D) rather than PLL that can lock 2*fc. How can I demodulate in this case? More advance, Why can "Signal and Spectrum Analyzer" demodulate without phase or timing information? – wrxue Nov 10 '19 at 15:43
• Your LO would need to be locked to the to LO— if you are just using an experimental lab set up then you can tie both the Tx and Rx to a common external reference. Otherwise if you want to implement a “real” BPSK demodulator you would need to do synchronization techniques like what I described. What specific “Signal and Spectrum Analyzer” are you referring to? A generic spectrum analyzer will not demodulate the BPSK Signal but show the power spectrum. However certainly a more elaborate instrument can do all the carrier and timing recover similar to what I described as well as other approaches. – Dan Boschen Nov 10 '19 at 17:14
• As far as time delay determination from channel sounding, please refer to the first link I gave on equalization as I think that would be of interest—- there would be no need to demodulate BPSK data in this case; you are just using a know pseudo random sequence to determine the channel estimate, including average delay as well as delay of each multi path component. – Dan Boschen Nov 10 '19 at 17:19
• If my Tx LO and Rx LO are locked to each other. But I think that it still exist the space phase delay(kR term) to get wrong demodulation. Does my thought is something wrong? I confused here! I saw many channel sounding system configuration like this [link](rohde-schwarz.com/sg/solutions/test-and-measurement/… Used a "Singal and Spectrum Analyzer" to demodulate the I/Q signal. – wrxue Nov 10 '19 at 21:59
• I'm pretty sure that instrument is using techniques similar to the link I gave you on "Compensating Loudspeaker frequency response...". Did you look at that? It shows you how to derive the channel response from a known sequence at the transmitter-- The delay is part of the channel response. Demodulate in this case is just moving the RF back to baseband I and Q, and for this you would also need to maintain a complex baseband with I and Q signals and quadrature down-conversion since the channel is not going to be symmetric spectrally (so will be complex). – Dan Boschen Nov 10 '19 at 22:04