[OpenTRV-dev] Audio/FFT thoughts

Damon Hart-Davis EMAIL ADDRESS HIDDEN
Tue Jun 11 13:23:30 BST 2013


I can do all sorts of duty cycles, etc; I really need to get an idea of what would actually work.

My instinct is that when the device is getting close to timing out it "is occupied" measure it could increase the duty cycle to be especially attentive for noises.

Another possibility is to add a crappy but very sensitive high impedance low/zero-power mike (eg piezo) on a separate / interrupt input that would wake the main system up to listen if anything interesting was happening.  Dunno.

Rgds

Damon



On 11 Jun 2013, at 11:47, Kevin Wood wrote:

> 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
>> 
> 
> 
> _______________________________________________
> OpenTRV-dev mailing list
> EMAIL ADDRESS HIDDEN
> http://lists.opentrv.org.uk/listinfo/opentrv-dev
> 



More information about the OpenTRV-dev mailing list