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.

[FAQ] OPT3101: Dealias Operation

Part Number: OPT3101

The below answer provides details on OPT3101 dealias mode operation.

  • Registers needed for dealias operation are provided in the datasheet. The following document provides instructions for configuration, calibration, and distance calculation. It also mentioned the registers to refer to in the datasheet. 1447.OPT3101-Dealiasing.pdf

    Additional information

    Dealias is needed for measurements above 15m.

    Modulation frequency

    8.57MHz 2nd frequency only should be used for dealias. 12MHz results in higher crosstalk which is too hard to correct for and should not be used.

    Can distance above 15m be determined without dealias? Not consistently or over a large distance range. In regular mode the distance will loop around from 15m to 0m and then increase from there. It is possible to be able to detect based on that, but you cannot distinguish from seeing a target at 15m to seeing a target close up. You can also use the amplitude reading so answer is possibly, but will depend on application and use case. Also above 30m the distance will loop back again. Using dealias is the best way to use OPT3101 with ranges above 15m.

    Switching between 10MHz only and dealias

    If you want to switch to 10MHz mode and use the regular non-dealias formula for distance calculation, the following register settings need to be written to get correct readings.

    en_sequencer = 0

    en_processor_values = 0

    give_dealias_data=0

    en_dealias_meas=0

    Sequencer timing register details

    The below python code can be used to calculate the timing register values for and setup device in dealias mode.

    import numpy as np
    
    # De-alias settings
    deAliasFreq=1 # 0 for 6/5 and 1 for 6/7
    
    override_clkgen_reg=0
    dealias_en=1 # Switch to enable or not. if 0 always 10MHz when override=0
    
    # Digital Settings 
    en_multi_freq_phase=1 # Irrespective of modulation frequency it will give out f1 and f2 information when 1
    en_dealias_meas=0 # Freq of modulation is determined by NCR config register. 
    ncr_config=1-deAliasFreq
    sub_vd_clk_cnt=np.uint16(9999*(5+(deAliasFreq<<1))/6.0)
    tg_illumen_start=np.uint16(0*(5+(deAliasFreq<<1))/6.0)
    tg_illumen_end=np.uint16(8500*(5+(deAliasFreq<<1))/6.0)
    tg_capture_start=np.uint16(9300*(5+(deAliasFreq<<1))/6.0)
    tg_capture_end=np.uint16(9800*(5+(deAliasFreq<<1))/6.0)
    tg_calc_start=np.uint16(8500*(5+(deAliasFreq<<1))/6.0)
    tg_calc_end=np.uint16(9999*(5+(deAliasFreq<<1))/6.0)
    capture_clk_cnt=np.uint16(8600*(5+(deAliasFreq<<1))/6.0)
    tg_en=1