How exactly are you "measuring drift"? What is it that you're measuring and what are you doing with it?
Ok, what I'm doing is this:
I'm converting the gyro rate-out signal into pulses using voltage to frequency converter (0-10khz for rate out of 0-80 deg/sec in any direction). This pulses are fed to uc counter, which counts them. So, it's equivalent to integrating the rate out. Hence, the counter value is directly proportional to the angular position of the platform.
when a command is given to rotate the platform, the uc starts counting pulses and keeps converting it into degree angle for displaying on LCD.
Now, even if platform is static and uc is given command to measure angle, it starts counting pulses. Ideally, the VFC o/p should be dc (no pulses) but due to the gyro drift and various offsets, the VFC outputs pulses. Hence, the uc displays some angle even if the platform is static (position covered=0 deg). This angle is what I call 'drift'.
So, when i say 'drift measurement', it means I'm measuring the total number of pulses captured (counter value) in static condition for 10sec, and I store this value in memory. During subsequent measurements, I subtract this value (normalised with time) from the counter value of the new measurement.
This thing has worked nicely for short measurements (I had tried without drift correction also, but it gave a huge error in position!). So, I was pretty confident about my 'drift correction' method!
Ofcourse, it's not only drift correction but combination of Drift+offset voltage correction.
Now, the trouble comes when the same thing is used for longer duration!!