版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Matlab的FIR滤波器设计与仿真一、实验目的1、掌握基本的MATLAB编程方法;2、了解FIR滤波器的设计原理;3、学习使用MATLAB编程实现FIR滤波器;4.掌握simulink交互仿真基础,仿真FIR滤波器模型;5. 学会分析得到的结果。二、实验内容1.创建数据源:用电脑采集或用软件截取5到10秒的语音(比如“大学”)(注意使用wavread功能将语音文件读入matlab时,有“右声道”和“左声道”两个信号,只要其中一个声道作为信号即可。 )2 、信号中混入随机噪声(注意信噪比,噪声强度不宜过大) :预先取一个参考值 0 ,然后取噪声的方差。方差的值是根据原始语音的幅度取的噪声。
2、噪音强度不宜过大或过小,适中即可。然后,通过randn(size(a) .* sqrt(noise_var) + noise_mu;生成与原始语音长度相同的随机噪声;语句,最后将这个噪声加入到原始语音中,得到一个加了噪声的语音信号。3.设计一个FIR滤波器来处理之前的混合信号,降低噪声,分析性能:有限长度单位脉冲响应(FIR)数字滤波器具有严格的线性相位和任意幅频特性。同时, FIR系统只有零点,系统稳定,易于实现线性相位,内容实现多通道滤波器。任何非因果有限长序列经过一定的延迟后,都可以变成因果有限长序列,因此它总是可以由一个因果系统来实现。由于FIR滤波器的单位冲激响应是有限的,因此可以使
3、用快速傅里叶变换(FFT)算法对信号进行滤波,从而大大提高运算效率。由于FIR滤波器的上述优点,它已被广泛应用于信号处理和数据传输中。利用窗函数设计滤波器是FIR数字滤波器设计的主要方法之一。它非常实用,因为它操作简单,遵循封闭式公式。有限长度FIR数字滤波器的设计方法主要是窗函数设计方法。常用的窗函数有:矩形窗、三角形窗、汉宁窗、汉明窗、布拉克曼窗、凯泽窗( =7.865)。各种窗函数的基本参数比较见下表1 。由表1得到的矩形窗虽然简单,但具有明显的吉布斯效应,主瓣与第一旁瓣之比仅为13dB。为了克服这些缺陷,可以在设计时根据给定的过滤器技术指标来选择过滤器。长度 M 和窗口函数 w(n)
4、使其具有最窄的主瓣宽度和最小的旁瓣4.使用Simulink设计和仿真FIR滤波器模型,分析结果:Simulink 创建模型并找到现实问题的解决方案。您可以使用它轻松构建系统模型并设置模型和仿真参数。由于 Simulink 是一个交互式应用程序,在仿真过程中,可以在线修改仿真参数,并且可以立即观察到修改后的仿真结果。本文将介绍在Simulink环境下使用数字滤波器设计模块进行信号处理(滤波)的可视化设计技术。由于使用了Matlab高度集成化、可视化的计算机仿真环境,用户只需用鼠标拖放、点击即可完成复杂数字滤波器的设计,无需编写任何程序语句。下面通过一个应用实例介绍这种基于可视化的信号滤波技术,使
5、用数字滤波器设计模块来设计、分析和实现滤波器。三、实验结果与分析1.创建数据源:我用电脑录了一个同学的演讲,内容是:现代语音处理技术。声音大约 4.5 秒长。然后使用wavread函数将语音文件读入matla b,其实现语句如下:a,fs=wavread(现代语音处理技术.wav);%朗读语音a=a(:,1);由此我们知道fs语音的采样频率。2.随机噪声混入信号中:噪声_mu = 0;噪声变量=0.005;a0= randn(size(a) .* sqrt(noise_var) + noise_mu;a1=a+a0;预先取一个参考值0,然后取噪声的方差为0.005。 0.005 是根据原始语音
6、幅度取的噪声。噪声强度不宜过大或过小,应适中。然后使用randn(size(a) .* sqrt(noise_var) + noise_mu;语句生成与原始语音长度相同的随机噪声,最后将此噪声添加到原始语音中,得到a1是信号中混有随机噪声的语音。3.设计 FIR 滤波器:3.1。 FIR滤波器设计原理:首先对原始语音进行FFT变换,从FFT图中得到通带和阻带,由此可以知道FIR滤波器的截止频率。确定我们是选择使用低通、高通还是带通来处理嘈杂的语音。 然后我们通过:fence=input(Hz=);mval=input(每个波段中所需的幅度值=);dev=input(每个波段的期望纹波=);FT
7、=input(采样频率Hz=);输入来自 FFT、通带和阻带、低通或高通、带通、通带纹波和阻带纹波的数据,以匹配从 wavread 函数获得的采样频率 fs。经过:N,fpts,mag,wt=remezord(fedge,mval,dev,FT);b=remez(N,fpts,mag,wt);生成滤波器的阶数N和滤波器的系数b。 然后将带噪语音a1与b进行卷积: a11=conv(b, a1)得到滤波后的语音信号。3.2、 FIR滤波器设计方案:a,fs=wavread(Current Speech processing technology.wav);%读入大学演讲a=a(:,1);FS=长
8、度(一);f=0:fs/FS:(FS-1)*fs/FS;% 执行 FFT 变换x=fft(a);图1)plot(f,abs(x);title(原始信号a的fft图);轴(0 45000 0 1000);xlabel(f);ylabel(abs(x);网格开启;% 设置 FIR 滤波器长格式fence=input(Hz=);mval=input(每个波段中所需的幅度值=);dev=input(每个波段的期望纹波=);FT=input(采样频率Hz=);N,fpts,mag,wt=remezord(fedge,mval,dev,FT);b=remez(N,fpts,mag,wt);disp(FIR
9、 滤波器系数);显示(b)h,w=freqz(b,1,256);%画出幅频特性图(2)子图(2,1,1);plot(w/pi,20*log10(abs(h);title(幅频特性);xlabel(omega/pi);ylabel(增益,分贝);网格开启;%画出相频特性子图(2,1,2)相=角度(h); % 得到相位plot(w/pi,pha);title(相位频率特性);xlabel(omega/pi);ylabel(相位(Rad);% 原始语音信号图ts=1/fs;ta=(长度(a)-1)/fs;t=0:ts:ta;图(3)子图(3,1,1);plot(t,a);title(原始信号a);x
10、label(t);ylabel(a);网格开启;%添加随机噪声噪声_mu = 0;噪声变量=0.005;a0= randn(size(a) .* sqrt(noise_var) + noise_mu;a1=a+a0;% 将随机噪声添加到原始信号的信号图子图(3,1,2);plot(t,a1);title(将噪声信号 a1 添加到原始信号);xlabel(t);ylabel(a1);网格开启;% 找到卷积a11=conv(b,a1);% 滤波后的信号图M=(长度(a11)-1)/fs;m=0:ts:M;子图(3,1,3);plot(m,a11);title(过滤后的信号 a11);xlabel(
11、m);ylabel(a11);网格开启;3.3. FIR滤波器设计的结果和分析:3.31。用原声朗读:a,fs=wavread(现代语音处理技术.wav);%朗读语音a=a(:,1);fs结果: fs =441003.32。运行上述程序,得到图形和数据如下:图1:原始语音信号的FFT图:由此我们知道通带Fp=2000,阻带Fs=5000,我们使用低通滤波器1 0,知道fs=44100,我们可以在命令窗口输入如下数据,回车结束。以 Hz 为单位的频带边缘=2000 5000每个波段中所需的幅度值=1 0每个波段中所需的纹波=0.015 0.01采样频率Hz=44100 图2:图2:FIR滤波器的
12、幅频特性和相频特性图:图3:原始语音a、噪声语音a1、过滤语音a11的图形:输出滤波器的系数如下:FIR 滤波器系数第 1 至 4 列0.537 -0.558 -0.428 -0.944第 5 至 8 列-0.353 -0.962 -0.722 -0.676第 9 至 12 列0.194 0.435 0.906 0.741第 13 至 16 列0.638 0.351 0.351 0.638第 17 至 20 列0.741 0.906 0.435 0.194第 21 至 24 列-0.676 -0.722 -0.962 -0.353第 25 至 28 列-0.944 -0.428 -0.558
13、0.537从上面的滤波效果来看,这个低通滤波器的效果还不错。它基本上可以过滤掉原始语音。虽然它不能很好地滤除噪音,但它不能区分语音的听觉效果。和原声有什么区别,效果还是不错的。4.使用Simulink设计FIR滤波器模型并进行仿真,分析结果Simulink设计了一个 27 阶的滤波器。图如下。下图是simulink的总体设计模型,其中我们可以看到示波器可以显示三路波形,第一路是原始语音信号的波形,第二路是加噪语音的波形信号,第三路是对加噪语音信号进行滤波后的语音信号的输出。比较原始语音信号与滤波后的语音信号的差异,从而判断滤波器的滤波效果是否合格。上图中的Filter过滤器是通过封装下图所示的
14、子系统得到的。子系统设计了一个27阶的FIR滤波器,滤波器系数为利用MATLAB实现上述滤波器设计得到的滤波器。共有 28 个系数。我设计的simulink模型如下图所示:原始语音的from工作空间设置如下:其中Data为t ,a,Sample time为ts,处理数据时,最终输出数据设置为零。加噪原始语音的from工作空间设置如下:其中Data为t ,a1,Sample time为ts,在处理数据时,将最终输出数据设置为零。在运行simulink之前,我将simulink的参数设置如下:用simulink仿真的结果如下:从仿真结果可以看出,原始语音、加噪语音和滤波后的语音是相同的。由此可见,
15、FIR滤波器对加噪语音有一定的过滤作用。过滤后的语音接近原始语音。如果我们从听觉的角度来分析,我们很难区分这两种语音的区别,所以这个 FIR 滤波器在一定程度上对语音有很好的过滤效果。四、实验经验:在本实验中,在对MATLAB的了解的基础上,更加熟练地应用MATLAB编程实现FIR滤波器设计,从而学习使用simulink设计FIR滤波器,并模拟滤波效果。在这个实验开始时,我只有基本的 MATLAB 知识和相关的 FIR 滤波器设计原理。开始用 MATLAB 编程对我来说还是有点困难,但是通过查阅相关资料,仔细阅读老师提供的资料,我逐渐对 FIR 滤波器设计的实现有了初步的程序大纲,然后我花了编程花了将近一天时间,中间遇到了很多困难,因为对函数的使用不熟悉,但在老师的帮助下,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度活动板房销售与体育场馆临时设施合同
- 2025年度农村土地院子使用权转让合同
- 高效节能家电产品助力绿色生活
- 二零二五年度农业科技股权分配及种植养殖合同范本
- 2025年度非婚生子抚养费用及探望权执行协议
- 2025年度科研机构简易用工合同范本
- 2025年度过桥资金借款合同续签合同
- 2025年度二零二五年度汽车抵押分期购车合同模板
- 运动赛事策划的未来趋势
- 科技创新驱动的企业文化构建
- 人教版英语高考试卷与参考答案(2024年)
- 红楼梦服饰文化
- 浙江省中小学心理健康教育课程标准
- 《共情的力量》课件
- 2022年中国电信维护岗位认证动力专业考试题库大全-上(单选、多选题)
- 水平二(四年级第一学期)体育《小足球(18课时)》大单元教学计划
- 《关于时间管理》课件
- 医药高等数学智慧树知到课后章节答案2023年下浙江中医药大学
- 城市道路智慧路灯项目 投标方案(技术标)
- 水泥采购投标方案(技术标)
- 医院招标采购管理办法及实施细则(试行)
评论
0/150
提交评论