您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于matlab的IIR数字滤波器课程设计报告
数字信号处理课程设计报告姓名:韩斌学号:200712130专业:通信工程院系:信息工程学院指导教师:陈黎霞王玲1一、课题名称基于matlab的IIR滤波器设计二、课题意义数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。三、数字滤波器原理在数字滤波中,我们主要讨论离散时间序列。如图1所示。设输入序列为nx,离散或数字滤波器对单位抽样序列n的响应为nh。因n在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。图1数字滤波器原理数字滤波器的序列ny将是这两个序列的离散卷积,即kknxkhny(1)同样,两个序列卷积的z变换等于个自z变换的乘积,即数字滤波器nh,H(z)zxnxnyzy2zXzHzY(2)用Tjez代入上式,其中T为抽样周期,则得到TjTjTjeXeHeY(3)式中TjeX和TjeY分别为数字滤波器输入序列和输出序列的频谱,而TjeH为单位抽样序列响应nh的频谱。由此可见,输入序列的频谱TjeX经过滤波后,变为TjTjeXeH,按照TjeX的特点和我们处理信号的目的,选取适当的TjeH使的滤波后的TjTjeXeH符合我们的要求。四、软件设计过程1、采集声音信号2、语音信号的采样及频谱分析3、添加噪声4、设计滤波器5、语音信号滤波6、对滤波前后信号的波形和频谱进行比较7、GUI界面(选做)五、各部分源程序及相应结果1、原始信号的采集及分析源程序:[y1,fs,bits]=wavread('d:\q.wav');sound(y1,44000);%播放语音信号y=fft(y1);%对信号做FFT变换3f=fs*(0:511)/1024;figure(1)subplot(2,1,1);plot(abs(y(1:512)))%做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);%做原始语音信号的时域图形plot(y1)title('原始语音信号波形');xlabel('时间n');ylabel('幅值n');42、信号加燥及相关分析源程序:[y,Fs,bits]=wavread('D:\q.wav');%读出信号,采样率和采样位数。y=y(:,1);%取单声道作分析yl=length(y)%求语音信号长度yy=fft(y,yl);%傅里叶变换t=[0:1/8000:4zeros(1,yl-32001)]';m=0.07*sin(10000*pi*t);%产生噪声n=y+m;%加入噪声nl=length(n)%求语音信号长度nn=fft(n,nl);%傅里叶变换figure(1);subplot(2,1,1);plot(n);title('噪声信号波形')subplot(2,1,2);plot(y);title('原信号波形')figure(2);subplot(2,1,1);plot(abs(nn));title('噪声信号频谱');subplot(2,1,2);plot(abs(yy));title('原信号频谱');sound(n,fs)563、滤波器的设计及相关分析源程序:[y,Fs,bits]=wavread('D:\q.wav');%读出信号,采样率和采样位数。y=y(:,1);%取单声道作分析yl=length(y)%求语音信号长度yy=fft(y,yl);%傅里叶变换t=[0:1/8000:4zeros(1,yl-32001)]';m=0.07*sin(10000*pi*t);%产生噪声k=y+m;%加入噪声kl=length(k)%求语音信号长度K=fft(k,kl);%傅里叶变换fb=800;fc=1000;As=100;Ap=1;fs=44000;wc=2*fc/fs;wb=2*fb/fs;[n,wn]=ellipord(wc,wb,Ap,As);[b,a]=ellip(n,Ap,As,wn);x=filter(b,a,k);s1=length(x);%求语音信号长度X=fft(x,s1);figure(1);freqz(b,a,1000,8000);title('滤波器幅频相频图');figure(2);subplot(3,1,1);plot(y);title('原信号波形')figure(2);subplot(3,1,2);plot(k);title('噪声信号波形')figure(2);subplot(3,1,3);plot(x);title('滤波后信号波形')7figure(3);subplot(3,1,1);plot(abs(yy));title('原信号频谱');figure(3);subplot(3,1,2);plot(abs(K));title('噪声信号频谱');figure(3);subplot(3,1,3);plot(abs(X));title('滤波后信号频谱');sound(x,Fs);89六、设计心得在这次的课程设计过程中,我发现自己的基础知识和应用能力都很差。刚接过课题,按照设计步骤走的时候,在信号的采集和分析上就卡住了,上学期学习的matlab知识都忘得差不多了,以至于这次在设计的时候花费了部分时间来补习如何操作matlab。随着实验的进行,发现自己的数字信号处理课程学得远远不够,不能根据仿真出来的信号频谱对滤波器的参数进行调整以达到最佳的滤波效果。然而,通过这次设计,看了一遍数字信号处理课程关于数字滤波器的设计的内容,再通过利用参考文献与网络,最终完成了用Matlab进行IIR数字滤波器的课程设计。加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。熟悉了MATLAB的运行环境,初步掌握了MATLAB语言在数字信号处理中一些基本库函数的调用和编写基本程序等应用;熟悉了滤波器设计的一般原理,对滤波器有了一个感性的认识;学会了数字高通滤波器设计的一般步骤;加深了对滤波器设计中产生误差的原因以及双线性变换法优缺点的理解和认识。
本文标题:基于matlab的IIR数字滤波器课程设计报告
链接地址:https://www.777doc.com/doc-8502049 .html