滤波器设计MATLAB

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)通过运行结果认识了脉冲响应不变法与双线性变换法的区别,即脉冲响应不变法不能用于设计高通滤波器和带通滤波器,因为它们会发生频谱混叠,而双线性变换法却不会,但它会使滤波器的频响曲线发生非线性变化,产生畸变。

经过数字信号处理课程设计,我重新学到了许多新的知识,并且复习了以前学过但是却逐渐淡忘的是知识。在参照课本知识过程中虽然中间遇到很多问题,但通过自己的仔细排查、同学之间的互相讨论基本上解决了。知识与实践的结合,体现出了这门学科的魅力、使我受益匪浅。

相关文档
最新文档