The Differences between C-UAV 2HP (UM982) and F9p

I’ve recently started using the C-UAV 2HP as the main GPS for my drone. There are some trees and buildings near my testing area that block part of the GPS signal, so my drone occasionally experiences minor positioning issues. In loiter mode, there are problems with the altitude (EK3_SRC1_POSZ=GPS) and position being inaccurate, causing the drone to move on its own. When I use the F9p, these movements are very slow. However, when I use the 2HP, the movements seem to speed up. My question is, is this difference because ArduPilot reads certain accuracy parameters from the F9p, which increases the IMU weighting? The only differences I can think of between the F9p and 2HP are related to u-blox and NMEA. Can someone help me understand this?

alright, I checked the logs. When using the UM982, the SH value of XKF4 reached 0.12, while with the F9p it was only 0.06. I’m not sure what these figures represent. Maybe it indicates that the accuracy of the UM982 is lower?
I think these errors should be real and not just my imagination.