4
$\begingroup$

I'm transmitting QPSK through a digital pulse shaping filter (RRC, 35% excess BW, 2 samples per symbol, 64 taps) at a rate of 56Msym/sec.

Receiving it on standard lab equipment (Vector signal transceiver), where it is demodulated with RRC MF and plotting the constellation. At high symbol rates, the phenomenon below starts appearing in the constellation where the points get essentially binned into 4 different locations (looks like some exotic modulation you might call qpsk^2)

One thing of note, this effect is easily taken care of by the equalizer on the RX and reduces the constellation to a much more ideal, low EVM one. Given this, I suspect the effect is related to ISI. One possible thought I had was for example, on the I channel each symbol is perturbed by a neighbor (which could be a + or - symbol) so the effect is two offset bins. Same for Q channel, resulting in the 4 shown. Not sure why this contribution would only come from a single symbol as opposed to many though - in which case I would expect more of a cloud/awgn like effect from adding up contributions of many symbols)

For reference the basic D/A chain looks like: Generate QPSK IQ -> Filter with RRC -> Halfband Upsamplers -> DAC -> Analog Reconstruction

Strange QPSK I/Q Plot

$\endgroup$
6
  • $\begingroup$ Yes, this is due to ISI. The number of points in the "cloud" around each constellation point is related to your choice of pulse shape. You can see this effect just in simulation as well; it isn't an artifact of the hardware you're using. $\endgroup$
    – Jason R
    Jul 3, 2020 at 21:22
  • $\begingroup$ Yes, this is ISI. $\endgroup$
    – Andy Walls
    Jul 3, 2020 at 21:26
  • $\begingroup$ @JasonR / AndyWalls Thanks for confirming that. I guess I'm still unsure why I don't see this with lower symbol rates. I would have thought if my RRC on TX and matched filter RRC on RX is working well (i.e. my combined channel is raised cosine and satisfies Nyquist ISI-free property) I would get a constellation without this binning/clouding. $\endgroup$
    – user67081
    Jul 3, 2020 at 22:11
  • $\begingroup$ Timing offset error would also look like this and be more pronounced at higher symbol rates, has this been ruled out? $\endgroup$ Jul 4, 2020 at 1:00
  • $\begingroup$ @DanBoschen could you elaborate on that a bit - would that be timing offset error at the receiver's clock synchronization? Not obvious to me why an error in the timing synchronization would bin up like that $\endgroup$
    – user67081
    Jul 4, 2020 at 5:47

3 Answers 3

2
$\begingroup$

I don’t think this is necessarily additionally introduced ISI (beyond the ISI of the pulse shaping filter itself, which is zero when there is no timing offset), but may be the result of timing offset error. All the points within a small offset from the ideal sampling location appear to be selected, and the overall pattern of the full constellation showing all samples does not appear to show any distortion.

My theory is we are seeing the results of the overshoot and undershoot you would see in proximity to the ideal sampling location due to the expected response of the pulse shaping filter. What I am describing is better explained with reference to the eye diagrams on the I and Q channel, in particular the case I give below with the higher alpha value where it is quite clear how 4 clusters could result with a small time offset. Notice if the sample is selected at Time = 0 that all the samples will be at the same four I, Q locations, but if we shift the sample time slightly higher there will be 16 possible I Q sample combinations (4 on I and 4 on Q):

enter image description here

Here is the same thing with alpha = 0.25 and the clusters would migrate to a larger cloud:

enter image description here

The OP's case is using alpha = 0.35, so jury is out if this is indeed due to timing offset alone. I recommend reviewing the data with eye diagrams as I have done here to further confirm root cause between residual ISI at the correct sampling location, or timing offset error, or both.

$\endgroup$
2
$\begingroup$

Despite the great answers by Dan and Olli - I am convinced this is indeed just plain ISI. In my case it's introduced by the droop of the analog filters after the DAC cutting into the passband of my signal. It's pretty clear from my tests that by extending the analog filter cut-off I can remove this effect.

Thinking about how that works, the highest frequency component of my signal, say on the I channel, would be at the rapid sign change transitions (e.g +,-,+). Imagining the cut-off of the low pass filter creeping into my signal, this is where it would take effect first and begin attenuating these rapid fluctuations, thus pushing the symbol value lower. Meanwhile, slower components (e.g. ++,--,++) may be unaffected and keep their ideal symbol value. This is sort of how I imagine the 2x2 binning/grouping showed up - although I think as one of the comments mentioned its probably better explained by looking at the pulse shaping.

$\endgroup$
2
$\begingroup$

If there is capacitance between signal and ground, a resistor-capacitor (RC) filter may be formed. It can also be an intentionally added filter, like in original poster's answer. An RC low-pass filter has an exponentially decaying impulse response. Due to the exponential decay, if the interference from a first symbol to the second symbol is 10 %, then the interference from the first symbol to the third symbol will be (10 %)² = 1 % which is too little to see in the constellation. Also, the RC filter impulse response is causal, so there will be no interference backwards in time.

Or maybe the filter is more complex, like a coaxial cable transmission line. It could give a similar effect, with an impulse response something like this:

enter image description here

(imitates Fig. 3 from Q. Kerns, F. Kirsten and C. Winningstad, COUNTING NOTE, PULSE RESPONSE OF COAXIAL CABLES, Rev. February 12, 1964, Lawrence Radiation Laboratory, University of California, Berkeley)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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