Best MCU (or FGPA) for signal processing (beginer) ? - Page 1
Forum section: electronics / general

author: daslolo
author_rank: Regular Contributor
timestamp: April 23, 2018, 06:24:46 am
content: And the purpose of this is to do signal recognition.For N input such as noise, V/time I am testing a theory that I can have a self contained device recognize machine.What do you folks recommend that's either easy to program or very well documented to dive into?

author: andyturk
author_rank: Frequent Contributor
timestamp: April 23, 2018, 02:16:56 pm
content: Maybe better to do your first (beginner) signal processing on a conventional computer. Use Matlab, C, or whatever. That allows you to get right to the heart of whether your "algorithm" works before having to deal with mcu/fpga tooling.All you need to get started is some pre-recorded data that looks sufficiently close to what your actual sensors will provide.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 23, 2018, 02:19:34 pm
content: Quote from: andyturk on April 23, 2018, 02:16:56 pmI completely second that!That said, maybe the author has already gone through this process. If so, it's hard to suggest a platform without knowing more about the algorithms, the type of analysis/transforms used, and the targetted sample rate.

author: rstofer
author_rank: Super Contributor
timestamp: April 23, 2018, 02:25:04 pm
content: Definitely Matlab...Analog Devices Blackfin is intended for DSP as is the SHARC which has floating point hardware.If you really want to get your hands dirty, most modern FPGAs have DSP hardware components.https://www.xilinx.com/video/fpga/artix-7-fpgas-for-dsp.html

author: FlyingDutch
author_rank: Regular Contributor
timestamp: April 23, 2018, 05:08:28 pm
content: Hello,you didn't write what signals are you going to process? If you mean audio signals then STM32-Nucleo has DSP functions built-in. I mean two series of STM32Nucleo: STM32-F4 and STM32-F7 .The first family is based on ARM Cortex-M4 and second on ARM Cortex-M7);Both families have FPU and DSP blocks. See link:http://www.st.com/en/microcontrollers/stm32f777vi.html#sw-tools-scrollThere areSTM32 Audio processing SW libraryand other tools for audio processing:http://www.st.com/en/embedded-software/stm32-audio100a.htmlhttps://dspconcepts.com/stAs one colleague said - most of modern FPGA families have hardware multipliers and DSP blocks (there are also some free IP Cores for DSP: CORDIC, Filters, Calculus transforms for example FFT). For example Xilinx Spartan3E and Spartan6 families have DSP blocks (these are cheap families of FPGA).If you mean processing vision signals you should take into consideration more powerful families of FPGA (vision processing systems) or strong GPU with CUDA or OpenCL technology on the PC platform.BTW: "signal recognition" is also related to "Machine Learning" (or AI) and this is a bit different story then general DSP.For "pattern recognition" (not only signals) you can use some matured algorithms. For example:1) SVM (Support Vector Machine) - it has implementations in Matlab and C languageshttps://en.wikipedia.org/wiki/Support_vector_machinehttps://www.mathworks.com/help/stats/support-vector-machine-classification.htmlThe SVM algorithm is often used together with PCA (Principal Component Analysis). PCA is used to determine portions of pattern carrying most of variability (It is done before SVM). See link:https://en.wikipedia.org/wiki/Principal_component_analysis-----------------------------------------------2) Neural Networks (today there are many types of it) - also implementation in Matlab, C++, Pythonhttps://www.mathworks.com/products/neural-network.htmlKind Regards.

author: BBBbbb
author_rank: Unknown
timestamp: April 23, 2018, 07:44:22 pm
content: I do hope all those AI (well mostly CNN) chips being developed by many bigger players will come to the masses soon. That will be fun in.

author: daslolo
author_rank: Regular Contributor
timestamp: April 23, 2018, 11:34:24 pm
content: Quote from: BBBbbb on April 23, 2018, 07:44:22 pmThe beauty of NN is that once trained they require very little juice. The difficulty of NN is training so let's see what that would take:Bath the sensors in room, turn off the fuse box and all the machines, tell the NN this is ambient noise and sit there for a days to handle night and day time ambient people activity. Then come back in, turn on the fuse box and tell the NN this is the fuse box with ambient noise, let it iterate for a while. Same for motor #1, motor #2, both motors. continue with all the permutations and then take off the training wheel and let the NN figure out what's on.There's got to be a better way that doesn't require baby sitting or sensing the EM field in some faraday cage.

author: BBBbbb
author_rank: Unknown
timestamp: April 23, 2018, 11:50:15 pm
content: Quote from: daslolo on April 23, 2018, 11:34:24 pmFor your case parametric is the way to go, not NN.I was just having a wet dream about those NN chips being available soon. Anyways without a possibility to train the NN on your PC (and use the GPU) and then transfer the knowledge to the chip it wouldmake things harder.I can't remember if it was on the AMP hour or embedded.fm that they talked about this company that does signal processing of the current and voltage data gathered at your service panel and can determine what is on and off. Maybe I'm wrong, but it could have been that they said they only monitor the input lines... Really cool stuff...

author: daslolo
author_rank: Regular Contributor
timestamp: April 25, 2018, 08:38:59 am
content: Still, NN hardware for youhttps://www.amazon.com/Intel-NCSM2450-DK1-Movidius-Neural-Compute/dp/B076751BN8/ref=sr_1_2?ie=UTF8&qid=1524645314&sr=8-2&keywords=Intel%C2%AE+Movidius%E2%84%A2+Neural+Compute+StickHow do I approch parametric? Or SVM with code? I see these graphs and lines and then formulas and my mind good *poof*

author: BBBbbb
author_rank: Unknown
timestamp: April 25, 2018, 03:50:52 pm
content: Quote from: daslolo on April 25, 2018, 08:38:59 amSo you want sound analysis in a room if I understood correctly.Like some mentioned previously, I'd get it recorded and than just play around with different techniques in Matlab. Close to no code needed, but you need to know the basic theory behind the methods. I'm sure you'll find any technique you want to try usually in form of a single function in Matlab's signal processing toolbox. There's a full version of Matlab available for free for one month. Also Matlab can (usually) spit out C code for what you do, but I haven't found it to be too good...First try to acquire good signal (might not be as easy as you think). You'd probably need some preprocessing (filtering...) prior to using classification.Regarding the methods to use... well it depends, if you're lost I'd recommend going through some MOOC on signal processing and classification to get some ideas.