Messure ac volume rising speed - Page 1
Forum section: electronics / beginners

author: framlin
author_rank: Newbie
timestamp: March 28, 2016, 07:56:51 am
content: Servus,I want to create a circuit, that can messure, how fast the volume of an ac signal rises.If the volume reaches a defined level (starting by 0) too fast (eg under 200 ms) a red led should go on.If the volume has not reached the critical level at the messure-point in time, a green led should go on.With volume the abs(volume) is meant.The ac signal is an audio-signal (voice) genarated ba a microphone and an amplifier. So what I want to messure is, if the voice is going too loud, too fast.My current idea is, to do this with op-amps, biased as differentiators or an op-amp biased as comparator together with a 555, to messeure the elapsed time.I am an electronics noob, coming from the software-side of the technical world.If anybody has any ideas or hints, how I can do this voice-volume-speed-mesurement, I would appreciate this very much.

author: michaeliv
author_rank: Frequent Contributor
timestamp: March 28, 2016, 08:26:25 am
content: A purely analog circuit for this would be difficult to construct if you don't have a trigger in that would tell you when to start measuring.Do you have a trigger in? As in do you press a button and after 200ms the device will either flash red or green depending on whether the volume increased too fast in the previous 200ms ?An easier solution would be an arduino. The built-in ADC of an arduino can sample at about 10k/s. This should be enough to give you good accuracy. And it will be much easier to implement the logic in software.

author: framlin
author_rank: Newbie
timestamp: March 28, 2016, 09:34:08 am
content: @michaeliv: thanks for your answer.I wanted to have a short silence-period as a trigger. So there is no button, but if there is silence followed by a small volume of the voice, the messurement should start.This is another challengeI have to distinct vioce from environmental noise.If I would do that in software ( I actally have done this 20 years ago with delphy on a pc) I would use a fft to filter human voice.I know, that I have to filter a band between 100 and 200 Hz.So I know, how to do that in Software, but I want to do it in hardware, to have a low-powered wearable device.At the end, I want to have something, that is mounted on a necklace, that is vibrating, if I speak too fast to loud ....So my fear is, that an atmega328 is not powefull enough and needs to much power.I did some experiments with a stm32f04, but I would like to have an analog circuit at most, if it would be possible.

author: danadak
author_rank: Super Contributor
timestamp: March 28, 2016, 11:46:54 am
content: You might consider doing a rms converter to extract rms value of voice, rather than somearbitrary value. The triggering is simple and consistent.Consider a PSOC, it has the analog stuff, and a DFB (digital filter block), and can achievelow power. Quite a few videos on their web site for training, in fact there is a project thatdoes a complete signal path filter from input pin to output pin.http://www.cypress.com/products/32-bit-arm-cortex-m3-psoc-5lpThere is also PSOC Bluetooth family, PSOC 4 based, but filter would have to bedone analog or SW based FFT, and there has been an FFT project somewhere intheir forums, on PSOC 4.http://www.cypress.com/products/psoc-4-ble-bluetooth-smartRegards, Dana.

author: framlin
author_rank: Newbie
timestamp: March 28, 2016, 12:42:15 pm
content: @Dana: Tank you for this PSoC-hint, I wll have a look at it.