CH101: Accurate range only with movement

By jebtdwilliamsoncom , 3 September 2024

I'm using the EV_MOD_CH101-01-02 module (45 deg FoV) with the ch101_gpr_sr_narrow firmware, working in the range up to approx. 90mm. I have set the config max_range to 90, static_range to 0 and mode is FREERUN.

I see similar "issues" as described in this post: https://invensense.tdk.com/developers/forums/topic/dk-ch101-hellochirp-firmware-doesnt-work-properly/

I.e., the range accuracy seems off and erratic when the target is not moving. The amplitude is also low for a static target, and higher once the target is moving slightly. Typically the amplitude is down in the 5000-10000 range with erratic range values with static target, and with a slight movement the amplitude jumps to approx. 30000 and the range is less erratic and more accurate. I see similar behaviour both with my application firmware and running on the DK-CH101 with SonicLink.

Is this expected behaviour? Is there any firmware better suited for static targets?

kurtplaetevoet…

1 year 6 months ago

Hello, I have the same problem, there is a parameter CHIRP_RINGDOWN_FILTER_SAMPLES (4.13 chirp example manual an-000329).

"Ringdown cancellation samples (extent of filtering for internal noise in the sensor at close distances - below this value, a non-moving target cannot be detected)"

phpbb Post ID
46767

jebtdwilliamsoncom

1 year 6 months ago

Hello,

you are using the ICU-x0201 sensors? I'm using the CH101, which may seem to have less configurable options.

phpbb Post ID
46769

kurtplaetevoet…

1 year 6 months ago

yes I'm trying to use the ICU-10201, it is the best device with highest accuracy on low distances.

I tried to contact support with some question but it seems they are not alive...

phpbb Post ID
46772

gungeetsinghhylio

1 year ago

For SR, in samples_to_mm function, the code is
num_mm = ((uint32_t) num_samples * CH101_SPEEDOFSOUND_MPS * 8 * max_range_mm) / (op_freq * 2);

TDK has the max_range_mm hardcoded to 1000, but the actual value is 250 or less (whatever you are setting up as your max range).
I was also facing the same issue where it wasn't going above 85mm, but doing this fixed the range issues and i was able to perform a static detection.

phpbb Post ID
49788
phpbb Topic ID
46601