您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 长安大学 数字信号处理
《数字信号处理》课程设计报告学院(部)信息工程学院专业电子信息工程班级24030901学生姓名磊哥学号24030901第一部分一、实验目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MATLAB对信号进行分析和处理。二、实验原理参考《数字信号处理》教材。三、主要实验仪器及材料微型计算机、Matlab6.5教学版、TC编程环境。四、实验内容1.语音信号的采集要求利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8.000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,要求理解采样频率、采样位数等概念。wavread函数调用格式:y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。y=wavread(file,N),读取前N点的采样值放在向量y中。y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。3.设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=2800Hz,fp=3000HzAs=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数fir1设计FIR滤波器,然后在用双线性变换法设计上面要求的三种滤波器;之后再利用函数butter和cheby1设计上面要求的三种IIR滤波器。最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。4.用滤波器对信号进行滤波比较FIR和IIR两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。5.比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。6.回放语音信号在MATLAB中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。五、实验思考1.双线性变换法中Ω和ω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从哪几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系?2.能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?六、实验报告要求1.简述实验原理及目的。2.按照实验步骤及要求,比较各种情况下的滤波性能。3.总结实验所得主要结论。4.简要回答思考题。六、实验程序1.语音信号的采集利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8.000KHz,8位,单声道),录制一段自己的话音“信号”,时间控制在1秒左右,然后将音频文件保存“F:\张俊磊录音.wav”。在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。2.语音信号的频谱分析⑴首先画出语音信号的时域波形z1=wavread('F:\张俊磊录音.wav');plot(z1);图如下:②对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性z1=wavread('F:\张俊磊录音.wav');y1=z1(1:8192);Y1=fft(y1);n=0:8191;plot(n,Y1);图如下:3.设计数字滤波器和对信号滤波(1)窗函数设计低通滤波器程序设计如下:clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fp=1000;fc=1200;As=100;Ap=1;Fs=8000;wc=2*pi*fc/Fs;wp=2*pi*fp/Fs;wdel=wc-wp;beta=0.112*(As-8.7);N=ceil((As-8)/2.285/wdel);wn=kaiser(N+1,beta);ws=(wp+wc)/2/pi;b=fir1(N,ws,wn);figure(1);freqz(b,1);x=fftfilt(b,z1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1));axis([0,8000,0,1.0]);title('滤波前信号频谱');subplot(2,2,2);plot(abs(X));axis([0,8000,0,1.0]);title('滤波后信号频谱');subplot(2,2,3);plot(z1);title('滤波前信号波形');subplot(2,2,4);plot(x);title('滤波后信号波形');sound(x,fs,bits);图如下:(2)窗函数设计高通滤波器程序设计如下:clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fp=2800;fc=3000;As=100;Ap=1;Fs=8000;wc=2*pi*fc/Fs;wp=2*pi*fp/Fs;wdel=wc-wp;beta=0.112*(As-8.7);N=ceil((As-8)/2.285/wdel);wn=kaiser(N,beta);ws=(wp+wc)/2/pi;b=fir1(N-1,ws,'high',wn);figure(1);freqz(b,1);x=fftfilt(b,z1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1));axis([0,8000,0,1.0]);title('滤波前信号频谱');subplot(2,2,2);plot(abs(X));axis([0,8000,0,1.0]);title('滤波后信号频谱');subplot(2,2,3);plot(z1);title('滤波前信号波形');subplot(2,2,4);plot(x);title('滤波后信号波形');sound(x,fs,bits);图如下:(3)窗函数设计带通滤波器程序设计如下:clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fp1=1200;fp2=3000;fc1=1000;fc2=3200;As=100;Ap=1;Fs=8000;wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;wp2=2*pi*fp2/Fs;wc2=2*pi*fc2/Fs;wdel=wp1-wc1;beta=0.112*(As-8.7);N=ceil((As-8)/2.285/wdel);ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];wn=kaiser(N+1,beta);b=fir1(N,ws,wn);figure(1);freqz(b,1)x=fftfilt(b,z1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1));axis([0,8000,0,1.0]);title('滤波前信号频谱');subplot(2,2,2);plot(abs(X));axis([0,8000,0,1.0]);title('滤波后信号频谱')subplot(2,2,3);plot(z1);title('滤波前信号波形');subplot(2,2,4);plot(x);title('滤波后信号波形');sound(x,fs,bits);图如下:2、等波纹逼近法(1)低通滤波器clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fs=8000;f=[1000,1200];m=[1,0];rp=1;rs=100;dat1=(10^(rp/20)-1)/(10^(rp/20)+1);dat2=10^(-rs/20);rip=[dat1,dat2];[M,fo,mo,w]=remezord(f,m,rip,fs);hn=remez(M,fo,mo,w);figure(1);freqz(hn);x=filter(hn,1,y1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1));axis([0,8000,0,1.0]);title('滤波前信号频谱');subplot(2,2,2);plot(abs(X));axis([0,8000,0,0.03]);title('滤波后信号频谱');subplot(2,2,3);plot(z1);title('滤波前信号波形');subplot(2,2,4);plot(x);title('滤波后信号波形');sound(x,fs,bits);:图如下:(2)高通滤波器程序:clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fs=8000;f=[2800,3000];m=[0,1];rp=1;rs=100;dat1=(10^(rp/20)-1)/(10^(rp/20)+1);dat2=10^(-rs/20);rip=[dat2,dat1];[M,fo,mo,w]=remezord(f,m,rip,fs);hn=remez(M,fo,mo,w);figure(1);freqz(hn);x=filter(hn,1,y1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1));axis([0,8000,0,1.0]);title('滤波前信号频谱');subplot(2,2,2);plot(abs(X));axis([0,8000,0,0.03]);title('滤波后信号频谱');subplot(2,2,3);plot(z1);title('滤波前信号波形');subplot(2,2,4);plot(x);title('滤波后信号波形');sound(x,fs,bits);图形:(3)带通滤波器程序:clear;closeall[z1,fs,bits]=wavread('F:\张俊磊录音.wav')y1=z1(1:8192);Y1=fft(y1);fs=8000;f=[1000,1200,3000,3200];m=[0,1,0];rp=1;rs=100;dat1=(10^(rp/20)-1)/(10^(rp/20)+1);dat2=10^(-rs/20);rip=[dat2,dat1,dat2];[M,fo,mo,w]=remezord(f,m,rip,fs);hn=remez(M,fo,mo,w);figur
本文标题:长安大学 数字信号处理
链接地址:https://www.777doc.com/doc-3915925 .html