I am measuring sound signals using a PCB microphone and NI9234 module. For identical conditions, the fft peak shifts by 2 to 10 Hz on both sides when I take multiple identical samples. Could anyone know the source of change please? The background noise is also similar throughout the measurement.
Many thanks for your reply and time
Please provide more information about the signal source, connections, VI used to capture the signal, sampling rate and some sample data for review.
Thank you Santhosh;
Signal source: bubbling water in a tank
Matlab 2018a to acquire data
Sampling frequency 51200 Hz
sampling time 10 seconds
ICP® Electret Array Microphone model 130A23
Data is so big to upload even for one sample.
What phase noise ( jitter/ frequency shifts) do you expect from a bubbling water tank? 😄
Have a nice weekend 🙂
Do you only care about low frequencies? If so, lower the sample rate by a factor of 10 or more and share multiple datasets. Give us some hints, what should I expect to see/hear from the spectrum of acoustic data from a bubbling tank?
Thank you, Doug.
I am interested in the peaks. If the parameters that bubble the tank do change during measurement, why does my peak frequency shift slightly? I just want to know the source of change.
My data file is more than 10MB, so I am not able to upload it here.
One way to isolate if the shift in the frequency is in fact from the signal or an artefact of your code, connect the AI to a function generator that generates a clean sinewave, now your FFT should be consistent.
If the data file is larger, you can even do a smaller capture like 1 sec instead of the whole 10 sec. Do you think your issue will not be reproduced when using just a 1 sec capture?
BTW, you've not shared your MATLAB code so that any MATLAB experts could review whether you are doing things the right way.
Try Santhosh's suggestion (input a known signal to your system). You could also try somebody else's code ( https://www.ni.com/en-us/support/downloads/drivers/download.dsa-soft-front-panels.html#).
That's the best I can offer with no data and no code.
Many thanks, Santhosh:
I will apply your suggestion
I am using very generic code (attached in the file). I am afraid less than 10 seconds of data may not reproduce the scenario.
Here I have attached a file that contains the code, setup, and frequency domain graph.