滤波器设计MATLAB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理
第一章概述
《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用
最广泛的是双线性变换法。
我们在课本中学到基本设计过程是:
①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;
②设计过渡模拟滤波器;
③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
第二章总体方案设计
首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 为参数。
然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。
实验程序框图如图所示:
第三章信号滤波及分析
对给信号用MATLAB作图分析观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。并且参数取滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB。
图1
通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,绘图显示其幅频响应特性曲线、损耗曲线以及输出波形如图3:
图3
观察可知,切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快、截止特性很好,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差很小,但是在通频带内存在幅度波动。
第四章程序代码
%绘制信号频谱
clear;
clc;
data=csvread('300_CH1.csv');
st=data(1:16000);
N=16000;
Fs=5000000;
T=1/Fs;
Tp=N*T;
t=0:T:(N-1)*T;
k=0:N-1;
f=k/Tp;
fxt=fft(st,N);
figure(1);
subplot(3,1,1)
plot(t,st);grid;xlabel('t/s');ylabel('s(t)');
axis([0,Tp,min(st),max(st)]);title('(a)s(t)的波形')
subplot(3,1,2)
stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')
axis([0,Fs/5,0,1.2]);
xlabel('f/Hz');ylabel('幅度')
%椭圆高通滤波器
fp=300000;
fs=250000;
wp=2*fp/Fs;
ws=2*fs/Fs;
rp=0.1;
rs=60;
[N,wp]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N,rp,rs,wp,'high');
y3t=filter(B,A,st);
第五章结
(1)通过此次实践,我加深了对IIR数字滤波器设计的理解和掌握。IIR数字滤波器的设计分为直接法与间接法,但一般采用间接法(即脉冲响应不变法和双线性变换法),但应用最广泛的是双线性变换法。
(2)此次实践我掌握了IIR数字滤波器的基本设计过程:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
(3)此次实践使用了MATLAB进行滤波器的设计,它使设计滤波器变得简单方便,不需要用户去调用滤波器设置的函数,只需要输入指标,就能的得到满足条件的滤波器。
(4)通过运行结果认识了脉冲响应不变法与双线性变换法的区别,即脉冲响应不变法不能用于设计高通滤波器和带通滤波器,因为它们会发生频谱混叠,而双线性变换法却不会,但它会使滤波器的频响曲线发生非线性变化,产生畸变。
经过数字信号处理课程设计,我重新学到了许多新的知识,并且复习了以前学过但是却逐渐淡忘的是知识。在参照课本知识过程中虽然中间遇到很多问题,但通过自己的仔细排查、同学之间的互相讨论基本上解决了。知识与实践的结合,体现出了这门学科的魅力、使我受益匪浅。