How accurately do you need to know the speed of the motor?
For a motor, the Forward Voltage (applied voltage) is the sum of the BackEmf and (Current x Resistance). Where the BackEMF is of course linearly proportional to the motors rotational speed. So, if your controller measures it's DC supply voltage, then you know the forward voltage (Vsupply x PWM duty) and if it measures the current it is supplying to the motor, then you have everything you need to calculate the motors speed! It's not highly accurate, because the DC resistance changes with motor temperature, but i've found it to be perfectly adequate for low precision requirements.
I do a fuel pump controller that estimates the fuel delivery quanity from the pump by estimating the motors speed via this method.
E.g.
Say with a 24v supply, and a PWM at 50% duty cycle, that means you have a 12V forward voltage (24 x 0.5). iF you measure 1 amp of current flowing to the motor, and you know the motor has a 1 ohm resistance, then you know the backEMF must be 11 Volts. (12 - (1 x1) = 11.
On my pump controller, because the pump has a lot of friction, when the pump is stationary (at power up for example) i apply a small PWM, not sufficient to create enough torque to start the motor spinning, and measure the current, and this provides me with an adaptive DC resistance value to use in subsequent calcs.
Of course this technique works better with small motors that tend to be quite resistive rather than mainly inductive.