| Electronics > Beginners |
| sound analyzer for automating quality checks? |
| << < (6/10) > >> |
| engineheat:
--- Quote from: rhb on January 16, 2019, 01:33:12 am --- How much tolerance do you have for serious mathematics? You don't need to actually learn the details anymore than you need to learn the details to do an FFT, but you will need to not run away in fear. --- End quote --- I have decent mathematical background, however, I hope to use a method that's more easily explained to people. A black box approach will not help this get adopted. Can we use some more traditional machine learning method like regression, support vector machine etc, or decision tree? Just need a handful of good attributes to use. I don't have a ton of data (sample motors) at this point anyway. Thanks |
| rhb:
This is work done in 2004. It's also very easy to explain accurately in a non-mathematical manner. I have no idea what "deep learning" is. A friend has been doing a lot of work with support vector machines, but personally I know nothing about them. I could go into a long essay about the problems with neural nets, etc, but it's really pointless. The following description assumes that you can run the motors individually at different speeds during the test. If that's not the case then you'll need to omit the part about identification of the bad motor in the assembly. "We have collected sample recordings of good motors and bad motors and put them in a dictionary of motor recordings. As we identify new quality control issues we add them to the dictionary. When a motor is tested, the 4 sample recordings which best match the motor being tested are selected. If any of those samples was taken from a defective motor, the assembly is diverted for rework. along with the identification of which motor in the assembly is defective." That's an easy concept to grasp and is an accurate description. The mathematical proof that the result is correct is the part that's hard. Read the introduction to this paper. It's an excellent introduction to the field. https://statistics.stanford.edu/research/most-large-underdetermined-systems-linear-equations-minimal-l1-norm-solution-also-sparsest |
| MasterT:
Reminds me "voice recognition" project, I've done once with arduino AtMega32u4. Not in any way an expert in the field, my thoughts were simple, having FFT "waterfall" - picture, so all bla-bla math boils down to pattern recognition in the image. There is excellent book: http://101science.com/dsp.htm --- Quote ---We will demonstrate FFT convolution with an example, an algorithm to locate a predetermined pattern in an image. --- End quote --- http://www.dspguide.com/ch24/6.htm Arduino easily recognized single word commands (memory limits put constrain 1 sec.), so I had a difficulty to pronounce the same word twice with 80% match. There was no problem if my computer says "Speaker Test" twice - result was better than 96%. |
| rhb:
--- Quote from: MasterT on January 16, 2019, 03:44:15 pm --- --- Quote ---We will demonstrate FFT convolution with an example, an algorithm to locate a predetermined pattern in an image. --- End quote --- http://www.dspguide.com/ch24/6.htm --- End quote --- I had some concerns when I read that, but a quick skim of the link showed that it was doing things properly. That is the 1940's Norbert Wiener approach. Still perfectly valid and useful, but not as powerful as a sparse L1 pursuit. The reason being that it's L2 (least squared error). But until recently L2 was all one could afford computationally and even that was often a strain on a VAX 11/780. An L2 solution smears the result which L1 does not do. However, you can get close to an L1 using reweighted least squares or using singular value decomposition and truncating the eigenspectrum of a Karhunen-Loeve Transform (KLT). The latter was my tool of choice for problems like this until 2013 when I learned of the work by Donoho and Candes. What brought their work to my attention was when I realized that basis pursuit following the description in Mallat's 3rd ed was doing things I *knew* based on many years of using the SVD-KLT approach were impossible. As I had almost 30 years experience with SVD-KLT, that *really* got my attention. SVD-KLT is very powerful in good hands. |
| engineheat:
Thanks, you've been very helpful. I made lots of progress on this. I guess another quick question is that I used a sample rate of 44100 hz, but each frame is 1024 (or 2048 in another version). This means my frequency resolution will not be a integer. Is that a problem? Should I use a sample rate that is a multiple of the frame size? |
| Navigation |
| Message Index |
| Next page |
| Previous page |