当前位置:无忧公文网 >范文大全 > 征文 > 保护测控中的基于VHDL的IIR数字带通滤波器设计

保护测控中的基于VHDL的IIR数字带通滤波器设计

时间:2022-03-24 09:15:24 浏览次数:

摘 要:在我国变电站中,由于一次设备的不完善,跟二次设备交接中存在一定的误差,本论文主要针对传统LC模拟滤波后,微机保护测控如何通过数字滤波去除高次谐波、非整数次谐波的效果展开谈论。

关键词:数字滤波Modelsim仿真

中图分类号:TM5文献标识码:A文章编号:1674-098X(2011)01(a)-0037-02

1 数字滤波器的设计原理

按照冲激响应函数的时域特点,数字滤波器可分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR特点是具有无限持续时间冲激响应。FIR的特点是冲激响应只能延续一定时间。滤波器的设计很多方式。随着MATLAB软件的信号处理工作箱的不断完善,使设计跟工程实际值达到最接近的局面。

数字滤波器设计的基本步骤如下。

1.1 确定指标

首先根据实际需要确定技术指标。数字滤波器是用作选频的工具。所以形式在频域中得到幅值或相位响应。幅值由两种方法:第一种绝对指标。提供对幅值响应函数的要求,用于FIR设计。第二种相对指标。以分贝值的形式出现。在工程实际中,这种指标最受欢迎。相位响应指标形式,希望系统在通频带中具有线性相位。运用线性相位响应指标进行设计具有的特点是:(1)只包含实部算法,不包含虚部运算;(2)没有延迟失真,只有时间的延迟;(3)长度为N 的滤波器(阶数为N -1),计算量为N /2数量级。

1.2 逼近

得到指标后,就可建立数字滤波器模型。利用数字滤波器的设计方法,设计一个实际的模型来逼近给定的指标。

1.3 性能分析和计算机仿真

上面两个工作的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据描述就可以分析频率特性和相位特性,来验证设计结果是否满足指标;或运用微机仿真,再分析滤波结果来判断。

1.3.1 滤波器的性能指标

进行滤波器设计时,需确定性能指标。一般来说,滤波器的性能要求往往以频率响应的幅值特性的允许误差来表征。以低通滤波器特性为例,频率响应有通带、过渡带及阻带三个范围。如图1所示

在通带内:1-AP≤|H(e jω)|≤1

|ω|≤ωc

在阻带中:|H(e jω)|≤Ast

ωst≤|ω|≤ωc

其中ωc为通带截止频率,ωst为阻带截止频率,Ap为通带误差,Ast为阻带误差。

1.3.2 IIR数字滤波器的设计方法

模拟滤波器设计已经有了一套相当成熟的方法,它有设计公式,还有图表可查,所以,充分利用模拟滤波器的方法将会给数字滤波器的设计带来好处,IIR数字滤波器的设计步骤是:

(1)将数字滤波器的技术指标变换成模拟滤波器的技术指标;

(2)按照转换后的技术指标设计模拟低通滤波器H (s);

(3)把H (s)转换为H (z)。

如果设计的数字滤波器是低通的,那可结束了,若所设计的是高通、带通或者带阻滤波器,按照下面继续执行。

(4)把高通、带通或者带阻数字滤波器的指标变换成低通滤波器的技术指标,再按上述步骤(2)设计模拟低通滤波器H (s),最后将H (s)转换为H (z)。

2 IIR带通滤波器的VHDL描述及仿真

2.1 IIR带通滤波器的VHDL描述

VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language。目前,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部和内部,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

在用VHDL语言进行描写时,设计了一个状态机,用以控制不同二阶节的运算,有0~6,共7个状态,分别对应复位及6个二阶节的运算。用数组变量x1~x6分别表示六个二阶节的输入延时1、2个单位时间的值,数组变量y1~y6分别表示六个二阶节的输出延时1、2个单位时间的值, 数组常量a1~a6,b1~b6分别表示六个二阶节的系数,变量acc表示乘积累加和, y表示最终的输出。

当step=0时,将所有信号和变量值赋0,step增加1;当step=1时,输入信号为x,采用第一个二阶节的系数进行运算,运算完后将x1、y1、x2、y2移位,step增加1;step=2时,上一次的运算结果y1(1)作为输入信号,采用第二个二阶节的系数进行运算,运算完后将x1、y1、x2、y2移位, step增加1;依次类推,当step=6时,信号通过第六个二阶节,运算结果y6(1)输出,step赋为1,准备接受新的输入信号。如图2所示。

2.2 IIR带通滤波器的Modelsim仿真

ModelSim是业界最优秀的HDL语言仿真器。是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGA/ASIC设计的RTL级和门级电路仿真的首选,它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持VHDL和Verilog语言的IEEE标准,支持C/C++功能调用和调试。

2.2.1 仿真波形

在Modelsim中添加了工程之后经过编译与仿真,可以得到仿真波形,能方便的追踪到信号的变化,以便调试及查错。在数字滤波器的输入端加入二进制定点数据010000000000000000000000 ,此信号为单位阶跃信号,输出即为滤波器的阶跃响应。仿真波形如图3所示。

2.2.2 仿真输出

下面将滤波器的单位阶跃响应的仿真结果在n=0,2,4,6,8,10的值,用Matlab编程把16进制小数转成10进制后,与Matlab的计算值进行比较,如表1所示。

3 结论

从上面数据可以知道,仿真输出值与Matlab 理论计算值存在一定的误差,这是由程序中只用了24位小数来表示抽样值及滤波器系数和乘积相加后的数据采用定点制截尾量化方式所引起的。随着n值或时间的增加,误差趋小,接近理论值。为了减小误差,可以增加小数的位数及采用定点制舍入原则量化等方法。所以,本次设计虽然有一定的误差,但能满足对于变电站的保护测控装置的采样需求。

推荐访问: 测控 保护 数字 通滤波器 设计