椭圆带通滤波器的设计matlab.docx
- 文档编号:23589513
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:14
- 大小:160.71KB
椭圆带通滤波器的设计matlab.docx
《椭圆带通滤波器的设计matlab.docx》由会员分享,可在线阅读,更多相关《椭圆带通滤波器的设计matlab.docx(14页珍藏版)》请在冰豆网上搜索。
椭圆带通滤波器的设计matlab
燕山大学
课程设计说明书
题目:
椭圆带通滤波器的设计
学院(系):
电气工程学院
年级专业:
12级
学号:
学生:
指导教师:
教师职称:
电气工程学院《课程设计》任务书
课程名称:
数字信号处理课程设计
基层教学单位:
仪器科学与工程系指导教师:
学号
学生
(专业)班级
设计题目
2椭圆带通滤波器的设计
设
计
技
术
参
数
采样频率100Hz,采样点数100,低频、中频、高频信号频率分别为5Hz、15Hz、30Hz
设
计
要
求
产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析。
设计高通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
(熟悉函数freqz,ellip,filter,fft)
参
考
资
料
数字信号处理方面资料
MATLAB方面资料
周次
前半周
后半周
应
完
成
容
收集消化资料、学习MATLAB软件,进行相关参数计算
编写仿真程序、调试
指导教
师签字
基层教学单位主任签字
说明:
1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科
摘要
所谓数字滤波器,是指输入输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。
数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题。
典型的模拟滤波器有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器和贝塞尔滤波器,其中椭圆滤波器具有较好的性能。
Matlab是一套集数值计算、符号运算及图形处理等强大功能于一体的科学计算软件。
作为强大的科学计算平台,它几乎能够满足所有的计算需求。
本课结合MATLAB设计模拟椭圆滤波器。
第一章概论1
第二章信号处理原理2
2.1椭圆滤波器的基本理论2
2.2采样定理3
第三章软件仿真设计4
3.1椭圆滤波器设计结构图4
3.2设计椭圆模拟带通滤波器的步骤4
3.3MATLAB相关函数介绍4
第四章程序和仿真结果分析8
4.1带通通滤波器设计程序8
4.2仿真结果KK及分析9
参考文献13
第1章概论
椭圆滤波器又称考尔滤波器。
是在通带和阻带等波纹的一种滤波器。
椭圆滤波器相比其他类型的滤波器在阶数相同的条件下有着最小的通带和阻带波动。
它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。
椭圆滤波器传输函数是一种较复杂的逼近函数,利用传统的设计方法进行电路网络综合要进行繁琐的计算,还要根据计算结果进行查表,整个设计、调整都十分困难和繁琐。
有许多方法都是希望能快速简便地设计并实现椭圆滤波器从而把电子电路设计者从烦琐的模拟滤波器设计中解放出来。
Matlab的信号处理工具箱提供了设计椭圆滤波器的函数:
ellipord函数和ellip函数。
通过编程可以很容易由滤波器的技术指标得到所需滤波器的阶数实现各种类型的椭圆滤波器,大大简化了椭圆滤波器的设计。
本文采用的方法是MATLAB设计出滤波器的传输函数,然后再用通用的可编程滤波器来实现。
第二章信号处理原理
2.1椭圆滤波器的基本理论
模拟滤波器是电子设备中最重要的部分之一。
常用的滤波器有巴特沃斯滤波器、切比雪夫滤波器以及椭圆滤波器;贝塞尔滤波器巴特沃斯和切比雪夫滤波器的传输函数都是一个常数除以一个多项式,为全极点网络,仅在无限大处阻带衰减为无限大,而椭圆函数滤波器在有限频率上既有零点又有极点。
零、极点在通带产生等纹波,阻带的有限传输零点减少了过渡区,可获得极为陡峭的衰减曲线。
也就是说对于给定的阶数和波纹要求,椭圆滤波器能获得较其它滤波器更窄的过渡带宽,就这点而言,椭圆滤波器是最优的。
椭圆滤波器有如下特点:
1、椭圆高通滤波器是一种零、极点型滤波器,它在有限频率围存在传输零点和极点。
2、椭圆高通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。
3、对于同样的性能要求,它比前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。
它的振幅平方函数为
其中RN(x)是雅可比(Jacobi)椭圆函数,ε为与通带衰减有关的参数。
2.2采样定理
模拟信号经过(A/D)变换转换为数字信号的过程称之为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。
理想采样就是假设采样开关闭合时间无限短,即0的极限情况。
此时采样序列可表示为一个冲激函数序列。
采样定理:
要想采样后能够不失真地还原出原模拟信号,则采样频率必须大于两倍原模拟信号频谱的最高截止频率(
2
)。
第三章软件仿真设计
3.1椭圆滤波器设计结构图
椭圆滤波器设计结构图如图所示:
图3.1椭圆滤波器结构框图
3.2设计椭圆模拟带通滤波器的步骤
1.确定模拟滤波器的性能指标
。
2.由性能指标计算出滤波器阶次
。
3.通过归一化及去归一化求出的模拟滤波器
。
3.3MATLAB相关函数介绍
1.Matlab的信号处理软件提供了设计椭圆滤波器的函数:
ellipord函数和ellip函数。
(1).Ellipord函数的功能是求滤波器的最小阶数其调用格式为
其中:
N为椭圆滤波器最小阶数、Wp是椭圆滤波器通带频率(Hz)、Ws为椭圆滤波器阻带频率(Hz)、Rp为通带波纹最大衰减(dB)、Rs为阻带最小衰减(dB)。
在本次设计中,Wp分别为10Hz和20Hz、Ws分别为8Hz和22Hz,、Rp和Rs各为1dB和40db。
具体程序如下:
Wp=[10,20];
Ws=[8,22];
Rp=1;
Rs=40;
[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s');
运行可得
Wn=1020
(2).Ellip函数的功能是用来设计椭圆滤波器。
其调用格式
其中
为高通滤波器、
为低通滤波器、
为带阻滤波器。
返回长度为n+1的滤波器系数行向量b和a,进而求得传递函数H(z)
2.频谱分析函数:
fft函数、filter函数和freqz函数。
1).fft函数功能:
对信号进行离散傅里叶变换。
其调用格式:
fft(X)
fft(X,N)
fft(X,[],DIM)或fft(X,N,DIM)
说明:
fft(X)是对输入信号X的离散傅里叶变换。
fft(X,N)是N点傅里叶变换,如果X少于N点则补0凑齐位数,长于N点则截断。
如果x是个矩阵,列的长度将会以同样的方式调整,fft会对每列进行傅里叶变换,并返回一个相同维数的矩阵。
fft(X,[],DIM)或fft(X,N,DIM)是离散傅里叶变换在DIM尺度上的应用。
DIM可适应于任意维度的fft运算。
2).filter函数功能:
利用IIR滤波器和FIR滤波器对数据进行滤波。
其调用格式:
y=filter(b,a,x)
[y,zf]=filter(b,a,x)
y=filter(b,a,x,zi)
说明:
filter采用数字滤波器对数据进行滤波,其实现采用移位直接Ⅱ型结构,因而适用于IIR和FIR滤波器。
滤波器的系统函数为
即滤波器系数a=[a0a1a2...an],b=[b0b1...bm],输入序列矢量为x。
这里,标准形式为a0=1,如果输入矢量a时,a0≠1,则MATLAB将自动进行归一化系数的操作;如果a0=0则给出出错信息。
y=filter(b,a,x)利用给定系数矢量a和b对x中的数据进行滤波,结果放入y矢量中,y的长度取max(N,M)。
y=filter(b,a,x,zi)可在zi中指定x的初始状态。
[y,zf]=filter(b,a,x)除得到矢量y外,还得到x的最终状态矢量zf。
3).freqz函数功能:
离散时间系统的频率响应。
其调用格式:
[h,w]=freqz(b,a,n)
[h,f]=freqz(b,a,n,Fs)
h=freqz(b,a,w)
h=freqz(b,a,f,Fs)
说明:
freqz用于计算数字滤波器H(Z)的频率响应函数H(ejω)。
[h,w]=freqz(b,a,n)可得到数字滤波器的n点幅频响应值,这n个点均匀地分布在[0,π]上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。
要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。
缺省时n=512。
[h,f]=freqz(b,a,n,Fs)用于对H(ejω)在[0,Fs/2]上等间隔采样n点,采样点频率及相应频响值分别记录在f和h中。
由用户指定FS(以HZ为单位)值。
h=freqz(b,a,w)用于对H(ejω)在[0,2π]上进行采样,采样频率点由矢量w指定。
h=freqz(b,a,f,Fs)用于对H(ejω)在[0,FS]上采样,采样频率点由矢量f指定。
freqz(b,a,n)用于在当前图形窗口中绘制幅频和相频特性曲线。
第四章程序和仿真结果分析
4.1带通通滤波器设计程序
Wp=[10,20];
Ws=[8,22];
Rp=1;
Rs=40;
[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s');
Fs=100;
q=(0:
255)/256*50;
t=(1:
100)/Fs;
c=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);
figure
(1);
[b,a]=ellip(N,Rp,Rs,Wn/50);
[H,w]=freqz(b,a,512);
plot(w*Fs/(2*pi),abs(H));
title('带通滤波器频率特性');
xlabel('频率(HZ)');
ylabel('频率响应图');
sf=filter(b,a,c);
figure
(2);
subplot(211);
plot(t,c);
xlabel('时间(秒)');
ylabel('幅值');
title('连续信号');
subplot(212);
plot(t,sf);
title('通过滤波器后信号波形');
xlabel('时间(秒)');
ylabel('幅值');
cc=fft(c,512);
sff=fft(sf,512);
figure(3);
subplot(211);
plot(q,abs(cc(1:
256)));
title('原连续信号频谱特性');
xlabel('频率(HZ)');
ylabel('频率响应');
subplot(212);
plot(q,abs(sff(1:
256)));
title('通过滤波器后信号频谱特性');
xlabel('频率(HZ)');
ylabel('频率响应');
4.2仿真结果KK及分析
1.滤波器的频率特性图
图4.1带通滤波器频率特性
结果分析:
从仿真图可以看出椭圆滤波器的过渡带非常窄,且在通带和阻带都有波动,符合椭圆滤波器的特点。
2.通过带通滤波器前后的波形图
图4.2通过滤波器前后波形图对比
结果分析:
由图可以看出,通过椭圆滤波器后的信号成为频率单一的正弦信号,信号的频率为15Hz。
只通过了中频信号,因此实现了带通滤波器的功能。
3.信号通过带通滤波器前后的频谱特性
图4.3通过滤波器前后信号的频谱图
结果分析:
通过带通滤波器前,低、中、高频信号都有频率响应。
而通过滤波器之后,只保留的中频信号,因此低、高频信号的频率响应为零。
除此之外,通过滤波器后信号的响应幅值有所减小。
第五章心得体会
《数字信号处理》是一门重要的专业基础课程。
通过这周的课程设计我加深了对数字信号处理这门学科所学理论知识的理解。
为了完成这次椭圆带通滤波器的设计,我花了许多时间去学习matlab这个软件,也进一步理解了matlab这一软件的强大之处。
相信这会对以后的工作和学习有很大的帮助。
这次课程设计让我把理论知识与实际应用结合了起来,提高自己的实际动手能力和独立思考的能力。
通过不断查阅大量的设计资料让自己的设计更加完善,这加强了我对信息的获取能力。
总之,这次课程设计是自己的能力得到了一定的锻炼。
在这次课程设计中,我也认识到了自己的一些不足,这些都会对以后成长有很大的好处。
参考文献
[1]平王娜林洪彬.信号处理及应用.机械工业
[2]王靖永全.椭圆滤波器Matlb设计与实现[J].现代电子技术,2007,(6)
[3]高西全丁玉美.数字信号处理.第三版.电子科技大学2008
[4]军宏.信号与信息处理基础.中国铁道2009
[5]A.V.奥本海姆等.信号与系统.树棠译.交通大学1985
[6]董长虹.MATLAB信号处理与应用.国防工业2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 椭圆 带通滤波器 设计 matlab
![提示](https://static.bdocx.com/images/bang_tan.gif)