[OpenTRV-dev] Audio/FFT thoughts

Kevin Wood EMAIL ADDRESS HIDDEN
Tue Jun 11 11:47:24 BST 2013


Sorry for not being around much lately...

I would wonder if 8ms per second is going to be enough duty cycle, TBH.
Speech itself is going to be fairly sporadic with long silences in an
occupied room and gaps between syllables when the speech is constant.

I appreciate that moving everything into software is going to keep the
hardware cheap and simple, but I wonder if a minimal preamp, filter and
level detector with reasonable current consumption could not be built in
hardware. It could be fired up for tens of seconds at a time and might be
a more reliable indicator of room occupancy than sampling in very short
bursts?

Trying it is the only way to find out, though, I suspect...


Kevin


> Hi,
>
> Some initial thoughts on audio occupancy detection with the ATmega,
> listening out for voice (of a human or their radio/TV being on).  I have
> done no feasibility testing yet.
>
> My current plan is to (~8-bit) sample with the ADC at 16kHz, in bursts of
> about 8ms (between RTC ticks), using a simple exponential filter to reduce
> to 8kHz samples.  Take 64 samples which should allow me to examine
> frequencies in the 4kHz to 500Hz band which probably covers most of
> "voice".
>
> 1) I think that I can probably achieve this sampling rate even at 1MHz CPU
> clock (default Arduino ADC sample rate at 16MHz CPU clock seems to be
> 9600Hz and I have a prescaler to play with).
>
> 2) I only intend to listen when I'm otherwise in danger of thinking the
> room unoccupied, and in any case on a low duty cycle to save juice (eg one
> 8ms sample block per minute or less for example).
>
> 3) I have headroom to boost the CPU speed dynamically to 4MHz if I need to
> (I already dynamically lower it when I need to).
>
> What is hideously silly about this plan already?
>
> Rgds
>
> Damon
>
>
> _______________________________________________
> OpenTRV-dev mailing list
> EMAIL ADDRESS HIDDEN
> http://lists.opentrv.org.uk/listinfo/opentrv-dev
>




More information about the OpenTRV-dev mailing list