Tuesday, March 05, 2013

Three, Two, One, Zero Offset

Some more backyard science. Well, training room science perhaps.

This one was prompted by occasional power training forum discussions relating to the setting of torque zero on a power meter, and the auto-torque zero feature on some crank based power meters.

It was also prompted by an addition to my training room set up, which now means I am able to view on a computer screen my SRM zero-offset numbers. That's kind of handy as anyone with an SRM Powercontrol knows, the zero-offset screen only stays on long enough to do a check and set the zero-offset, but then reverts back to the main display screen after a short delay, which is fine for its intended purpose. Since I'm doing something unintended, having the zero-offset on permanent display helps.

So for some fun I put my phone in front of the screen to video record my SRM's zero-offset numbers while testing a few things, namely, how the zero-offset numbers vary from unclipped to being clipped into the pedals. How stable was zero-offset when clipped in? When moving a little but still not attempting to put pressure on the pedals? And what happens when I back pedal?

And while this was on an SRM, the issues arising are applicable to all crank based power meters.

This was the result. It's a 3-minute long video.

OK, so my video ed skills ain't quite up to Francis Ford Coppola standards. The white noise you can hear is my fan that I had left running. Summary thoughts are shown in the video.

Just for the record - here are some more thoughts on this subject:

SRM have an auto-torque zero feature on their wireless units. If you are using an SRM Powercontrol, the auto-zero feature can be enabled or disabled. How the auto-zero function operates is not documented in SRM public literature or on their website, so when and how it invokes is a bit of a mystery. as follows:
1. Speed must be > 0.
2. Cadence must be 0 for at least 5s.
3. The Zero offset must not vary by more than +/- 4 Hz.
If all three of these conditions are met, the new zero offset is the average of the values over the 5s.
Thanks to the contributor that updated me on the SRM function from the German manual.

It's my personal experience that it can generate zero-offset values that are way off. I recommend disabling auto-zero and doing manual zero-offset checks (the same as you do with older wired models). Interesting that SRM says it requires speed > 0, as that implies it also requires a speed separate speed sensor for auto-zero to work.

However, if you use a Garmin device as your head unit with your SRM, then you will have no choice as you presently cannot disable the auto-zero function. In my view that's a significant functional flaw that Garmin and SRM should fix. How significant? For example, I would not rely on Garmin captured data from an SRM when performing aerodynamic field tests. Use an SRM Powercontrol.

Quarq does not have an auto-zero function, the user needs to choose to perform a torque zero (which is fine by me, it's far better than having an auto-zero you can't disable and have no control over or knowledge of when it happens). A torque zero can be done manually as normal or by back-pedalling the cranks a sufficient number of rotations (at least four).

Back pedalling to set a torque-zero is convenient for sure but introduces an error similar to that described in the video. The size of that error will vary and depends on how different your individual reading is compared to the fixed back pedal torque value assumed by Quarq. Best to check and set your torque-zero manually, and unclipped from the pedals, and preferably not when coasting either (on many bikes this latter item is no big deal but some have a bit of freehub drag that can apply positive torque to the cranks while coasting).

Power2Max enables you to do a manual torque zero check as normal and it also uses an auto-zero function which you cannot disable (at least not with a Garmin). P2M have publicly stated the auto-zero function will only trigger if the torque readings are stable for a period and presumably the crank is not rotating for a few seconds. The maximum torque variance that would trigger an auto-zero being no more than one "ppm", with "ppm" being the unit the P2M uses for torque measurement (each power meter reports using different units).

Using a filter of stable torque readings makes sense to prevent erroneous torque-zero values but I wonder how often that actually happens given it was not easy for me to keep a stable zero-offset even when on a trainer and able to focus on doing just that.

P2M's reported torque units are about one-quarter to one-fifth as sensitive as those displayed by an SRM. So the torque values a P2M would interpret as being a stable zero point and trigger an auto-zero, would be the equivalent of an SRM zero-offset value being within a range of ~5-10Hz. So while it seems likely that the P2M will trigger an auto zero when coasting with reasonable frequency, the consequence of this level of (in)sensitivity in the torque range used to trigger an auto-zero means it could well introduce a random error of up to +/- 5W in power readings.

Powertaps of course are not subject to the same issue of trying to deal with pedal forces when coasting since they are measuring torque at the freehub, and so an auto-zero can be invoked as the hub will know when it is coasting (and hence no torque is being applied). It's not perfect either, and there are situations when it might be fooled, but in general it works reasonably well.

Note that the Powertap auto-zero feature when using a Powertap Cervo head unit (Little Yellow Computer) will only work if the torque-zero is not too far out of range to begin with (up to 8 Powertap torque units I think but that's from the dark recesses of my memory), so it's important to perform a manual torque-zero check before starting any ride. I don't know if this function is the same when using Garmin head units. Auto-zero on a Powertap can be disabled on both the LYC and Garmin.

Finally, the torque units reported by a Powertap and used to invoke an auto-zero are about one seventh as sensitive as those on an SRM (it depends on the gearing used and the range is typically one-quarter to one-tenth as sensitive as an SRM for an equivalent crank torque), but at least it has the advantage of being isolated from pedal forces by the freehub.

As a general comment, power meter head units really should be recording torque-zero values and keep a log of when and to by how much those torque-zero values have changed. This is important data to enable forensic examination of a power meter's performance and accuracy. At present, the only power meter head unit to record a torque-zero value in its file is an SRM Powercontrol. Even then, it only records the most recently set zero-offset value.

So while we keep seeing a stack of features being implemented in each new generation of head units, the most basic, fundamental and important feature of a power meter, i.e. the quality of the power data, does not always get the attention it deserves.


Alex Simmons said...

This is an exchange offline that was intended to be in the comments section - thanks to Harry for his thoughts.

Hi comments appear in italics (I hope!), and my responses in line are prefixed by the [AS] tag.

The comments are divided in more than one part as there is a text limit for comments on this blog server.

Great blog post. I tried to comment from two different browsers but couldn’t.

[AS] hmm, not sure what’s happened there, I’ll check my blog settings see if I can tell what’s going on. Be nice to have you comments and mine on the public record.

1. Did you check the Zero Offset with one foot down and one up? That’s a pretty common coasting position for some of us.

[AS] yes, very briefly in the video I do that and it also generated fluctuations. In the field it would be harder than on a trainer to be so stable with the pedal forces. I’m an amputee with a prosthetic left leg so fine motor control on my left is perhaps not as good as some but it’s not exactly bad either. These were done seated.

2. Using an SRM I don’t think we should factor in the back pedaling. Who does that for 5 seconds and even if they did the cadence wouldn’t be “0”. So I think the error you saw doing this with your setup would never actually happen in the field.

[AS] I did the back pedal experiment more to demonstrate the size of the effect on torque numbers, as that’s a method used by Quarq for performing a zero offset. Even so, the SRM wireless models report reverse pedaling as zero cadence.

3. Is the Zero offset number (615) in hertz?

[AS] yes

If so, the instructions you posted would not allow a new zero offset to be recorded if it was greater than +- 4 hertz. So this would certainly limit any errors. This limiting IMHO based upon what I’ve seen my SRM do and what I saw on your video would greatly limit any errors. Any pressure at all would certainly exceed the +-4Hz.

[AS] in theory, yes, however in my experience, every time I’ve had auto-zero enabled, I can get zero-offset going out by several hundred Hz (and not just a handful)!!

4. Your example of errors introduced by back pedaling would never happen in the field simply because cadence would never be zero.

[AS] As with #2, it wasn’t meant to suggest that one would do this with an SRM, rather it was to simply measure the effect of doing that on my bike, and how that will impact those who use a meter that does use a back pedal method. However, the SRM cadence sensor is directionally sensitive – IOW if you pedal backwards it reports zero cadence, so it can be fooled into thinking back pedaling is a zero cadence scenario. This is why on wireless SRMs it requires you to pedal forwards to wake up the power meter.

If I remember correctly SRM recommends that we use Auto Zero Offset. Why would they recommend that if it had the potential to introduce errors into the measurements?

[AS] I don’t know, that’s a question for them. I advise all my clients who can to disable auto-zero and to check their ZO regularly. My experience with my 4 SRMs is that my ZO values are very stable though, which means the issue isn’t such a big deal for me.

Alex Simmons said...

Here is the balance of Harry's comments and questions from previous comment.

Do you know how the Zero Offset is applied to the power measurements? Is it applied on the fly or does it take the first or last recorded Zero Offset and apply it to all of the power readings? I know you can change the zero offset of a recorded file in the SRM software and I assume the entire file is changed to that value. I just wasn’t sure how it was recorded.

[AS] power is calculated/reported/stored from the average of the instantaneous torque readings over a full crank rotation (or rotations depending on how fast you are pedaling), with the instantaneous torque readings being the difference between the measured Hz value and the Zero Offset value set at that time.

Only the most recently stored ZO value is shown in the SRMwin file, but you will have no record of what other ZO values may have been used, nor when they were applied to generate the power data. So you can play with the ZO value of a file in SRMwin, but unless you know the ZO history, all you are doing is applying a universal change relative to the last stored value, and not relative to the individual ZO values used along the way to calculate power.

Would it be possible for us to check the zero offset number several times during a normal ride with Auto Zero enabled just to see if it is causing errors in our data? Set Zero Offset, ride 10 minutes stop and unclip (stopping prevents an Auto Zero from Occurring), Check the zero offset and compare it to what it should be. Do this as many times as needed to satisfy our curiosity. Of course I guess we’d have to be quick about it since we only have 5 seconds to see what the previous recorded zero offset was before a new one was recorded. I guess if you stop with pressure on the crank it would not record a new value since the new value would be greater than the +-4Hz. That might buy us a little more time.

[AS] You can check ZO anytime you like. It might have changed since you last looked, what you won’t know is when that happened and of course what actually triggered it. Only with a manual zero can you know (and say insert an interval marker in the file to recall when, but you’ll need a form of external recording for the actual ZO value).

I’d be surprised if we find any significant errors introduced. I think we would be more likely to obtain better data especially if we are riding in changing temperatures or taking the bike from a warm/cold environment into a cold/warm one.

[AS] It is my experience that significant errors can be introduced. YMMV.

If I can remember to do it I’ll check my zero offset a few times during my next outdoor ride.

How difficult do you think it would be for someone to write a simple program to record Auto Zero offset numbers on the fly? Not a continuous recording of the zero offset but only record it when the specific conditions are met? Probably wouldn’t be that hard for someone that knows programming but for me it would be impossible. Probably simpler and as accurate to check during the ride to see if it has automatically set a value that would generate inaccurate power readings.

[AS] I have no idea, I’m not a programmer, but IMO, zero offset should be a data channel collected like all the other data collected.

In summary I think a very good argument could be made that using Auto Zero would actually result in more accurate data in the field.

[AS] Possibly, but only if the auto zero was actually producing a real zero, and besides, it is not going to be able to make an adjustment while actually pedaling, even though it’s possible that the real ZO value may have changed in that time.

**RoadRunner** said...

Nice summary Alex! I use an SRM with an edge 500 and the auto zero worries me a little. To be fair I haven't seen any funky data yet and when I check the ZO during and at the end of a ride I can see that it doesn't move much at all from my ZO at the start (or at least it changes as expected such as with a temp change). But I do worry about what happens when I stay clipped in at lights for example. Now if garmin use the same autozero protocol as the SRM PC (particularly speed >0) then I would be less worried about a random zo being set during a track stand. Although with GPS enabled a garmin can show a speed >0 when stopped. It would be really good for Garmin to enable auto zero to be switched off or better yet enable the user to determine the conditions when an auto zero is set. Do you have any idea if the Garmin autozero operates the same as the Powercontrol autozero?

Harry said...

Certainly a device of this caliber should not require any effort by the rider to obtain an accurate zero offset especially while riding so ones inability to apply equal pressure to each pedal should not in theory effect the zero offset.

<< Even so, the SRM wireless models report reverse pedaling as zero cadence.>>

That is not how my SRM works. My head unit reads cadence regardless of the direction of rotation.

<< This is why on wireless SRMs it requires you to pedal forwards to wake up the power meter.>>

Again this is not the case with my power meter. I can wake it up by spinning backward.

<< I can get zero-offset going out by several hundred Hz (and not just a handful)!!>>

I’ve not seen that but I’ll admit I’ve not been actively looking for it. I’d love to see more data to support this claim. How often does it happen, when does it happen, under what conditions? Just seems nearly impossible if the algorithm for performing the Auto Zero Offset is accurate. Several hundred hertz? How many times would it have to record a new offset to get that far off? According to the algorithm each new offset has to be within +-4hz. That’d require a heck of a lot of new zero offsets being recorded and what’s the chance enough of them would be in the same direction to add up to several hundred? Seems very unlikely to me.

I’d think it’s more likely something is wrong with your power meter or head unit than this actually happening out on the road in a normal ride.

This is what the PC7 manual says about Auto Zero Offset:

“The PC7 has an ―Automatic‖ zero offset function, to ensure that your data is as accurate as possible
throughout your ride.”

I’m sure we don’t know the exact algorithm used by the PC7 to record a new zero offset while in the Auto mode but I would think that SRM would have considered the scenarios you have proposed and provided some safe guards. I believe the +-4hz limit goes a long way to eliminating any of the concerns you have brought up.

I think you should reconsider your position on the SRM Auto Zero Offset. It just doesn’t seem possible that you should ever get an Auto Zero Offset that’s off by “Several Hundred”. I think it’s much more likely that you had something wrong with your power meter or PC7. At the least I think there should be further investigation before making such a strong statement against it.

Harry said...

I wanted to follow up on a comment you made that I re-read.

<< I can get zero-offset going out by several hundred Hz (and not just a handful)!!>>

Several hundred and not just a handful. So are you saying 600 or more?

If that's the case then wouldn't you notice huge spikes in your power readings or huge drops?

In your video you explained that a 10hz change would cause 5 watts of change. So what does 600hz change do to the power? Does it equate to a 300 watt error? If so shouldn't you easily notice that on the power head?

What about even smaller changes? Shouldn't they be easily detected while riding if they are as extreme as you are suggesting? Would 100hz change create an error of 50 watts? I think I would be able to tell that difference while riding.

I'm not suggesting in anyway that these extreme changes occur for a properly operating SRM with Auto Zero enabled. I personally believe that something is wrong and it's not with how the Auto Zero function works on a properly operating SRM.

Lets not forget that Auto Zero only occurs under very specific conditions and I don't think any of those conditions were met in your video.

@Abolish_ said...

I'm not sure I understand the conclusions from the video. Every time pressure was physically removed from the pedals offset was stable as can be.
Even trying to hold stable horizontally anyone that has tried this knows its very tough to do.
All the forward and backward pedaling did as we would expect, with some settling back time.
Further, if you're doing a protocol different than what the device is designed to do, the results are predictable.

Alex Simmons said...

The conclusions were exactly that - that is, an accurate ZO is when you are certain there is no torque applied to the pedals.

There is only one way to do that, and that's by not being clipped into the pedals.

Once clipped in, then it matters not if you attempt to be steady, or back pedal, it will likely introduce an error in ZO.

SRM have an auto-zero function that will reset ZO while still you are clipped in and cranks are not rotating.

Quarq have a function where you can set ZO by back pedalling four times.

So the point was to quantify any potential error from setting ZO while clipped in and in the manner suggested by the power meter manufacturer.

If you check the blog post after this one, I then demonstrate the impact of that error I found when using SRM auto zero offset.

Harry said...

Why am I revisiting this again? Because navi2coach is suppose to soon have the ability to display the zero offset values that are recorded during a ride using Auto Zero. The display as I understand it will not be on the head unit but can be viewed from the downloaded file using software.

While I was here I watched the video again. You had some text near the end indicating that you had a difficult time keeping the pressure steady or even and the frequency being read would jump around as shown in your video. I agree that this happens but simply because it is happening and you acknowledge it doesn't mean that the SRM head unit is picking up a "BAD" Zero Offset value. Actually the opposite is the case. As we now know the frequency being read must be very stable (within 4hz)for 5 seconds before a new ZO is recorded.

I can't help feeling that there is some bias in your blogging on this topic. The video clearly shows that the very specific conditions necessary to generate a new ZO are very difficult to obtain.

It certainly would be very interesting to see under what conditions you obtain an incorrect zero offset.

Based upon the video I can't see how you would generate one even if you were trying.

I'm hoping that navi2coach will implement the Auto ZO recording soon so that there will be a clear answer to these questions.

I'd also like to point out the software which appears in the video did not handle SRM ZO offset correctly. It would attempt to grab a new ZO even when the specified conditions were not met. I know there have been some improvements in how the SRM is handled but I don't believe he has perfected the capture of a new ZO even today.

Alex Simmons said...

Thanks for your comment Harry

Let me clarify a couple of things as I think you have misunderstood.

The purpose of the video showing on screen display of ZO values was simply to show how the torque values (Hz) vary depending on what I happened to be doing at the pedals.

The on screen display software itself does not properly reset ZO, nor was it meant to - it was just a means to conveniently display the torque readings (Hz) under different conditions. The numbers faithfully represented what the Powercontrol shows.

If you want to know how the auto-ZO actually behaves in practice, then I suggest reading my other post a day or so later:

in which I go for a ride with SRM powercontrol auto-ZO enabled, then every so often I stop to check what the ZO reading was (to see if the auto-ZO had modified it in the interim) and also take a manual ZO reading to see what the real variance in ZO actually was.

What you will find is that even though the auto-ZO in the Powercontrol has the algorithm to prevent erroneous ZO value changes, it still happens and the level of error is not insignificant, and could potentially make data for some purposes less useful than it might otherwise be.

As an example, if you perform field testing of aerodynamics, then I strongly recommend disabling the auto-zero function.

In my view, any cycle-computer head unit that links to an SRM power meter should give the user the option to disable or enable auto-zero. At present the option to disable auto-zero is not available on Garmins, you can disable it on an SRM powercontrol, and I'm not sure about other head units.

Not overly sure what bias I am showing. This is not a new phenomenon, I have reported it on forums many years before, am not the only one to have noticed it (many others have), and please note that I sell SRM power meters.

All I am doing is making people aware of it so they are informed.

Cheers, Alex

Unknown said...

By the way there is a new Garmin 510 update this week (according to DCrainmaker) and it has added a feature you will care about ...

From garmins website: "Change History
Changes made from version 2.70 to 2.80:
New Feature! Added VIRB Remote support.
Added the ability to turn SRM power sensor auto zeroing on and off.
Fixed a shutdown when creating bike profiles with...."


Better late than never. ;-)

Just for your info as its relevant to this post.


De Mac said...

G'day Alex, not too sure if this is 'news' or not. I recently obtained an SRM and am using it with my Garmin Edge 520 with latest Firmware. I can toggle the auto-zero function to OFF, in the menu.

Via - Menu - Settings - Sensors - Power Meter - Sensor Details - Auto Zero ON/OFF