I was wondering if there is some sort of circuit topology used for obtaining the time-averaged value of a signal.
i.e. the integral of a signal over a period of time set by whoever designs the circuit.
So for example, I have music playing, and I want to know the average voltage level over the last, say, 500ms, and I want this average to update continuously.
Is there a way to do this using analog techniques? Obviously you can just use an ADC, sample and hold, DAC algorithm on a uC but what if I wanted to leave digital signal processing out of the deal?
perhaps some kind of opamp circuit? maybe it would charge a capacitor to a desired level?
it doesnt have to be super accurate, or even reject the last "measurement" immediately... I mean, digitally speaking, if you want the moving average of 10 samples, when you take sample 11 you drop sample 1. For this analog application, you will obviously never be able to reject sample 1 entirely. So maybe if sample 1 was only weighted half as much by the time you are measuring sample 11... like I said, not super accurate.
I guess this would be for use in a sort of peak-detection circuit, now that I think about it. i.e. compare the magnitude of some transient spike to the average value of the signal over the last x seconds.
My initial application is to detect the "beat" of a music signal. Just to see if I can do it easily enough, but I would like to be able to extrapolate the idea to higher performing circuits.
i.e. the integral of a signal over a period of time set by whoever designs the circuit.
So for example, I have music playing, and I want to know the average voltage level over the last, say, 500ms, and I want this average to update continuously.
Is there a way to do this using analog techniques? Obviously you can just use an ADC, sample and hold, DAC algorithm on a uC but what if I wanted to leave digital signal processing out of the deal?
perhaps some kind of opamp circuit? maybe it would charge a capacitor to a desired level?
it doesnt have to be super accurate, or even reject the last "measurement" immediately... I mean, digitally speaking, if you want the moving average of 10 samples, when you take sample 11 you drop sample 1. For this analog application, you will obviously never be able to reject sample 1 entirely. So maybe if sample 1 was only weighted half as much by the time you are measuring sample 11... like I said, not super accurate.
I guess this would be for use in a sort of peak-detection circuit, now that I think about it. i.e. compare the magnitude of some transient spike to the average value of the signal over the last x seconds.
My initial application is to detect the "beat" of a music signal. Just to see if I can do it easily enough, but I would like to be able to extrapolate the idea to higher performing circuits.