01-08-2022 06:40 PM
Hello all,
I'm quite new to LabVIEW and been working on recording my voice via LabVIEW - save the file in .wav format - import the recording in another project- adding sinusoidal noise to the recording - filtering the noise using filter.
so far I have been able to create and save my recording as .wav file and import it to my second project, however, I'm facing difficulties in filtering the noise.
when I add function generation instead of my voice, i can see the filter is working both in time and frequency domain however, when I add my recording as an input, things starts to get messy. i used simulate signal function to generate the sine wave with noise with frequency of 1000hz then i used the filter to filter out my voice but the noise keeps showing up in filter output. I have attached both my recording and filter circuit if someone can help me out.
thanks
01-08-2022 07:48 PM
I think the problem you are having might be how you think about "signals" and "filters". It is fairly simple to design a filter to remove "noise" from a sinusoid -- if you were to take a spectrum of, say, a second of the noisy sinusoid, you could do some signal analysis and say "This is mostly a frequency at 243 Hz plus noise mostly >700 Hz, so I'll simply low-pass filter at 400 Hz (and accept some phase shift in the filtered signal)." But speech consists of rapidly-changing sounds of differing frequencies and spectral content, so now you need to handle a time-varying signal which suggests that you need time-varying spectral analysis.
Have you ever heard of a spectrograph? This is an instrument that plots changing spectra as a function on time. Yes, LabVIEW can do this, but you should spend a little time and learn about why and how you think about and analyze such "real-world signals".
Just for fun, here are some spectrograms from bats flying near Austin, TX, home of NI .
Bob Schor