利用matlab小波GUI工具箱对空挡噪声进行滤波

利用matlab小波GUI工具箱对空挡噪声进行滤波:

1、命令wavemenu调出matlab小波GUI工具箱,

利用matlab小波GUI工具箱对空挡噪声进行滤波_第1张图片

2、File->load加载噪声音频文件,wavelet 1-D,选择小波函数,设置阀值对细节部分(高频)进行过滤,

利用matlab小波GUI工具箱对空挡噪声进行滤波_第2张图片

3、 File->Save->De-noised Signal保存滤掉白噪声后的信号到.mat文件,

matlab加载.mat文件到xc,

命令sound(xc,44100)可听去噪后的音频,44100为采样频率。去噪声后变速箱的齿轮敲击声听得更清楚了!

4、wavwrite(xc,44100,'C:\Users\li\Documents\MATLAB\1.wav')保存去噪后的音频文件

5、用其他音频处理软件进行进一步分析,如GoldWave,播放去噪前后的音频,右侧为去噪后的时频谱。

利用matlab小波GUI工具箱对空挡噪声进行滤波_第3张图片

Figure3为spectrogram()做的去噪后的信号STFT时频谱:

%spectrogram
%T = 0:0.001:2;
%Y1 = chirp(T,0,1,150);

[Y,Fs,NBITS]=wavread('1.wav');%1420_noise_
Y1=Y(:,1);plot(Y1)
%[S,F,T,P] = specgram(X,256,250,256,1E3);
%  B = SPECGRAM(A,NFFT,Fs,WINDOW,NOVERLAP)
%specgram(Y1,512,Fs,500,250)

spectrogram(Y1,512,256,512,Fs,'yaxis');
%surf(T,F,10*log10(P),'edgecolor','none'); axis tight;
%view(0,90);

xlabel('Time (Seconds)'); ylabel('Hz');

 

6、从SFTF图谱看,在5.2s左右离合器助力器发出排气声,排气声的频率在2500HZ以上,变速箱敲齿声频带更宽,但是在离合器分离后得到削弱。用GoldWave进行滤波,可得到直观感受!

用小波GUI工具箱连续小波分析也可验证这种情况:

在频率2940HZ时,排气声还比较明显,如下图:

利用matlab小波GUI工具箱对空挡噪声进行滤波_第4张图片

在2520HZ时,排气声已经不明显,在2352HZ,几乎看不到排气声!

利用matlab小波GUI工具箱对空挡噪声进行滤波_第5张图片

你可能感兴趣的:(matlab,数学)