课程设计基于MATLAB的FIR滤波器设计.doc

上传人:文库蛋蛋多 文档编号:4142236 上传时间:2023-04-07 格式:DOC 页数:10 大小:95.50KB
返回 下载 相关 举报
课程设计基于MATLAB的FIR滤波器设计.doc_第1页
第1页 / 共10页
课程设计基于MATLAB的FIR滤波器设计.doc_第2页
第2页 / 共10页
课程设计基于MATLAB的FIR滤波器设计.doc_第3页
第3页 / 共10页
课程设计基于MATLAB的FIR滤波器设计.doc_第4页
第4页 / 共10页
课程设计基于MATLAB的FIR滤波器设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《课程设计基于MATLAB的FIR滤波器设计.doc》由会员分享,可在线阅读,更多相关《课程设计基于MATLAB的FIR滤波器设计.doc(10页珍藏版)》请在三一办公上搜索。

1、基于MATLAB的FIR滤波器设计课程设计报告专 业: 通信工程 班 级: 2008114 学 号: 200811403 姓 名: 李 石 指导教师: 许丽 刘明堂 2010 年 6 月 30 日目 录一、 概述31、设计目的32、设计要求33、系统功能3二、滤波器原理3三、软件设计流程51、语音信号的采集52、语音信号的频谱分析53、用滤波器对语音信号进行分析54、回放语音信号6四、源程序代码及整体波形6五、总结8 (要求:给出一级目录,宋体加粗,四号字,1.5倍行距。)一、概述1)设计目的通过对课程设计任务的完成,使我们进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使掌握的基

2、本理论和分析方法方面的知识得到进一步扩展;能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。2)设计要求1、认真独立的完成课程设计。2、通过课程设计,加深对所学知识的理解和认识。3、仿真调试通过,达到预期效果。4、写出设计报告。3)系统功能因对语音信号加噪后如不进行滤波会产生很大的失真,滤波器的作用会把滤波器工作频率以外的频谱成分滤除掉,可较好的回复原语音信号,滤波器的作用在实际工作中的作用也如此,如要传输的信号通过信道后会叠加上高斯白噪声,在解调之前可先通过BPF滤除BPF以外的噪声。二、滤波器原理1)FIR和IIR数字滤波器的选择数字滤波器根据其实现的网络结构或者

3、其冲激响应函数的时域特性,可分为两种,即无限冲击响应IIR滤波器和有限冲击响应FIR滤波器。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器必须采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在极点处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特

4、性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和

5、椭圆滤波器等,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。本次设计中采用的是IIR滤波器,IIR数字滤波器的幅频特性精度较高,且阶数较FIR低,同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等。本次设计中接住了巴特沃斯滤波器的设计。2)FIR滤波器的程序设计由频谱图可以看出信号能量集中在低频部分,为了减少无用的高频分量我设计了以下的FIR低通滤波器将其滤除。该设计采用窗函数法来完成以下指标的低通滤波器。通带截频fp=3000Hz,阻带截频fs=3500Hz,通带最

6、大衰减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、语音信号的采集

7、 利用Windows下的录音机, 录制一段自己的话音, 时间在几秒内。然后在Matlab软件平台下, 利用函数wavread对语音信号进行采样, 记住采样频率和采样点数。x,fs,bits=wavread();2、语音信号的频谱分析 首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。 在Matlab 中, 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。3、用滤波器对语音信号进行滤波 设计滤波器对采集的信号进行滤波, 比较滤波前后语音信号的波形及频谱。要求自己确定滤波器的性能指标,用冲激响应不变法、双线性变换法或窗函数法设计低通滤波器。4、回放语音信号 在Matlab

8、中, 函数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);%

9、信号读取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);

10、 %滤波输出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(输出信号频谱);grid on;2.图形:五、设计总结通过此次课程设计,让我了解到数字滤波是数字信号分析中最重要的组成部分之一,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。同时了解到MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;以及面向对象编程的特性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号