Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by KeplerBoy on Sunday April 07, 2024 @04:45PM
(#39963739)
I'm also curious about the power draw of continuously executing FFTs on a rpi.
Seems like the kind of task where one could easily burn 10 watts, if the wrong FFT Implementation is chosen. You'd absolutely want to do this in DSP hardware.
Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by pdubouilh on Sunday April 07, 2024 @05:23PM
(#39964053)
yeah using a DSP for this definitely makes more sense - but I'm lacking experience in the field. Same goes for using a discrete band-pass filter. This project is more of an attempt at "how can I build something in 2 hours that works reliably" !
For reference, it eats ~25% of the available CPU resources on my rpi zero 2w - which draws a maximum of 350mA, so this implementation definitely draws less than 1 watt.
Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by _Microft on Sunday April 07, 2024 @06:03PM
(#39964362)
1W of continuous power consumption is not great. To put it into perspective: that’s 1x24x365Wh, almost 9kWh per year. A kettle (1.8-2kW) can run for 4-5 hours for that amount of energy. If getting a kettle to boiling takes 5 minutes, that’s almost 50-60 kettles. That’s two month of boiling one kettle a day.
Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by jesse9766 on Sunday April 07, 2024 @08:17PM
(#39965089)
Or, at the rate of $0.30/kWh in California for residential use, $2.70/year. Lowering power usage on embedded devices is important when you're producing thousands, but for a hobbyist it doesn't really matter.
Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by KeplerBoy on Sunday April 07, 2024 @05:41PM
(#39964211)
Nice to see that it consumes barely any power. Looks like a fun and useful project!
Re:Fire alarm audio detection, using FFTs and 184 lines of Go
by a-dub on Sunday April 07, 2024 @05:56PM
(#39964319)
yes and it's very cool! if you're interested in learning, i'd look into the filtering approach.
maybe could try pyfda and the filtering functions in scipy.signal to start playing around.
or if you have access to matlab it has some really excellent filter design tools.
regarding the hardware/dsp: many cpus include simd instructions these days, which basically are an interface to a hidden digital signal coprocessor. :)
i guess it depends on what vector/matrix instructions are being used in the underlying implementations.