Friday, January 29, 2010

power accuracy and the uniform cadence approximation

An interesting issue came up in the Wattage list, and that is that the Cinqo (and presumibly the SRM) calculate power under the assumption that the pedal cadence is uniform throughout the pedal stroke. This is an interesting assumption, worth investigating, in light of my recent discussion of Metrigear hitting its 1.5% power target.

In my discussion on Metrigear, there were two principal limiting factors to accuracy: one was nailing down the pedal orientation, the other was getting the pedal rotation rate correct. For the orientation, the system was getting close after only 20 seconds of my simulation of highly variable cadence, a worst-case scenario. Results I didn't show were that if I simulate longer periods, the system continues to improve on its orientation determination, and can nail that down to a fraction of a degree. That's good enough to separate out the "propulsive" component of force.

On the other hand, the primary challenge remained the determination of instantaneous pedal rotation rate. Whether that can be nailed to within the needed 1% or so needed for that 1.5% power target depends on the mangitude of the differential noise. I left it at that, since I don't know what that would be.

The crank-based units don't need to separate out the propulsive component of force: they measure propulsive torque directly. I assume they ace that part. The harder thing is rotation rate. Cinqo, at least, uses a traditional magnetic cadence sensor to get the rotation rate. That gives a ping every full pedal stroke, which means I need to make assumptions about how the rotation rate varied over that pedal stroke. The simplist assumption is it didn't vary: uniform rotation rate. If the number is different the next stroke, then right after the cadence sensor pinged, the rotation rate instantly changed to the new value, and it remained constant at that value through that next stroke.

So is this a good assumption? Well, assume applied torque is constant, and in pedal rotation rate is varying in some unpredictable fashion. All I know is the average pedal rotation rate through the full pedal stroke. What I need to calculate is the average power during the stroke. All good: the average of a constant torque multiplied by a variable rotation rate is that torque multiplied by the average rotation rate. I get the exact answer by assuming the rotation rate is constant.

But torque isn't constant, of course. It varies, just as rotation rate varies, and this causes a problem. To see this, consider another possibility: rotation rate varies, but torque also varies to keep applied power constant. Power is the product of torque and rotation rate, so this assumption can be stated:

τ = P / ω

where ω is the rotation rate, and τ is the torque.

Let's then take the simplest possible case: ω = ω0 ‒ Δω for half the stroke duration (time, not angle), while τ = P / ( ω0 ‒ Δω ), and for the rest of the pedal stroke ω = ω0 + Δω, with τ = P / ( ω0 + Δω ). Obviously, the average power is P, since I am assuming that the power is always P.

But what would Cinqo conclude? It assumes the average power is the average rotation rate multiplied by the average torque. Average rotation rate is simply ω0. Average torque's a bit more complicated, though:

average τ = P [ 1 / ( ω0 ‒ Δω ) + 1 / ( ω0 + Δω ) ] / 2

= P ω0 / ( ω02 ‒ Δω2 )

So if I calculate the power from this, where PQ equals the Quarq-effective power, I get:

PQ = P ω02 / ( ω02 ‒ Δω2 )

= P / ( 1 ‒ Δω2 / ω02 )

So if Δω is zero, all is good: PQ = P. But as Δω increases, the trouble begins: the Cinqo always overestimates. Suppose Δω = 10% of ω0. Then the error from the above equation is 1% of total power. This is already close to the full Metrigear error budget of 1.5%. Take Δω up to 20% and you blow it out: the error is 4% of total power. That's some serious cheese.

How much pedal rotation rate varies within a pedal stroke another whole topic. For example, it depends on whether riding is "high inertia" or "low inertia". In "high inertia" riding, the pedals tend to want to keep moving at the same speed, for example when riding downhill at high speed in a big gear. "Low-inertia" riding is when the pedals can slow down relatively rapidly: for example when in your granny gear on a mountain bike riding up a steep slope: let up on the pedals at all, and you'll come to a rapid stop. Also the effect on power depends on how applied torque is correlated with pedal rotation rate. The constant power assumption may apply more in some cases than in others. So it's a complex issue.

The Metrigear Vector will be an enlightening tool in this matter, since it will be able to report pedal rotation rate throughout the rotation circle. This will best be done on a trainer where vibrations are minimized. This will provide some interesting insight into how accurate the crank-based systems really are, not under controlled pedaling at uniform cadence, but rather under real-world conditions where everything is constantly changing.

loosch said...

This is something I have been working on for some time, we are looking at mounting a rotary encoder to a bb axle and integrating this with an SRM, should be interesting!

djconnel said...

Fantastic!

A more general result is that cadence is correlated with pedal rotation in some way:
ω = ω₀ ‒ Δω for half the stroke duration (time, not angle), while τ = τ₀ ‒ Δτ. Then for the other half of the stroke duration, ω = ω₀ + Δω
while τ = τ₀ + Δτ. Δτ might be positive or negative or zero. Then
average power = [ (ω₀ ‒ Δω)(τ₀ ‒ Δτ) + (ω₀ + Δω)(τ₀ + Δτ) ] / 2 = ω₀
τ₀ + ΔωΔτ. Meanwhile the Average Cadence Approximation (ACA) is ω₀ τ₀. So this says if Δω and Δτ are positively correlated, the ACA will under-report, while if they are negatively correlated, the ACA will over-report, while if they are uncorrelated, the ACA will accurately report (in this trivial example, "uncorrelated" would mean either Δω or Δτ are zero, but more generally, this it may simply mean the sign of one doesn't predict the sign of the other).

This little analysis has changed my perception of whom to more believe during examples where PowerTap reports higher than SRM or Quarq for AP over moderate-duration efforts (crank phase aliasing causes disagreements on very short efforts).

loosch said...

I designed a force pedal system for the Aust Institute of Sport using an encoder in the pedal axle. I haven't seen any data from it, but it did have 1 deg resolution. The problem with SRM is that a reed switch is not the most accurate in terms of timing 1 rev but works well because it cancels out any error in the next rev.

Some questions I have relate to power accuracy at high versus low cadence at high versus low KE.

Overall I think the SRM does a reasonable job as long as you are aware of its limitations and nuances. I am very sceptical of people who claim absolute data from any power meter.

I hope the Metrigear stuff delivers its promise, I am still concerned about drift of their sensors.

djconnel said...

Which sensors? The force sensors in the Vector are piezoresistive, which have improved stability relative to the foil sensors which, I believe, are in the SRM and PowerTap and Quarq. Correct me if I'm wrong here... that's what I was told.

It makes sense foil would drift. Metal fatigues and oxidizes. Piezoresistance is measured with a crystal, which is more stable.

There's other forms of drift, however. What if the mechanical properties of the spindle change over time? A lot of that depends on cleat maintenance, to avoid the cleat spring rubbing against the spindle.

loosch said...

The work I was involved with a while ago with accelerometers and also piezo's tended to drift a bit and needed frequent zero correction. Drift was measurable over a 15s sample.
Foil gauges as used in the PM you listed are much less prone to drift if mounted correctly and temp compensated in my experience.

I am not an expert in this area by any means, I do the mechanical hardware not the data aquisition, but this has been my experience from systems I have been involved with. There may be some new technology I am not aware of in this area and the Metrigear guys might have this under control. I should ask them and see if they tell me!

Unknown said...

Do you know for sure that the Cinqo measures cadence only once per revolution? I remember Jim saying that it has something like 8 reed switches in the crank, so in theory it could be measuring cadence up to 8 times per revolution.

djconnel said...

Good question! It's been discussed on wattage, and I've discussed it with people in the business, but the best reference I can find might be here, in NYVelocity's typically excellent interview with Jim Myer (definitely read more of this -- it's great when the interviewer understands the physics):

AS: In other words, you're only measuring once per revolution, so you have to assume that rpm is constant through that whole rev.

JM: You have a time for each revolution, 600 milliseconds or whatever.

The multple sensors are for extracting strain, which is used to derive torque.