Nice thought provoking question, Joanne. Here's an off-the-cuff idea. I haven't tried to work out any of the numbers, it's just some idle musing.
It has occurred to me that we are in the midst of a minor revolution in amateur radio (which will undoubtedly be followed by a more major revolution). In the last 10 years, cheap computing and sound cards have caused a great deal of experimentation with "sound card modes" (the minor revolution), and will ultimately lead to the major revolution (widespread use of SDR). We have a kind of flexibility that we couldn't think of even a few years ago, a flexibility that we gain from Moore's law.
So here's an idea: let's do away with the need for Doppler correction entirely. It's not like we don't have decent orbital elements for the satellites that we use. It's not like our ground stations don't have accurate timing information available to them. Even if we didn't, we could still output a (coded?) carrier that our soundcard modem could lock onto, and then transmit relative to that frequency.
Given the relatively limited amount of power that we are likely to have in a cubesat, the question then becomes what is the best way to use that power? It seems unlikely that any kind of linear transponder will allow more than just a couple of users meaningful access. I'd suggest it might make more sense to do some kind of digital transponder. I'm imagining a satellite which monitors a chunk of spectrum roughly the size of a current SSB signal, say 2.4khz. Imagine that space was divided into (say) 10 channels, each 240hz wide. We could easily fit a PSK63 signal (or a similar FSK signal, pick your poison) in that space. You could use a bent pipe crossband transponder, or potentially do a simplex repeater (say the sat listens for 10 seconds, then re-echoes for 10 seconds) on the same uplink frequency. If you are a downlink station, you know what you sent, and can tell if your signal got collided with, and if so, you can switch to another of the 10 slots. In the mean time, you can easily monitor all of the other slots as well, and try to pick an unoccupied one. While it might be difficult for a power-efficient controller to actually _decode_ each of the 10 channels, it probably could determine which channels are busy itself by monitoring power in each of the channels. Maybe we can fill unused slots with telemetry? Or can we actually get enough DSP power into a cubesat to decode 10 channels of PSK (or some similar protocol), which would help a lot (the bird only transmits stuff, and what it transmits is free from noise/errors). If not 10 channels, then how 'bout 5? 2? Even one? Then, we basically have a simple digipeater, which can obviously be done, given the existance of 1200 baud modems based upon PIC microcontrollers.
Just some lunacy...
Mark KF6KYI