I've implemented ramping speed filters in RobotC using
this example from one of our old programming leads. Essentially, the filter adds to the current speed the different between the current speed and the desired speed divided by some "alpha". This "smooths out" any motor speed changes.
So basically:
speed = speed + (joystick - speed)/alpha
Note that in his example, he multiplies then divides by an arbitrarily large value. I'm told he did this because the controller either didn't support floats or did floating point calculations much more slowly.