IMU Dead Reckoning with Filter Example Code?

I'm currently working with IMU dead reckoning, and I often see it used with filters to help compensate for drift over the short term. I often see Unscented Kalman and Complementary filters being used, but what other filters exist, which one should I use for my project, and are there advantages and disadvantages?

Also, does anyone know of a good example code for IMU dead reckoning with filters? Tons of examples exist for the MPU-6050, 9250, etc but given that I'll be using a more updated ICM-20948, I was hoping to have a good example to modify, rather than poorly reimplementing everything from scratch, which should help given I'm on time crunch.

Please do not cross post. This is your third on the same topic.

Next time, should I just create one post with a more broad topic like "IMU Dead Reckoning" and have multiple questions under it? I tried to separate them because it one is a slightly different question but I can definitely delete them and combine them.

That is the forum etiquette. Otherwise your answers are scattered among different topics, and people feel like their time is being wasted, as other responses are not easily visible.

You can use the "flag" button at the bottom of a post to ask moderators to combine them.

Finance or navigation?

Will do. Apologies for the mistake.

I've been out of the the whole IMU market for a while, so I wondering, does anyone have and recommendations for IMU that can be used for the task of short term dead reckoning(sub 1 to 2 minutes)? I know someone will say that dead reckoning isn't very reliable, but given that I'm running for very short periods, I think it is the best option for my task. The ICM-20948 looks like an okay option, but if anyone has a better alternative, I would greatly appreciate the input.

The market is competitive and the latest offerings from all the manufacturers are quite similar. The ICM-20948 performs about as well as any other. The data sheets have the details.

In a mechanically noisy environment, none of them will be useful dead reckoning for more than a few seconds,

Just got the posts merged! Sorry for the mistake.

The problem with dead reckoning using consumer grade IMUs lies mainly in the ability to correctly subtract the acceleration due to gravity from the total measured acceleration, which works only if you know the orientation of the IMU very accurately.

That is explained here, along with some estimates of how rapidly the calculation diverges from the truth, given an assumed orientation error. Scroll down to "position and velocity"
https://web.archive.org/web/20201022151347/chrobotics.com/library

There would be a lot of interest if it worked, and the absence of cheap dead reckoning devices tells you something.