课程设计-加噪和滤波.ppt_第1页
课程设计-加噪和滤波.ppt_第2页
课程设计-加噪和滤波.ppt_第3页
课程设计-加噪和滤波.ppt_第4页
课程设计-加噪和滤波.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理课程设计,课程设计目的,学会MATLAB的使用,掌握MATLAB的程序设计方法; 掌握在Windows环境下语音信号采集的方法; 掌握数字信号处理的基本概念、基本理论 和基本方法; 掌握MATLAB设计FIR和IIR数字滤波器的方法; 学会用MATLAB对信号进行分析和处理。,课程设计内容,1、录制一段语音信号,对语音信号进行频谱分析; 2、给原始的语音信号加噪声,画出加噪后的语音信号进行频谱分析; 3、设计性能良好的滤波器对信号进行滤波; 4、对语音进行回放,并与滤波后的语音信号对比。,语音信号的获取,用windows录音机录一段话,时间在3秒以内。 (开始程序附件娱乐录音机,文

2、件属性立即转换8000KHz,8位,单声道) 在MATLAB软件平台下,利用函数wavread对语音信号进行采样,并画出它的时域波形和频谱。,用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱,clear all; clc; fs=22050; %语音信号采样频率为22050 x1=wavread(C:1.wav); 读取语音信号的数据,赋给变量x1 t=(0:length(x1)-1)/22050; y1=fft(x1,2048); %对信号做2048点FFT变换 f=fs*(0:1023)/2048; figure(1) plot(t,x1) %做原始语音信号的时域图形,grid

3、 on;axis tight; title(原始语音信号); xlabel(time(s); ylabel(幅度); figure(2) plot(f,abs(y1(1:1024) %做原始语音信号的FFT频谱图 grid on;axis tight; title(原始语音信号FFT频谱) xlabel(Hz); ylabel(幅度);,原始语音信号波形及频谱,产生噪声信号及噪声与信号叠加,clear all; clc; fs=22050; x1=wavread(C:1.wav); %读取语音信号的数据,赋给变量x1 t=(0:length(x1)-1)/22050; f=fs*(0:1023

4、)/2048; Au=0.05; d=Au*cos(2*pi*3800*t); %噪声为3.8kHz的余弦信号 x2=x1+d; y1=fft(x1,2048); y2=fft(x2,2048); figure(1) plot(t,x2) grid on;axis tight;,title(加噪后的信号); xlabel(time(s); ylabel(幅度); figure(2) subplot(2,1,1); plot(f,abs(y1(1:1024);grid on;axis tight; title(原始语音信号频谱); xlabel(Hz);ylabel(幅度); subplot(2

5、,1,2); plot(f,abs(y2(1:1024);grid on;axis tight; title(加噪语音信号频谱); xlabel(Hz);ylabel(幅度);,加噪声后的信号波形,加噪声前后信号频谱对比,设计低通滤波器,clear all; clc; fs=22050; x1=wavread(C:1.wav); %读取语音信号的数据,赋给变量x1 t=(0:length(x1)-1)/22050; f=fs*(0:1023)/2048; Au=0.05; d=Au*cos(2*pi*3800*t); %噪声为3.8kHz的余弦信号 x2=x1+d;,wp=0.3*pi; ws

6、=0.35*pi; Rp=1; Rs=15; Fs=8000; Ts=1/Fs; wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标 ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s); %选择滤波器的最小阶数 Z,P,K=buttap(N); %创建butterworth模拟滤波器 Bap,Aap=zp2tf(Z,P,K); b,a=lp2lp(Bap,Aap,Wn);,滤波,bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换 H,W=freqz(bz,az); %绘制频率响应曲线

7、figure(1) plot(W*Fs/(2*pi),abs(H) grid on;axis tight; xlabel(频率(Hz)) ylabel(频率响应) title(Butterworth) f1=filter(bz,az,x2);,figure(2) subplot(2,1,1) plot(t,x2) %画出滤波前的时域图 grid on;axis tight; title(滤波前的时域波形); subplot(2,1,2) plot(t,f1); %画出滤波后的时域图 grid on;axis tight; title(滤波后的时域波形); y3=fft(f1,2048);,滤波

8、,figure(3) y2=fft(x2,2048); subplot(2,1,1); plot(f,abs(y2(1:1024); %画出滤波前的频谱图 grid on;axis tight; title(滤波前的频谱) xlabel(Hz); ylabel(幅度);,subplot(2,1,2) plot(f,abs(y3(1:1024); %画出滤波后的频谱图 grid on;axis tight; title(滤波后的频谱) xlabel(Hz); ylabel(幅度); sound(x1,8000);,滤波,设计高通滤波器,clear all; clc; fs=22050; x1=w

9、avread(C:1.wav); %读取语音信号的数据,赋给变量x1 t=(0:length(x1)-1)/22050; f=fs*(0:1023)/2048; Au=0.05; d=Au*cos(2*pi*3800*t); %噪声为3.8kHz的余弦信号 x2=x1+d;,wp=4400*2*pi; wp1=wp*2*pi; ws=4000*2*pi; ws1=ws*2*pi; rp=0.3; rs=15; Fs=300000; N,Wn=cheb2ord(wp1,ws1,rp,rs,s); %选择滤波器的最小阶数 Z,P,K=cheb2ap(N,rs); %创建butterworth模拟滤

10、波器 A,B,C,D=zp2ss(Z,P,K); AT,BT,CT,DT=lp2hp(A,B,C,D,Wn); AT1,BT1,CT1,DT1=bilinear(AT,BT,CT,DT,Fs); num,den=ss2tf(AT1,BT1,CT1,DT1); H,W=freqz(num,den); %绘制频率响应曲线,滤波,figure(1) plot(W*Fs/(2*pi),abs(H) grid on;axis tight; xlabel(频率(Hz)) ylabel(频率响应) title(Butterworth) f1=filter(num,den,x2); figure(2) sub

11、plot(2,1,1) plot(t,x2) %画出滤波前的时域图 grid on;axis tight; title(滤波前的时域波形); subplot(2,1,2) plot(t,f1); %画出滤波后的时域图 grid on;axis tight; title(滤波后的时域波形); y3=fft(f1,2048);,figure(3) y2=fft(x2,2048); subplot(2,1,1); plot(f,abs(y2(1:1024); %画出滤波前的频谱图 grid on;axis tight; title(滤波前的频谱) xlabel(Hz); ylabel(幅度); subplot(2,1,2) plot(f,abs(y3(1:1024); %画出滤波后的频谱图 grid on;axis tight; title(滤波后的频谱)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论