Posts

Showing posts from December, 2009

Specialized Shiv Concept Tandem

Image
Specialized just revealed a super-cool prototype (it's been called a concept bike, but this seems very functional, nothing concept about it): a tandem version of the Shiv . Wow! Photos stolen from BikeRadar : Interesting phasing on those cranks. One of the cool aspects of this bike is the shaft drive: Super-aero, clearly. But at what cost? Any drivetrain has losses. Losses are generally considered to be proportional to transmitted power, although it's been experimentally shown that for a bicycle transmission efficiency is higher at higher chain tension than at lower chain tension. This is fairly trivial: aspects of drivetrain loss are not necessarily proportional to transmitted power, but rather proportional to chain motion. In any case, a fixed gear drivetrain, such as on the timing chain on a tandem, is quite efficent. For example, 98-99% is typically claimed. An alternate for the timing chain on a tandem is the Gates belt drive. This also claims to be as efficient

Filters 2.0: frequency response

Image
Now I'll go through the frequency response of my "new favorite" filters. These are all trigonometric functions, so no need for integration by parts, as long as I use a few trigonometric identities. I was even able to skip most of the expanding trigometric functions in terms of their complex exponential equivalents. I'll spare the details and cut to the chase. Here's the filters again: In each case assume an input function: f(t) = f 0 sin ωt, and where the output function is f*(t). In each case I'll explicitly include the time shift to make the filter causal, so I'll represent the output function delayed as f*(t + τ). This is the reason I've changed my definition of τ here: it now represents the half-width of the filter function; a more direct representation of the delay. cos 2 (π/2 Δt/τ): I analyzed this before, but with a slightly different form. The result: f*(t + τ) = 2π f0 sin(ωt) sin(ωτ) / [ωτ (1 ‒ ω²τ²/π²)]. ‒3π/2 cos(π/2 Δt/τ) sin(π Δt/τ

filters 2.0

Image
I've gone on quite long enough about filters. But I think I'm finally getting it right. So it's my blog, after all, and the whole point is I can write about what I want. So I'm going to stick with filters a bit longer... I'm trying to figure this stuff out for myself. As I noted last time, after thinking about it, I realized I could do all the filtering I needed with strictly trigonometric functions, and trigonometric functions have attractive mathematical features (particularly, their exceptional smoothness, and their tendency to average to zero). It's just a matter of selecting the function. The goal is to smooth the data (reduce high frequency components) while optionally also reducing low frequency components. The criteria are: The area of the absolute value of the function should be one. The function needs to transition to zero smoothly, which is to say with a continuous slope, at the edges. This helps to reduce high frequency components. If the fun

Filters 1.0: frequency response

Image
Okay, so why all this interest in the rather boring subject of convolution functions for filtering? Well, a few things. The most recent reason is having fun playing with MetriGear Vector data. Sure, I could have fun playing with PowerTap data (and I actually have a Powertap, while I don't have a Metrigear Vector). But Saris is all hush-hush with its numbers, while MetriGear is much more open: they've for example published data on their excellent blog , and when the pedals go to market, they promise to provide a much higher rate of data reporting than one gets from existing meters, typically one sample per second (or the Powertap famous sample per 1.26 seconds). Additionally the Vector will provide a lot more information. Of particular interest to me at the moment is how to process accelerometer data. Accelerometer data tends to be noisy, both from errors in measuring the actual acceleration, and in accelerations other than those of the pedals turning in circles. So to

A one-step band-pass

Image
So far, I've been doing band pass filtering by a low pass followed by differentiation. This involves first a convolution to realize the smoothing, then a difference function for the differentiation. But now that I think about it, it's better to avoid the difference function and accomplish the full band pass filtering with a single convolution. Okay, you can stop laughing now. I know this is all super-basic-DSP-stuff. I'm afraid I never actually took a class in DSP. So laugh if you want. I can take it. Anyway, the low-pass filter used last time was the following: f*(t) = (2 / πτ) ∫ d Δt · cos²(Δt / τ) f(t ‒ Δt), where here the limits of integration are again from ‒π/2 τ to +π/2 τ. This can be turned into a band pass filter by simply multiplying the convolution function by Δt / τ: f*(t) = (K / τ) ∫ d Δt · (‒Δt / τ) cos²(Δt / τ) f(t ‒ Δt). A plot, after applying the delay by π/2 τ: I suppose we should calculate K. The integral of the absolute value of the convolution fu

Band Pass Filtering: SCORE SQUARED!

Image
In the last post, I showed how a truncated cosine wave did a better job than an exponential function at smoothing data. The goal was to produce a band pass filter, which filtered fluctations occuring at both high and low frequencies, leaving only those in a desired band. Differentiation was used for the high-pass part. But the differentiation canceled out the low-pass effect of the exponential smoothing. The truncated cosine smoothing was strong enough to retain its low-pass character even after the differentiation step. Here I consider another form of smoothing: a cosine squared. The exponential weighting function jumps discontinuously to zero. The truncated cosine has a continuous value to zero but a discontinuous slope when it is clamped at zero. The cosine squared, on the other hand, has a continuous slope as well when it is held at zero. The three filter shapes are shown in the following plot. They are shown with the time shift I mentioned last time so to be causal. Only

Band Pass Filtering: SCORE!

In the last post, I showed how a simple-minded effort at band-pass filtering failed miserably. Basically the attempt was to apply a simple low-pass exponential weighted rolling average as a low-pass filter, then follow up with differentiation, which cuts out the low-frequency stuff. The problem was the differentiation basically undid the low-pass filtering of the exponential averaging. What was left was a high pass filter, not a band pass. Of course I could look this stuff up on Wikipedia or even (gasp!) an actual book (remember those?). But I that would hardly be redemption. Better to dive in and convince myself I still remember something from that expensive college education.. So to retain both high and low-pass characteristics after differentiation what's needed is a better low-pass: it needs to cut off high frequencies faster than the 1/ω behavior of the exponential smoothing. I previously proposed a truncated sine wave Let's try that (or a truncated cosine wave: same

Band-pass filtering: FAIL!

Last time on the subject of the MetriGear Vector, I posted some comments on filtering noisy data. Honestly, I hope my college professors weren't reading that one.... I might find myself back in school having had my undergraduatee EE degree revoked. 6.003 redux. What I'd proposed was exponential smoothing followed by differentiation. Exponential smoothing is a convolution with an exponential function. The result is, where f*(t) is the smoothed function, and f(t) is the original function: f*(t) = (1 / τ) ∫ d Δt · exp(‒Δt / τ) f(t ‒ Δt), where the integral is from 0 to ∞. In this case, where we're dealing with pedaling motion, pedaling at constant cadence yields a sinusoidal motion. For example: f(t) = f 0 sin ωt, where ω is the angular velocity. For those of us who were never very good at memorizing integration tables, it's easier to express the sin function in terms of its equivalent in complex exponentials, where i is the unit imaginary number: f(t) = f 0 [

Low-Key Score History: Ron Brunner and Gary Gellin

Image
Two more score histories.... Ron Brunner was tracking a trajectory of incredible exponential score improvement through 2008. With this sort of thing, improvement invariably saturates. But Ron showed no respect for saturation: in 2009 he increased his rate of improvement even above his prevailing trend. Amazing. Then there's Gary Gellin. Gary has ridden a few Low-Keys, and indeed is an excellent climber, although he's not shown his best at the fall Low-Keys while on his bike. But where Gary's really made an impression is in running. He ran his first Low-Key back in 1995, and his results on foot have continued to increase ever since. It's always fun getting rider reactions when they're passed by Gary running by. Gary typically selects the steepest climb or two to make his showing. The steeper the better for a runner versus a rider. Gary is the primary inspiration for my dabbling in trail running last winter (and hopefully this winter as well, if I can solve

Low-Key Score History: Tracy Colwell and Tim Clark

Image
Two of the most successful male riders in Low-Key history have been Tracy Colwell and Tim Clark. Tracy won the series in 1996 through 1997 , then again in 2006 . Tracy's participation became less regular starting in 1998 , and Tim stepped up to take the overall in 2007 - 2008 . This year the overall men's leader was Justin Lucke, in 1998 it was Eric Albrecht, while in 1995 it was me. Here's Tracy's "scores", calculated as I described using the present convention (the official score in the '90's was % of the fastest rider's speed): Tracy was strong in 1996 , but stepped it up to a different level in 1997 , a year when he set several course records which hold to today. Since then, increasing parenting duties have reduced his training a bit, but he's still an impressive climber. He was the first non-motorized rider to the top of Hamilton last Thanksgiving, for example. Tim wasn't as active in the '90's, but did fairly well in

My Low-Key Score History

Image
With the completion of the Low-Key Hillclimb score archives, it's fun to look at some score histories. Most of the riders in Low-Key version 2 (starting 2006) were new: it had been 8 years since the previous Low-Key series, and that's a long time in the cycling world. But for riders who've done the series in both decades of its existence (next year it enters its third), it's interesting to see how their performances compare. A few riders come to mind. For example, me. Okay, so I admit I was nervous in doing this exercise. A decade's passing is often unkind to a cyclist's results. Nobody likes to be reminded that they're getting older. Okay, just plain getting old. So let's see what the numbers say. First, the method. These are calculated using the scheme used to calculate rider scores presently: first I take the median time among non-tandem riders in the same "division" (divisions typically comprise "men" and "women"

Low-Key all-time bests: Soda Springs & W84-WOLH

Last time I showed the most-popular Low-Key climbs as determined by number of finishers were Hamilton, Montebello, then Soda Springs a surprising third. Soda was used in three of our very popular years: 1997, 1998, and 2009. We had some issues this year with a local resident who thought we represented a lot of traffic, which we were. But I hope we can work things out with him and return there in the future. Another popular climb I haven't posted results here for yet is the combination of Highway 84 and west Old La Honda Road. This is a route rarely if ever timed by solo riders: it's somewhat artificial. But it gives people a chance to show off their flatland time trialing before the serious climbing begins in La Honda. And west Old La Honda is one of the prettiest climbs anywhere, without a doubt. It was used in 1996, 1997, and 2006. On Soda, Tracy Colwell's 2007 time is the best, one second faster than Chris Phipps' result from this year. On the women's s

Low-Key Hillclimbs: most climbed

Image
A little analysis I found surprising about the Low-Key Hillclimbs : which are the most-climbed climbs? Well first and second are obvious: Hamilton and Montebello. Each has been very popular, perhaps Montebello with slightly more turn-out, but Hamilton was used twice in 1998 compared with no Montebello that year, so I'd guess Hamilton's been climbed (or more accurately, finished) more times. Then, what's next? Hmmm.... One of the Diablos? OLH? Kings? Page Mill? Well, for one thing I was wrong about Hamilton: average turn-out is actually higher there, so the comparison with Montebello isn't even close. But I was most surprised with the climb ranking third. Cool: really great climb. climb used finishers Mt_Hamilton 9 901 Montebello 7 625 Soda_Springs 3 317 OLH 4 282 Mount_Diablo_(S) 4 278 Hwy_84/WOLH 3 238

Low-Key: OLH & Kings

Image
The two "classic" time tests of the Peninsula are OLH and Kings Mountain Road. Okay, so first, what's this "OLH" business? I think we all know what OLH is. I prefer to call it OLH since the local residents discovered The Google . I'm an OLH guy myself. Given the choice, if there's only one climb I can do, that'd be it. It's perfect in almost every way. Perfect grade. Shade. Shielded from the wind. Perfect distance. Perfect road surface. Perfect density of turns. Excellent proximity to population and decent proximity to the train (which is far from ideal, but I digress). It is the model climb. Well, okay, not perfect car traffic. That would be zero, and typically you encounter on average maybe one car when climbing OLH, which takes a bit less than 20 minutes, depending on how I'm feeling. Deviations from OLH are generally deviations from the optimal. Nothing wrong with deviations: variation is a good thing. Kings just doesn'

Low-Key: Bohlman-On Orbit best times

Image
I first discovered the particular joys of Bohlman-On Orbit-Bohlman in 1995 when I rode Bill Bushnell's spectacular "Mr Bill's Nightmare", then part of the Sequoia Century. I don't think there's more than a handful of harder climbs at its distance in the US. There's three major ways up the hill: Stay on Bohlman : this is clearly the easiest route. Don't take it for granted, however, as it's still brutally steep. Take the On-Orbit "shortcut" : a substantially increased dose of pain. On Orbit is truly brutal. 13.2% over 2 km, 14.2% over 1 km, 15.9% over 500 m, 21.8% over 200 m, 24% peak. Which of these numbers speaks more to the pain? I don't know: I think all, actually. 21.8% over 200 meters is a much different experience as part of a longer climb than it would be, for example, as a few steep blocks in San Francisco, although that would also be tough. I rode Filbert Street , which is 32% over 68 meters. I think the two segmen

Low-Key: Diablo records

Results are shown here from the north side (starting at or near the gate) and the south side (starting near Athenian School). The north side has more climbing. We climbed the south side in 1995, 1996, 1997, and 2007. The north side was part of the Low-Key schedule in 2006 and 2009. This may be it for Low-Key at Diablo, since we didn't get positive feedback from the Chief Ranger this year, since I was told some car drivers may have been inconvenienced by the riders, the former clearly the priority of the State Park system. Seriously, Diablo would be a much nicer, more tranquil, cleaner place if cars were banned. Call me radical. Mount Diablo (N) Men rank year(wk) name time %median 1 2009(7) Justin Lucke 51:12 132.031 2 2009(7) Kevin Metcalf 51:21 131.646 3 2006(3) Petro Hizalev 51:37 132.015 4 2006(3) Menso de Jong 52:00 131.042 5 2009(7) Ammon Skidmore 52:27 128.88