This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1443BOOST: Level_sense_demo re configration issue

Part Number: IWR1443BOOST
Other Parts Discussed in Thread: IWR1443

I try to re configure the level_sense_demo through common.h and all measurement distance are zero

the configure that I used is from "mmWavesensorestimate"

Here are the values that I use:

DEMOCOFIG_SAMPLE_RATE                    8120        /*  8.2 MSPS    from "Sampling Frequency minimum" of mmWaveSebesor Estimate

DEMOCOFIG_FREQ_SLOPE                      454        /*  x48.28kHZ/us=21.92MGHz    from "Ramp Slope parameter MHz/us" of mmWaveSebesor Estimate

DEMOCOFIG_IDLE_TIME                            700       /* 7us    from "IDLE TIME MINIMUM" of mmWaveSebesor Estimate   (also tried 1600)

DEMOCOFIG_ADC_START_TIME               400        /* 4us    from "ADC VALID START TIME MINIMUM" of mmWaveSebesor Estimate (also tried 700)

DEMOCOFIG_RAMP_END_TIME                16427        /*  164.27    from "RAMP END TIME" of mmWaveSebesor Estimate

DEMOCOFIG_RANGE_RES                        0.043        /*  4.3cm    from "RANGE RESOLUTION" of mmWaveSebesor Estimate

DEMOCOFIG_NUM_ADC_SAMPLES         1293        /*      from "Number of Samples per chirp of mmWaveSebesor Estimate

DEMOCOFIG_FFT_SIZE                             2048        /*  from "# of FFT BIns" of mmWaveSebesor Estimate

Since hard coded CONFIG parameters use different name than that in the mmWaveSeneor Estimate, I have to guess in the above.

Does anyone know why I all "0" distances measurement with the parameters above and Do I miss something?

Thanks!  

[unlocked 1/24/18]>LE 

  • Hi Feng,

    Perhaps we have been attacking this backwards.  Up to now you've been asking about how to get the level sensing demo to work.  If what you really want to do is to just test potential chirp configurations that you may want to use for a level sensing application, there are much easier ways to do that.

    I seem to remember you mentioning that you are looking for < 3.5cm accuracy.  The default code in both the level sensing demo and the out-of-box (mmw) demo are designed only to go down to 3.5-4.0cm.  The main problem with your configuration above is that your FFT size of 2048 is not directly supported by the HWA hardware block of the IWR1443 or the demonstration code.  To go beyond 1024 points, you need to run HWA multiple times and stitch the FFT results together.  There is a 4K demo that illustrates how this is done.  There are also demos (such as the vital signs demo) that demonstrates how to achieve down to micro-meter accuracy.  To arrive at a level sensing application that can provide mm or better accuracy, the techniques in those demos would need to be merged into the level sensing demo.  The primary purpose of the level sensing demo is to demonstrate how to interface the IWR1443 with another controller (ie. MSP432) and use SPI instead of UART to transfer radar results out of the IWR1443.  It also demonstrates how to "hardcode" a chirp configuration that doesn't require a GUI to ship to the IWR1443. It doesn't however demonstrate sub-mm accuracy.

      -dave

  • Hi Dave,
    The purpose of the evaluation is to determine if IWR1443 chip is good for our application, our application is level measurement, it need to meet 4 to 20mA requirement, the current goal is +/-1 mm measurement accuracy (error) with 50 meters maximum measurement distance for the water, +/-3 mm with 125 meters maximum measurement distance, the closest (minimum) measurement distance is 33 mm.
    I tried the configuration above, it seems "# of ADC samples" can not be larger than 1000, if it is larger than 1000, all measured distance are zeros. If I set "#of ADC samples" to 1000, the MEASURE dis are: 2.752 m, 2.795 m, 2.709 m, it uses FFT size 2048; If I change FFT size to 1024 and keep all other CONFIG parameters same except #of ADC samples to 1000, I get the same distance measurement, dis1: 2.752 m, dis2: 2.795 m, dis3: 2.709 m; if using demo_CONFIG2 default values, the measurement results are dis1: 3.503 m, dis2: 3.464 m, dis3: 4.427 m at the same location with the same target. I also noticed the sampling frequency that I get from mmWaveSensor Estimate is close to the beat frequency, not meet the rule of "at least twice larger than the beat frequency" Do you know why? and how to configure the chirp to achieve our goal? Your help is greatly appreciated.

    Thanks,
    Feng
  • The reason for the difference in reported distances is probably because this value in demo.h is not being changed to match the new config:

    #define DEMOCFG_RANGE_RES              0.0385

    If you look at the function demo_findTopRanges(), it simply multiplies the top bin indexes by this resolution size to determine distance.  You can breakpoint or modify the code to output the top bin indexes instead of the power. This may be helpful.  But... the level sensing demo can't do 1mm accuracy as it is.

    A thread on sub-mm accuracy: (you can search for Accuracy or Resolution in the mmWave forum for more threads)

    https://e2e.ti.com/support/sensor/mmwave_sensors/f/1023/p/599055/2206436#2206436

    The vital signs lab location: (the 4K lab is also here)

    http://dev.ti.com/tirex/#/?link=Software%2FmmWave%20Training%2FLabs%2FVital%20Signs

  • Hi Dave,
    If you look at the Config parameters I posted above, the DEMOCFG_RANGE_RES has been changed to "0.043"
    The Vital signs need multiple antenna to achieve sub mm accuracy, we are only allowed to use one sealed horn or one horn lens antenna which we will design them.
    You say "level_sense_demo" can not achieve +/-1 mm accuracy, what are reasons caused so big measurement errors?

    Thank,
  • We require the measurement accuracy to +/- 1 mm, not the resolution, the resolution is 33 mm
  • >You say "level_sense_demo" can not achieve +/-1 mm accuracy, what are reasons caused so big measurement errors?

    Sorry, I meant resolution. The demo's default range resolution is 3.85mm, out to a max range of about 38m. Much more range than this with this res will require multiple 1024pt FFTs.
  • Let me try to clarify.  The "Range interbin resolution" in the mmWave Sensing Estimator is normally thought of as the distance between which more than one object can be identified as not being a single object.  We don't care about that for level sensing.  But since the signal is digital and the outputs are obtained via FFT bins, Range interbin resolution also is an indicator of how accurately you can measure.  For example, if your interbin resolution is 4cm, and your tank level changes by 2cm, the code will likely report it as the same distance, because the peak power will show up in the same range bin.  Extra measures are required to get either finer resolution and/or extra distance. And the extra measures will come at the cost of extra power.  You can't get fine-grained resolution and large distance and low power all at the same time.  Perhaps you would create one chirp type for accurate, short distances, and another for less accurate but large distances.  It would not be too difficult to store multiple chirp configurations in the IWR1443 and use GPIOs or UART to indicate which one to run per boot.

     -dave

  • I disagree with your theory, the "range resolution" not "range interbin resolution" is determined by the transmitted RF signal bandwidth, which determine how close two objects can be measured, the "range interbin resolution" is determined by FFT size, that is why I try to use FFT size 2048 not 1024, I did not get any error message with FFT size 2048, but I do not understand why "number of  samples per chirp" ("number of ADC samples" in your code) have to be less than 1000, otherwise it give the measured distance all zeros. I am wondering how other people did in their products, they can maintain low power (4 mA to 20 mA) and achieve 410 feet maximum measurement distance with the accuracy +/- mm (they have RF bandwidth 4 GHz as IWR1443 does)? See the article below, we may need to use multiple chirp and multiple FFT and may need TI's  help on how to make them work with your chip IWR1443

    This fall, Endress+Hauser will introduce the 80GHz MicropilotFMR6xfree space radar level instrument, suitable for use in tanks or silos with complex geometries, obstacles, baffles and/or nozzles. Its small beam angle of only 3 degrees and focused FMCW 80GHz signal beam provides level measurement at distances up to 410 feet with accuracy to ±1mm. Outputs include 4-20mA and HART.

    Thanks,

  • Hello Feng,

    Were you able to try alternate configuration on Level sensing demo or on the mmWave demo?

    Thank you,
    Vaibhav
  • Hi Vaibhav,

    Yes, I am able to reconfigure the device, but the measure distance variance is too big, it is out of the resolution range, you can close this, the answer is not the suggested asnwer.

    Thanks,

    Feng