巴特沃斯数字高通滤波器数字信号处理学习报告.docx
- 文档编号:24900756
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:12
- 大小:71.77KB
巴特沃斯数字高通滤波器数字信号处理学习报告.docx
《巴特沃斯数字高通滤波器数字信号处理学习报告.docx》由会员分享,可在线阅读,更多相关《巴特沃斯数字高通滤波器数字信号处理学习报告.docx(12页珍藏版)》请在冰豆网上搜索。
巴特沃斯数字高通滤波器数字信号处理学习报告
数字信号处理
研究性学习报告
Forpersonaluseonlyinstudyandresearch;notforcommercialuse
题目:
设计巴特沃斯数字高通滤波器
院系:
电子信息学院
专业:
电子与通信工程
姓名:
******,******
2011年12月10日-2011年12月14日
设计要求
功能:
使用双线性变换法设计巴特沃斯数字高通滤波器。
对给定的数据进行滤波,要求设计有数据导入功能,通带、阻带等各种参数可以从界面输入,显示传输函数各系数,显示滤波前后的波形。
能够显示滤波器的幅频特性曲线和相频特性曲线。
设计步骤:
1)初步完成总体设计,搭好框架,设计各功能函数;
2)设计人机对话界面,确定控制参数的输入方法;
3)根据给定指标,编写相应程序求解必要参数,设计低通滤波器;
4)编写双线性变换程序;
5)编写波形输出程序;
6)用matlab中的滤波器设计函数对所设计滤波器的幅频特性进行检验。
要求:
1)用结构化设计方法。
一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计应画出流程图;
2)输入输出界面要友好;
3)源程序书写要规范,加必要的注释;
4)要提供设计的结果和图表;
一、设计原理
1、采样的相关概念
1.1采样频率
采样频率fs:
是指录音设备对模拟信号进行A/D采样时,在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。
比如,对1秒时间段上的模拟连续信号采样,采样频率为1M,就是在时间轴上每隔1us采样一个点,那么就是一共采样1M个点。
采样点数就是上面所说的,根据采样时间和采样频率就能确定采样点数。
1.2采样位数
采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
声卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。
声卡的主要的作用之一是对声音信息进行录制与回放,在这个过程中采样的位数和采样的频率决定了声音采集的质量。
采样位数可以理解为声卡处理声音的解析度。
这个数值越大,解析度就越高,录制和回放的声音就越真实。
采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。
无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。
1.3采样定理
在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:
fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般取2.56-4倍的信号最大频率;采样定理又称奈奎斯特定理。
2、时域信号的FFT分析
FFT算法中的时域抽取法FFT,简称DIT—FFT。
在matlab中用y=fft(x,N)实现,x为要进行fft分析的信号,N为采样点数。
FFT在实际应用中是很重要的,它可以计算信号的频谱、功率普和线性卷积等。
它提高了DFT的速度。
3、数字滤波器设计原理和方法
数字滤波器是数字信号处理的重要基础。
在对信号的过滤、检测与参数的估计等处理中,数字滤波器是使用最广泛的线性系统。
数字滤波器是对数字信号实现滤波的线性时不变系统。
它将输入的数字序列通过特定运算转变为输出的数字序列。
因此,数字滤波器本质上是一台完成特定运算的数字计算机。
二、系统设计
此部分将详细介绍IIR数字滤波器的设计流程,比较各种设计方案的优劣。
2.1设计思路
IIR滤波器设计的主要方法是先设计低通模拟滤波器,然后转换为高通、带通或带阻数字滤波器。
对于其他如高通,带通,则通过频率变换转换为设计相应的高通,带通等。
在设计的全过程的各个步骤,matlab都提供相应的工具箱函数,使得IIR数字滤波器设计变得非常简单。
总的来说,我的设计思路主要有以下两种:
思路一:
从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。
模拟域冲激响应不变法
频率变换双线性变换法
图2-1先频率变换再离散
思路二:
先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。
数字域
双线性变换法频率变换
图2-2先离散再频率变换
以上两种思路都可以,我最后选择了第一种思路进行设计,即先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。
2.2设计方法对比
方案一:
冲激响应不变法
冲激相应不变法是从时域出发,要求数字滤波器的激响应h(n)对应于模拟滤波器ha(t)的等间隔抽样,h(n)=ha(nT),其中T是抽样周期,因此时域逼近良好。
优点:
h(n)完全模仿模拟滤波器的单位抽样响应时域逼近良好
线性相位模拟滤波器转变为线性相位数字滤波器
缺点:
对时域的采样会造成频域的“混叠效应”,故有可能使所设计数字滤波器的频率响应与原来模拟滤波器的频率响应相差很大,
不能用来设计高通和带阻滤波器。
只适用于限带的低通、带通滤波器
方案二:
双线性变换法
双线性变换法是从频域出发,使DF的频率响应与AF的频率响应相似的一种变换法。
直接使数字滤波器的频率响应,逼近模拟滤波器的频率响应,进而求得H(z)。
优点:
避免了频率响应的混迭现象
在特定AF和特定DF处,频率响应是严格相等的,它可以较准确地控制截止频率的位置。
它是一种简单的代数关系,设计十分方便。
缺点:
除了零频率附近,
与
之间严重非线性,即线性相位模拟滤波器变为非线性相位数字滤波器
要求模拟滤波器的幅频响应为分段常数型,不然会产生畸变
对于分段常数型AF滤波器,经双线性变换后,仍得到幅频特性为分段常数的DF.但在各个分段边缘的临界频率点产生畸变,这种频率的畸变,可通过频率预畸变加以校正。
方案三:
频率变换法
设计思想:
从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。
先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。
综上所述,频率变换法是基于双线性变换法或冲激响应不变法(用于频带变换),此处选择双线性变换法主要是基于要获得严格的频率响应,以及较准确地控制截止频率的位置。
而由于此种方法是一种简单的代数关系,设计也十分方便。
2.3典型模拟滤波器比较
1、Butterworth巴特沃斯滤波器:
它具有单调下降的幅频特性;即最平幅度。
2、Chebyshev切比雪夫滤波器:
在通带或阻带等波纹,可提高选择性。
3.Bessel贝塞尔滤波器:
在通带内有较好的线性相位特性。
4.Ellipse椭圆滤波器:
其选择性相对前三种是最好的。
此处选择巴特沃斯主要是想获得最平稳的幅频响应。
而不计较相位特性,而用双线性变换法也会将线性相位变为非线性相位。
三、实验结果及分析
1、图形界面GUI
(1)wp与ws为归一化频率,范围是0-1,大于1会出错
(2)四个坐标图分别显示幅频特性,相频特性,输入信号,输出信号。
2、幅频特性及相频特性
其中wp=0.6;ws=0.4;ap=3;as=40
结论:
通带衰减越小,滤波器的性能越好;阻带衰减越大,滤波器的性能越好其曲线也越陡峭,选择性越好。
双线性不变法设计的巴特沃斯数字高通滤波器其相位为非线性。
3、滤波前后数据波形
四、总结与体会
在课设之前,我对MATLAB软件,特别是滤波器设计中的函数基本上处于一种模糊状态。
通过在学校的电子资源的期刊网上找了些论文资料,借阅图书,一点一滴的自学,以及和同学不断的交流,最后完成了这次课设,对滤波器的设计有了比较清楚的了解。
在课程设计的过程中,我学到了很多东西,比如设计滤波器的一些基本函数的用法,各种模拟滤波器的特性,设计滤波器的一些基本方法。
但更为重要的是,我对于解决一个问题的思路更加清晰,找到了属于自己的方法。
当然,在设计的过程中,不可能避免的遇到了很多问题,如刚开始思路比较混乱,没有明确的方向。
主要是如何将理论计算的模型转换为仿真模型。
因为在理论上,将低通转换成高通,一般是变换将高通频率特征转换成低通原型频率特征;而在软件设计中,是对其传递函数进行修改,即变换其z域的表达式,设计初期一直不知道如何将其联系起来。
后来发现,其实变换传递函数,也就是变换频率特征,是将变换后的频率代入原低通模型,而后得到高通模型的。
总的来说,这次课程设计让我对MATLAB有了更深刻的了解,对数字滤波器的设计流程有了大致的了解,掌握了一些设计滤波器的基本方法,提高了理论用于实践的能力,掌握了更多专业相关的使用知识与技能。
同时,也暴露了我很多的不足,在以后的学习中,将进一步发扬有点,克服缺点。
参考文献
[1]陈怀琛·MATLAB在电子信息课程中的应用(第二版)·电子工业出版社·2006
[2]郭仕剑·MATLAB7.X数字信号处理·人民邮电出版社·2006年
[3]陈贵明·用MATLAB语言处理数字信号与数字图像·科学出版社·2000年
[4]王家文·MATLAB7.0图形图像处理·国防工业出版社·2006年
[5]苏金明·MATLAB图形图像·电子工业出版社·2005
[6]朱铭锆·DSP应用系统设计[M]·电子工业出版社·2002.
[7]韩得竹·MATLAB电子仿真与应用[M]·国防工业出版社·2001.
[8]邹 鲲·MATLAB6.x信号处理[M]·清华大学出版社·2002.
附录程序(主要部分):
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
wp=str2num(get(handles.edit1,'String'));
ws=str2num(get(handles.edit2,'String'));
ap=str2num(get(handles.edit3,'String'));
as=str2num(get(handles.edit4,'String'));
[N,wc]=buttord(wp,ws,ap,as);
[B,A]=butter(N,wc,'high');
handles.BB=B;
handles.AA=A;
guidata(hObject,handles);
axes(handles.fp)
[Hz,w]=freqz(B,A,1024);
mag=abs(Hz);%画幅频特性
pha=angle(Hz);%相频特性
plot(w/pi,mag);
axis([0,1,0,1.4])
ylabel('幅频响应');
xlabel('归一化频率');
title('幅频特性')
%画相频特性
axes(handles.xp)
plot(w/pi,pha);
axis([0,1,-8,8])
ylabel('相频响应');
xlabel('归一化频率');
title('相频特性')
%---Executesonkeypresswithfocusonpushbutton1andnoneofitscontrols.
functionpushbutton1_KeyPressFcn(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatastructurewiththefollowingfields(seeUICONTROL)
%Key:
nameofthekeythatwaspressed,inlowercase
%Character:
characterinterpretationofthekey(s)thatwaspressed
%Modifier:
name(s)ofthemodifierkey(s)(i.e.,control,shift)pressed
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
[fname,pname]=uigetfile('*.txt;*.dat','导入数据');
str=fullfile(pname,fname)
f=load(str);
handles.data=f;
axes(handles.lq)
len=length(f);
t=1:
1:
len;
plot(t,abs(f));
axis([0,2100,0,150])
title('滤波前');
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
Y=filter(handles.BB,handles.AA,handles.data);
axes(handles.lh)
plot(abs(Y));
axis([0,2100,0,150])
title('滤波后');
仅供个人用于学习、研究;不得用于商业用途。
Forpersonaluseonlyinstudyandresearch;notforcommercialuse.
NurfürdenpersönlichenfürStudien,Forschung,zukommerziellenZweckenverwendetwerden.
Pourl'étudeetlarechercheuniquementàdesfinspersonnelles;pasàdesfinscommerciales.
толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях.
以下无正文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 巴特沃斯 数字 滤波器 数字信号 处理 学习 报告