05-18-2017 12:30 AM
Hi Guys:
I am doing a chime signal recognition project,I have a Midea player,which will play different chime signals,I use a PXI-4462 to acquire the signal,and write it to .wav file,and I have to judge which chime signal is playing.Here I post four different wave files.My question is how to reccognize the signal I get?
05-18-2017 03:17 AM
What is a "Midea" player? Do you mean "media"?
It looks like the chimes are different frequencies. Perform an FFT on the incoming waveform, or use Extract Single Tone Information, and you should be able to find the fundamental frequency and identify which waveform is playing.
05-18-2017 04:39 AM
Yes,it is a Media player,it is my spelling mistake.
Question1:
There is a fact that the wavform I acquire of the chime signal is not the same every time.so I doubt is it right to perform an FFT,the following picture shows my doubt:
Note:Graph2 is part of Graph1,Graph1 is a waveform file of 441000 points.Actually,maybe I will acquire Graph2,or another graph which is also part of Graph1.Although Graph1 and Graph2 have the same Freq,but there FFT spectrum is different.
Question2:
Beep(750Hz) and Gong(750Hz) have the same Freq ,so it's diffcult for me to use fundamental frequency to identify them:
Beep(750Hz) has Freq:272
Gong(750Hz) also has Freq:272
And it's same for the 2000Hz chime signals.
05-18-2017 07:22 AM
You are taking a portion of the last waveform into your FFT in your Graph2 examples. Graph1 is complete and could be looped creating a continuous repeating pattern where that could not happen in Graph2. Try to look either at the periodic sound pulses or the periodic sound pulses including its off time (downtime / quiet time) as the complete periodic waveform to perform the FFT. You need to be consistent.
05-18-2017 07:54 AM
Okay. So FFT is not enough to determine which is which. It can help. So your problem is to figure out what is different about the Beep vs. Gong and determine some other parameters you can analyze and compare.
Note, you will never have something exactly equal to something else. You will have to put some tolerances in your evaluation.
Look at the signal analysis palette. There are functions called convolution and deconvolution that might help.
05-18-2017 08:00 AM
We had already discussed how taking the amplitude would be capable of exhibiting the difference in another post. https://forums.ni.com/t5/Automotive-and-Embedded-Networks/automative-priority-testing/td-p/1088553
Again, as this is sound, the issue is dependent on any number of environmental variables. It will be hard to pick a hard and fast value for what amplitude separates a Beep from a Gong.
05-26-2017 07:28 AM
Hi guys:
I am back.Sorry for absence these days,because I am working on other project.I will update my status for this topic tomorrow,because it is late in china.I have to go home now,byebye!
06-12-2017 12:18 AM
Hi Minions:
I have use another method to judge which chime signal is playing,beep or gong.I use IMAQ Match Pattern,I save the graph to .bmp file and use Match pattern to detect the number of matches,if it is bigger than 0,the chime signal is the type of Template.
You can find the vi in the attachment.
Now I have make it clear that I have the following parameters to measure:
1:Sound duty cycle;
2:Sound cadence Period;
3:Number of repetitions;
Number of repetitions can be measured in the chime check.vi,it is the "Number of Matches ".
My problem is to measure "Sound duty cycle" and "Sound cadence Period".