X4 Interesting Behavior of the X4

Discussion in 'X2 & X4 SoC' started by Georg Michel, Sep 6, 2018.

  1. Georg Michel

    Georg Michel New Member

    Dear All,

    originally I posted this problem on the XEP forum. But I think the phenomena described below originate from the X4 and not from the firmware. This is because I assume that the firmware treats all range bins in the same way. Given this assumption is true, the problem described here is a feature of the X4 and leads to a kind of blind spot at around 10m distance. Here's my story:

    I stumbled over this while trying to extend the range to more than 10m. First I used the standard configuration with no offset. I recorded 120000 frames under an open sky (an anechoic chamber will also do). The result ist shown in the first Figure. Everything you see is the direct pulse at the beginning and no radar echos as it should be.

    Then I adjusted the offset to 3m and took the same measurement. The result is in the second Figure. As you see, there are some false echos. The first one is at bin 4 (3.2m). This false echo is also present in the first Figure (0.2m there) and should be neglected.

    More interesting is the second stronger false peak at bin 135 (10m). The autocorrelation function (ACF) over the 120000 bins 135 is shown in the third Figure. We clearly see a comb like filter structure with a time lag of 115. This is due to the fact that I chose 60 pulses per step.

    After playing around with other settings I found out that the time lag of this comb-like structure depends only on the PPS and can be calculated by 6900/PPS. It does not depend on the number of iterations or on the frame rate.

    Looking at a "normal" bin (80 in this case) shows that this comb is also present there, but just much weaker, see the fourth Figure. Surely, such a comb can probably be compensated by an AR model.

    The more interesting part follows about 15 bins after the strong false peak (bin 150 in the fifth Figure). This is harder to compensate by an AR model. In addition we see a slight constant part of the ACF besides the pronounced peaks in contrast to the other bins. This effect is even stronger at the first false bin 4 (sixth Figure). In the non-offset case, the ACF of bin 4 is just a flat line above zero which would mean a constant value independent of the actual radar echo. But this is OK as the offset can alway be adjusted in a way that the target is not at bin 4.

    But the stronger second false echo moves with the offset. It will always be at 10m. The same holds for the more problematic bins around 150 in the fifth Figure where the comb structure is less regular.

    Maybe someone (from Novelda?) can shed some more light on this.

    no_offset.png 3m_offset.png second_peak.png typical_bin.png 15_bins_after_second_peak.png first_peak.png
  2. Nikolaj Andersen

    Nikolaj Andersen New Member Staff Member

    Hi Georg,

    Have you tried lowering the PRF? What you're seeing could be noise generated by the next pulse transmission.

    Olav Liseth likes this.
  3. Olav Liseth

    Olav Liseth Administrator Staff Member

    Hi Georg,

    Nikolaj beat me to it, here's my addition:

    The default PRF is ~15.2 MHz and results in transmitting a new pulse after ~9.9 meters:
    In [26]: xep.x4driver_get_prf_div()
    Out[26]: 16
    In [27]: 243e6/xep.x4driver_get_prf_div()
    Out[27]: 15187500.0
    In [28]: 3e8/(243e6/xep.x4driver_get_prf_div())/2
    Out[28]: 9.876543209876543
    Transmitting the next pulse will generate noise as you observe. Use x4driver_get_prf_div to lower the PRF. You can use xep.x4driver_set_tx_power(0) to turn of pulse transmission.

    I am not able to replicate the observed reflection at 3 meters, can it be reflection from the ground?

    We will release an app. note next week with more details on how to configure X4.

  4. Georg Michel

    Georg Michel New Member

    Thanks guys, that was the explanation. The second spurious peak shifts as I adjust the CPP. However, the spurious peak at x.2m (bin 4) stays the same, no matter what offset I choose for x meters. So it is surely not a real reflection. I look forward to your app note. Thanks again.

  5. Håkon A. Hjortland

    Håkon A. Hjortland New Member

    The LFSR which generates the biphasing sequence has length 20 bit, which means the biphasing sequence will repeat after 2^20-1 pulses. With dacmax - dacmin + 1 = 152 or something like that, and taking into account that when using high-order noiseless ghost, the LFSR pattern will be reused for each iteration, the number of random values used from the LFSR per frame will be 152 * PPS. The number of frames you get before the LFSR starts to repeat itself will then be (2 ^ 20 - 1) / (152 * pps) = 6898.5 / pps. This explains the "6900/PPS" formula you found.
    Olav Liseth likes this.
  6. Georg Michel

    Georg Michel New Member

    Håkon, thank you for this concise answer. Now I know how to deal with these comb like structures. Understanding the X4 helps a lot in configuring it ;-)