I have a project where I'm trying to take a variable frequency input signal and converting it to a fixed frequency, variable duty cycle output signal. The input signal is a sin wave ranging from roughly 150Hz to 6kHz. The output signal needs to be fixed at 150Hz with a duty cycle range of roughly 3-80%. There are several catches though. The ratio between the input and output signals is not fixed. There are times where I will need the output signal to be a specific duty cycle. For example, when the devise is first turned on, I need the output signal to be at ~25% for about 3 seconds without an input signal. If after the 3 seconds there is still no input signal, I need the output to be 75% duty cycle. Another example is that I need there to be a user-configured minimum duty cycle output. So regardless how low the input frequency gets, a user needs to be able to set a minimum duty cycle of 10%, 20%, etc. At the same time, there needs to be a user-configured setting of when duty cycle reaches 50%. When there is an input signal, maximum duty cycle needs to be 50%. A user needs to be able to adjust when 50% is reached in the input frequency range. Because of the complexity, I was leaning towards a programmable devise like a Parallax BASIC stamp. That way, I can program the logic that I need. Developing this type of devise is a little bit beyond my capabilities at this time. I'm hoping that some people here can give me some ideas on how to proceed. Thanks!