1
votes

I work on a project, where we want to measure the movement of little sea animals. The digital signals are from 0..255 where 0 means no movement and 255 maximal movement.

The problem: The sensors also measure the water movement and so even if the animals do not move, we have a signal. Now I want to try to reduce the "noise" by Noise Reduction methods I know from video cutting (Adobe Audition). I know, Matlab has also Noise Reduction methods, but I never worked with it before so it's quite complicated for me to understand.

Is there a way to export an 1D Array (a normal list with f.e. 4000 samples) to a wav file in MatLab? Should the samples be the pitch/frequency? Or the volume? What is the best way to make the Audio Noise Reduction work? Or am I completely wrong and should go another way?

Here is a example picture of my data (one hour), where the peaks are little movements and the data between ~14 and ~27 is mostly (but not all!) water noise. example signal

Thanks in advance! Greetings, Max

1
there is a difference between noise reduction and noise cancellation, and yes Matlab can do both, but your question is too broad to answer. Yes you can export 1D array as a wav using wavwrite - pitch or full signal depends on the algorithm you want to use, if filtering (i.e. Low pass) then you don't need the pitch, if you are reconstruction or noise cancelling, maybe you can use the pitch. Again, like I said, too broad to provide answer. Maybe you should post this to Signal Processing Stack Exchange to get an idea of what you want to do first. - GameOfThrows
Thanks, I will take a look at your link provided, didn't knew about this site. - Max R.

1 Answers

0
votes

Example of saving a 1D array into a .wav file:

audiowrite('audio_filtered.wav',audio_filt,44100 );

Where audio_filt is your 1D array and 44100 is the sampling frequency.