第一范文网 - 专业文章范例文档资料分享平台

含噪声的语音信号分析与处理设计

来源:用户分享 时间:2025/6/15 5:03:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

武汉理工大学《专业课程设计》说明书

mag=[0 1]; dev=[p s];

[n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);

b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); %由fir1 设计滤波器 [h,w]=freqz(b23,1); %得到频率响应

axes(handles.axes7);plot(w*12000*0.5/pi,abs(h)); end

if get(handles.radiobutton1,'value') [y,fs,nbits]=wavread ('555'); n = length (y) ; %求出语音信号的长度 noise=0.07*randn(n,2); %随机函数产生噪声 s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换 z13=filter(num13,den13,s); if get(handles.checkbox1,'Value') else

sound(z13); end

m13=fft(z13); %求滤波后的信号 axes(handles.axes6);plot(abs(m13),'r'); axes(handles.axes5);plot(z13); end

if get(handles.radiobutton2,'value') [y,fs,nbits]=wavread ('555'); n = length (y) ; %求出语音信号的长度 noise=0.01*randn(n,2); %随机函数产生噪声 s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换 z23=fftfilt(b23,s);

16

武汉理工大学《专业课程设计》说明书

if get(handles.checkbox1,'Value') else

sound(z23); end

m23=fft(z23); %求滤波后的信号 axes(handles.axes6);plot(abs(m23),'r'); axes(handles.axes5);plot(z23); end

% --- Executes on button press in pushbutton5.带通滤波器设计 function pushbutton5_Callback(hObject, eventdata, handles) if get(handles.radiobutton1,'value') Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; Ft=8000;

wp1=tan(pi*Fp1/Ft); %带通到低通滤波器的转换 wp2=tan(pi*Fp2/Ft); ws1=tan(pi*Fs1/Ft); ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2; bw=wp2-wp1; wp=1;

ws=(wp1*wp2-w.^2)/(bw*w);

[n12,wn12]=buttord(wp,ws,1,50,'s'); %求低通滤波器阶数和截止频率 [b12,a12]=butter(n12,wn12,'s'); %求S 域的频率响应参数

[num2,den2]=lp2bp(b12,a12,sqrt(wp1*wp2),bw);%S 域低通参数转带通

[num12,den12]=bilinear(num2,den2,0.5);%双线性变换频率响应S[h,w]=freqz(num12,den12);%根据参数求出频率响应

17

到Z域

武汉理工大学《专业课程设计》说明书

axes(handles.axes7);plot(w*8000*0.5/pi,abs(h)); end

if get(handles.radiobutton2,'value') Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; Ft=8000;

wp1=tan(pi*Fp1/Ft); %带通到低通滤波器参数转换 wp2=tan(pi*Fp2/Ft); ws1=tan(pi*Fs1/Ft); ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2; bw=wp2-wp1; wp=1;

ws=(wp*wp2-w.^2)/(bw*w);

[n22,wn22]=buttord(wp,ws,1,50,'s'); %求低通滤波器阶数和截止频率 [b22,a22]=butter(n22,wn22,'s'); %求S 域的频率响应的参数

[num2,den2]=lp2bp(b22,a22,sqrt(wp1*wp2),bw); %S 域低通参数转带通

[num22,den22]=bilinear(num2,den2,0.5);%双线性变换频率响应S[h,w]=freqz(num22,den22); %根据参数求出频率响应 axes(handles.axes7);plot(w*8000*0.5/pi,abs(h)); end

if get(handles.radiobutton1,'value') [y,fs,nbits]=wavread ('555'); n = length (y) ; %求出语音信号的长度 noise=0.07*randn(n,2); %随机函数产生噪声 s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换

18

到Z域

武汉理工大学《专业课程设计》说明书

z12=filter(num12,den12,s); if get(handles.checkbox1,'Value') else

sound(z12); end

m12=fft(z12); %求滤波后的信号 axes(handles.axes6);plot(abs(m12),'r'); axes(handles.axes5);plot(z12); end

if get(handles.radiobutton2,'value') [y,fs,nbits]=wavread ('555'); n = length (y) ; %求出语音信号的长度 noise=0.07*randn(n,2); %随机函数产生噪声 s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换 z23=fftfilt(b22,s);

if get(handles.checkbox1,'Value') else

sound(z23); end

m23=fft(z23); %求滤波后的信号 axes(handles.axes6);plot(abs(m23),'r'); axes(handles.axes5);plot(z23); end

% --- Executes on button press in radiobutton1.

function radiobutton1_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0);

% --- Executes on button press in radiobutton2.

19

搜索更多关于: 含噪声的语音信号分析与处理设计 的文档
含噪声的语音信号分析与处理设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ff4y1c8vv4n7xz5ebb2_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top