课程设计---基于MATLAB的FIR滤波器设计.doc_第1页
课程设计---基于MATLAB的FIR滤波器设计.doc_第2页
课程设计---基于MATLAB的FIR滤波器设计.doc_第3页
课程设计---基于MATLAB的FIR滤波器设计.doc_第4页
课程设计---基于MATLAB的FIR滤波器设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

基于matlab的fir滤波器设计课程设计报告专 业: 通信工程 班 级: 2008114 学 号: 200811403 姓 名: 李 石 指导教师: 许丽 刘明堂 2010 年 6 月 30 日目 录一、 概述31、设计目的32、设计要求33、系统功能3二、滤波器原理3三、软件设计流程51、语音信号的采集52、语音信号的频谱分析53、用滤波器对语音信号进行分析54、回放语音信号6四、源程序代码及整体波形6五、总结8 (要求:给出一级目录,宋体加粗,四号字,1.5倍行距。)一、概述1)设计目的通过对课程设计任务的完成,使我们进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使掌握的基本理论和分析方法方面的知识得到进一步扩展;能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。2)设计要求1、认真独立的完成课程设计。2、通过课程设计,加深对所学知识的理解和认识。3、仿真调试通过,达到预期效果。4、写出设计报告。3)系统功能因对语音信号加噪后如不进行滤波会产生很大的失真,滤波器的作用会把滤波器工作频率以外的频谱成分滤除掉,可较好的回复原语音信号,滤波器的作用在实际工作中的作用也如此,如要传输的信号通过信道后会叠加上高斯白噪声,在解调之前可先通过bpf滤除bpf以外的噪声。二、滤波器原理1)fir和iir数字滤波器的选择数字滤波器根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即无限冲击响应iir滤波器和有限冲击响应fir滤波器。iir滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数h(s),然后将h(s)按某种方法转换成数字滤波器的系统函数h(z)。fir滤波器必须采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用fir滤波器。fir滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数h (z)在极点处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。fir数字滤波器的幅频特性精度较之于iir数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。fir数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 fir滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。iir滤波器采用递归型结构,即结构上带有反馈环路。iir滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,iir数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,在设计一个iir数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。本次设计中采用的是iir滤波器,iir数字滤波器的幅频特性精度较高,且阶数较fir低,同时,iir数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等。本次设计中接住了巴特沃斯滤波器的设计。2)fir滤波器的程序设计由频谱图可以看出信号能量集中在低频部分,为了减少无用的高频分量我设计了以下的fir低通滤波器将其滤除。该设计采用窗函数法来完成以下指标的低通滤波器。通带截频fp=3000hz,阻带截频fs=3500hz,通带最大衰减0.3db,阻带最小衰减50db,采样频率fs为信号源采样频率22050hz。源程序如下:fs=22050;%信号的采样频率fc1=1500;%基带信号频率wc1=2*pi*fc1/fs;%相对角频率wp1=2*pi*1000/fs;ws1=2*pi*1200/fs;n1=ceil(200*2*pi/ws1-wp1);window=boxcar(n1+1); %长度为n1的矩形窗windowb1=fir1(n1,wc1/pi,window);figure(1);freqz(b1,1,512); %绘制滤波器的幅频响应图title(低通滤波器的频率响应);三、软件设计流程1、语音信号的采集 利用windows下的录音机, 录制一段自己的话音, 时间在几秒内。然后在matlab软件平台下, 利用函数wavread对语音信号进行采样, 记住采样频率和采样点数。x,fs,bits=wavread();2、语音信号的频谱分析 首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。 在matlab 中, 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。3、用滤波器对语音信号进行滤波 设计滤波器对采集的信号进行滤波, 比较滤波前后语音信号的波形及频谱。要求自己确定滤波器的性能指标,用冲激响应不变法、双线性变换法或窗函数法设计低通滤波器。4、回放语音信号 在matlab中, 函数sound 可以对声音进行回放,其调用格式: sound (x, fs, bits);四、源程序代码及整体波形1.程序代码:fs=8000;fc1=1500;wc1=2*pi*fc1/fs;wp1=2*pi*1000/fs;ws1=2*pi*1200/fs;n1=ceil(200*2*pi/ws1-wp1);window=boxcar(n1+1); %长度为n1的矩形窗windowb1=fir1(n1,wc1/pi,window);figure(1);freqz(b1,1,512);title(低通滤波器的频率响应);x,fs,bits=wavread(d:/音乐/录音.wav);%信号读取n= length (x) ; %求出语音信号的长度%sound(x,fs,nbits); %回放语音信号x=fft(x,n);figure(2)%傅里叶变换subplot(211);plot(x);title(原始信号波形);subplot(212);plot(abs(x);title(原始信号频谱)sound(x,fs);si=awgn(x,40)figure(3)subplot(211);plot(si)title(加噪语音信号的时域波形);y1=fft(si);subplot(212)plot(abs(y1);title(加噪信号的频谱);y=filter(b1,1,si); %滤波输出figure(4)%绘制输入信号subplot(2,1,1); plot(si),title(输入信号)%绘制输出信号subplot(2,1,2);plot(y) title(输出信号)sound(y,fs);%输入输出频谱x=fft(si);y=fft(y);figure(5);subplot(2,1,1);plot(abs(x);xlabel(频率);ylabel(幅度);title(输入信号频谱);grid on;subplot(2,1,2);plot(abs(y);xlabel(频率);ylabel(幅度);title(输出信号频谱)

温馨提示

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

评论

0/150

提交评论