




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字信号处理课程设计报告 课设名称:基于MATLAB的FIR数字滤波器设计 学 院:信息工程 专 业:通信工程 班 级:2012159 学 号:201215910 姓 名:张孟承 辅导老师:李亚萍 陈黎霞 时 间:2015.12.212015.12.3012基于MATLAB的FIR数字滤波器设计摘要:论文针对窗函数法、频率采样法和最优化设计法三种设计方法,采用MATLAB 进行FIR滤波器的设计与仿真,并比较了三种方法的特点。结果表明,在同样的设计指标下,利用等波纹切比雪夫逼近法则的设计可以获得最佳的频率特性和衰耗特性,具有通带和阻带平坦,过渡带窄等优点。 关键词:FIR滤波器;MATLAB;
2、频率采样法;一、设计目的 本次课程设计的目的是利用MATLAB对语音信号进行数字信号处理和分析,要求学生对语音信号进行频谱分析,并对采集语音信号加入干扰,对加入信号后的频谱进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号,学会GUI界面设计方法,掌握基本操作原理。二设计要求1.采集一段语音信号,并对其频谱进行分析。2.设计滤波器,可以选用高通,低通或带通滤波器,滤除噪声,分析滤波后信号的时域或频域特征。3.播放三段语音对比频谱,分析其异同。三FIR 数字滤波器设计FIR滤波器设计的任务是选择有限长度的,使传输函数满足一定的幅度特性和线性相位要求。由于FIR 滤波器很容易实现严格的线性相位,所
3、以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。设计过程一般包括以下三个基本问题: (1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。 频率采样法:频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应加以等间隔的抽样 ,得到。而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。为了提高逼近
4、的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。 选取w0,2内N个采样点的约束条件为: (3-3)(1)增大阻带衰减三种方法:1)加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。2)过渡带的优化设计利用线性最优化的方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近(而不是盲目地设定一个过渡带值)。3)增大N。如果要进一步增加阻带衰减,但又不增加过渡带宽,可增加采样点数N。代价是滤波器阶数增加,运算量增加。直接从频域进行设计,物理概念清楚,直观方便;适合于窄带滤波器设计,这时频率响应只有少数几个非零
5、值,但是截止频率难以控制。典型应用:用一串窄带滤波器组成多卜勒雷达接收机,覆盖不同的频段,多卜勒频偏可反映被测目标的运动速度。四GUI设计效果图图4.GUI效果初始界面图五课程设计的具体实现1、 信号的采集要求录制一段语音信号,并对录制的信号进行采样。在MATLAB中可以使用wavread()函数完成。2、 语音信号的读入与打开 在MATLAB中wavread();用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。sound();用于语音的播放,用于对声音的回放。3、 语音信号的FFT变换FFT即为快速傅氏变换,是离散傅氏变换的快速算法,在MATLAB的信号处理
6、工具箱中函数FFT用于快速傅立叶变换。其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。对语音信号进行FFT变换就是为了得到它的频域的图形,便于从图中观察出信号的幅度等特性。4、含噪信号的合成在MATLAB软件平台下,给原始的语音
7、信号叠加上噪声,此次课程设计为三个正弦波的叠加。 绘制出叠加噪声之后的语音信号时域图形及频域图形,在视觉上与原始信号图形对比,也可以通过Windows播放软件或者是利用MATLAB中的sound()函数从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。5、 利用FIR滤波器滤波利用窗函数法设计FIR低通滤波器,对合成的含噪信号进行滤波,绘出滤波后的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化;并从理论上进行分析。 图5.1原始界面 图5.2原始信号时域频域波形 图5.3加入噪声后信号时域频域波形 图5.4滤波后信号时域频域波形图5.5滤波器参数图六心得体会 通过本次
8、课程设计我加深了对滤波器的理解,掌握了基本滤波器的设计方法。通过结果的对比分析我们可以知道滤波后的波形中噪声很明显的被衰弱了,声音的噪声也不那么明显,并且滤波器实验阶数越高,滤波效果越明显从频谱图中我们还可以看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。在此感谢同学和老师在本次设计中给予我的帮助。七附带程序代码function varargout = untitled(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleto
9、n', gui_Singleton, . 'gui_OpeningFcn', untitled_OpeningFcn, . 'gui_OutputFcn', untitled_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_m
10、ainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endhandles.output = hObject;guidata(hObject, handles);if strcmp(get(hObject,'Visible'),'off')endvarargout1 = handles.output;function pushbutton1_Callback(hObject, eventdata, handles)popup_sel_index = get(handles.popu
11、pmenu1, 'Value');global f x fs bits normal n x2 X2 z;switch popup_sel_index case 1 x,fs,bits=wavread('Windows.wav'); x=x(:,1); set(handles.axes1,'Visible','on'); cla reset; axes(handles.axes1);plot(x);title('原始信号波形');xlim(0,60000); len=length(x)/2; X=fft(x); f
12、=1:len*(fs)/len; f=f' set(handles.axes2,'Visible','on'); axes(handles.axes2);plot(f,abs(X);title('原始信号频谱');ylim(0,250); case 2 normal=x/max(x); sound(normal,fs,bits); case 3 ns1=7000;%高频噪声 ns2=8000;%高频噪声 ns3=9000;%高频噪声 N=size(x); n=1:N; T=1/fs; nose1=sin(2*pi*ns1*n*T); no
13、se2=sin(2*pi*ns2*n*T); nose3=sin(2*pi*ns3*n*T); nose1=nose1' nose2=nose2' nose3=nose3' for i=1:size(x) x2(i)=x(i)+0.004*nose1(i)+0.004*nose2(i)+0.004*nose3(i); end axes(handles.axes1);cla reset;plot(x2);title('加噪声后语音信号波形');xlim(0,60000); X2=abs(fft(x2); axes(handles.axes2);plot(X
14、2);title('加噪声后语音信号频谱');xlim(0,60000);ylim(0,250);text(8000,100,'7000Hz噪声');text(9000,60,'8000Hz噪声');text(10000,30,'9000Hz噪声'); case 4 normal2=x2/max(x2); sound(normal2,fs,bits); case 5 N=81; Wn=0.2; b=fir1(N,Wn); z=filter(b,1,x2); axes(handles.axes1);plot(z);title(
15、9;FIR滤波后信号波形');xlim(0,60000); Z=fft(z); axes(handles.axes2);plot(abs(Z);title('FIR滤波后信号频谱');xlim(0,60000);ylim(0,250); case 6 xout=z/max(z); sound(xout,fs,bits);end%-function FileMenu_Callback(hObject, eventdata, handles)%-function OpenMenuItem_Callback(hObject, eventdata, handles)file =
16、 uigetfile('*.fig');if isequal(file, 0) open(file);end%-function PrintMenuItem_Callback(hObject, eventdata, handles)% hObject handle to PrintMenuItem (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)printd
17、lg(handles.figure1)%-function CloseMenuItem_Callback(hObject, eventdata, handles)selection = questdlg('Close ' get(handles.figure1,'Name') '?',. 'Close ' get(handles.figure1,'Name') '.',. 'Yes','No','Yes');if strcmp(selection,'No') return;enddelete(handles.figure1)if ispc && isequal(get(h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年贷款合同的专项资金借款协议模板
- 2025租赁合同模板:仓库租赁合同范本
- 2025授权软件开发合同范本
- 2025年度合同性捐赠协议
- 2025医疗器械采购合同书模板
- 2025合作伙伴商业机密保密合同
- 2025年IC卡、光卡、非接触卡及其相关设备项目建议书
- 2025年铜及铜合金材项目合作计划书
- 2025年美司那合作协议书
- 2025年数显读卡仪项目合作计划书
- 陕西榆能招聘笔试题库2025
- 山东省脐带血合同协议
- 2025-2030全球及中国自主汽车芯片行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 四川宜宾环球集团有限公司招聘笔试题库2025
- 外研版(三起)(2024)三年级下册英语Unit 1 单元测试卷(含答案)
- 道德经考试题及答案
- 全球包装材料标准BRCGS第7版内部审核全套记录
- 中国革命战争的战略问题(全文)
- (高清版)JGT 225-2020 预应力混凝土用金属波纹管
- 中国电工技术学会科技成果鉴定管理办法
- 包装厂质量管理体系
评论
0/150
提交评论