0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用LabVIEW实现数字滤波器的设计

电子设计 作者:电子设计 2018-10-07 10:40 次阅读

引言

正常情况下,电力系统中三相电力是对称的,它们之间满足一定的幅值和相位条件;但当负载变化时,系统受到影响,波形会发生畸变。随着经济的发展,许多非线性电力负荷投入使用,使电网中谐波分量猛增,而电力系统微机保护和二次控制中,很多信号的处理与分析是基于基波和某些整次谐波的,因此,滤波器一直是电力系统二次装置中的关键部件。

目前,微机保护和二次信号处理软件主要采用数字滤波器。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工作平台)使用G 语言(Graphics Language,图形化编程语言)编程,可以快速有效地实现数字滤波器的设计与仿真。由于G 语言编程具有诸多优点,因此基于LabVIEW 设计的数字滤波器具有高效、灵活、界面友好、集成性强、费用低、用户自定义功能强等诸多优点[1]。

1. 数字滤波器及其传统设计方法

1.1 数字滤波器概述

滤波器是一种使有用频率信号通过同时抑制(或大为衰减)无用频率信号的装置。工程上常将它用于信号处理、数据传送和抑数字滤波器是数字信号分析中的重要组成部分,它的输入和输出信号都是离散的,与模拟滤波器相比,它具有准确度和稳定性高,系统函数容易改变,灵活性高等优点,因而数字滤波器在工程中得到了广泛的应用[2]。数字滤波器有多种分类,按频率特性分类可以分为:高通、低通、带通、带阻;按数字滤波器冲激响应的时域特征分类可以分为:有限冲激响应滤波器(finite impulse response, FIR)和无限冲激响应滤波器(infinite impulse response, IIR)。FIR 滤波器的冲击响应h(n) 是有限序列,IIR 滤波器的冲击响应h(n) 是无限序列的。

数字滤波器的差分方程可以用下式表示:

使用LabVIEW实现数字滤波器的设计

式中, x(n) 为输入序列, y(n) 为输出序列, k a 、k b 分别为输出、输入序列的系数。

数字滤波器对应的传递函数为:

使用LabVIEW实现数字滤波器的设计

当k a 不全为0 时,为IIR 滤波器;当k a 全为0 时,为FIR 滤波器。

从性能上看,FIR 滤波器和IIR 滤波器各有优点:FIR 滤波器可以得到严格的线性相位;但是需要较多的存储器和较长的运算,成本比较高,信号延时也较大。IIR 滤波器可以用较少的阶数获得很高的选择特性,所用存储单元少,运算次数少,效率高的优点;但是相位是非线性的,且选择性越好其相位非线性越严重[3]。

1.2 数字滤波器的传统设计方法

数字滤波器的传统设计过程可归纳为以下三个步骤:

(1)按照实际需要确定滤波器的性能要求。

(2)用一个因果稳定的系统函数(即传递函数)去逼近这个性能要求。此函数可以分为两类:即IIR 传递函数和FIR 传递函数。

(3)用一个有限精度的运算去实现这个传递函数。

FIR 滤波器设计实质是确定能满足要求的转移序列或脉冲响应的常数,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。目前,FIR 滤波器设计没有封闭的设计公式。虽然窗函数法对窗口函数可给出计算公式,但计算通带与阻带衰减仍无计算公式。FIR 滤波器的设计只有计算程序可循,因此对计算工具要求较高,不用计算机编程一般很难实现。

IIR 滤波器的设计源于模拟滤波器设计,它通过对低通滤波器进行模拟频率变换得到。常用的IIR 滤波器有巴特沃斯滤波器、切比雪夫滤波器、切比雪夫Ⅱ滤波器、椭圆滤波器和贝塞尔滤波器。目前,IIR 滤波器的设计可以借助模拟滤波器的成果,有封闭形式的设计公式,对计算工具的要求不高。

IIR 滤波器的设计虽然简单,但脱离不了模拟滤波器的设计模式,主要用于设计低通、高通、带通及带阻滤波器。而FIR 滤波器的设计要灵活得多,尤其是频率采样设计法更易适应各种幅度特性和相位特性的要求。

2 基于LabVIEW 的数字滤波器设计

2.1 LabVIEW 简介

LabVIEW 是NI(National Instrument,美国国家仪器)公司推出的一种基于G 语言的虚拟仪器(virtual instrument,VI)开发工具。LabVIEW 编程使用图形化语言,它是非计算机专业人员使用的工具,它为设计者提供了一个便捷、轻松的设计环境,因此,LabVIEW 在世界范围内的众多领域如航空、航天、通信、电力、汽车、化学等领域得到广泛应用[4]。

LabVIEW 有两个基本窗口:前面板窗口和流程图窗口。编译环境下显示两个窗口,前面板用于放置控制对象和显示对象,控制对象相当于常规仪器的控制和调节按钮;前面板用于显示程序运行结果,相当于常规仪器的显示屏幕或指针。流程图窗口用于编写和显示程序的图形源代码,它相当于语言编程中一行行的语句,它由各种能完成一定功能的模块通过连线连接而成。当编写的LabVIEW 程序调试无误后,可将程序编译成应用程序(EXE 文件)。此时,设计的虚拟仪器可以脱离LabVIEW 开发环境,用户只需通过前面板进行控制和观测。

2.2 LabVIEW 中的数字滤波器

利用文本软件设计实现的滤波器在使用过程中往往出现难以调整波形系数,与硬件接口程序复杂,开发周期长等问题。而使用LabVIEW 设计的滤波器不仅设计简单,而且使用起来要比利用文本文件实现的滤波器方便得多。

LabVIEW 为设计者提供了FIR 和IIR 滤波器VI,使用起来非常方便,只需要输入相应的指标参数即可,不需要进行复杂的函数设计和大量的运算。滤波器VI 位于LabVIEW 流程图面板的Function>>Analyze>>Signal Processing>>Filters 上。

不同滤波器VI 滤波时均有各自的特点,因此它们用途各异。在利用LabVIEW 实现滤波功能时,选择合适的滤波器是关键,在选择滤波器时,可参照不同滤波器的特点,考虑滤波的实际要求来选择合适的滤波器[5]。各种滤波器的特点及选择滤波器的步骤见图1。

使用LabVIEW实现数字滤波器的设计

图1 滤波器选择步骤

3 基于LabVIEW 的数字滤波器设计实例

电力系统滤波器可以从电力信号中将所需频段的信号提取出来并将干扰信号滤除或大大衰减。利用LabVIEW 可以设计出满足电力系统需要的滤波器,图2为利用LabVIEW 设计的IIR 数字滤波器前面板,前面板上有参数设置、波形显示两个区域。在参数设置区域有六个设置项:滤波器选择、滤波器类型、下截止频率、上截止频率、采样频率、阶次、纹波、衰减;选择的滤波器不同时,需要设置的项也不同。波形显示区域用于显示滤波前后的波形,在此区域可直观地看出滤波效果。

图2 数字滤波器前面板

滤波器的输入信号是从电力系统中采集的,信号中含有频率为50Hz,有效值为220V 的基频分量,和频率为100Hz、150Hz、200Hz 的二次、三次、四次谐波。现欲提取出基频分量,滤去高次谐波,采用低通滤波方式滤波,滤波阶次为8 阶,纹波为0.1,衰减为60,下截止频率为50Hz,分别采用巴特沃斯滤波器、切比雪夫滤波器、切比雪夫Ⅱ滤波器、椭圆滤波器和贝塞尔滤波器滤波,滤波器的输入信号与不同滤波器的输出波形如图3 所示。由图3 可以看出采用不同的滤波器滤波,滤波效果是不同的。在此实例中,巴特沃思滤波器和切比雪夫滤波器的滤波效果相对较好;而切比雪夫Ⅱ滤波器的滤波延迟时间较长;贝塞尔滤波器滤波的衰减较大。因此,要根据不同的工况要求来选择合适的滤波器滤波。


4 结论

利用LabVIEW 实现的数字滤波,采用了图形语言编程,与采用文本语言编程相比,能缩短40%~70%的开发时间;与硬件仪器相比,又具有容易调整滤波器类型、降低成本、滤波效果直观等优点。基于LabVIEW 编写的程序还可以将其作为子程序在其他虚拟仪器系统中调用,大大增强了程序的通用性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1970

    文章

    3654

    浏览量

    323324
  • 数字滤波器
    +关注

    关注

    4

    文章

    270

    浏览量

    47016
  • 频率
    +关注

    关注

    4

    文章

    1494

    浏览量

    59211
收藏 人收藏

    评论

    相关推荐

    使用FPGA构建的数字滤波器设计方案

    本文简要介绍了FIR数字滤波器的结构特点和基本原理,提出基于FPGA和DSP Builder的FIR数字滤波器的基本设计流程和实现方案。##FIR 数字滤波器的详细设计。
    发表于 07-24 15:30 8837次阅读
    使用FPGA构建的<b class='flag-5'>数字滤波器</b>设计方案

    基于LabVIEW数字滤波器设计

    基于LabVIEW数字滤波器
    发表于 03-23 10:15

    LabVIEW如何实现数字滤波器的设计

    ,实验室虚拟仪器工作平台)使用G 语言(Graphics Language,图形化编程语言)编程,可以快速有效地实现数字滤波器的设计与仿真。由于G 语言编程具有诸多优点,因此基于LabVIEW
    发表于 07-26 05:30

    基于LabVIEW数字滤波器的设计

    LabVIEW 是图形化虚拟仪器编程语言,它具有强大的数字信号处理功能。本文介绍了基于LabVIEW数字滤波器的设计,它集FIR 和IIR 滤波
    发表于 08-29 10:45 409次下载

    基于LabVIEW的IIR数字滤波器的设计

    数字滤波器数字系统的重要组成部分。利用文本文件实现数字滤波器存在滤波系数不易调整、开发周期长等问题。本文根据IIR 的设计原理,采用
    发表于 09-09 15:57 76次下载

    数字滤波器的设计实验

    数字滤波器的设计实验 一. 数字滤波器设计:(1) 数字滤波器设计步骤:a. 整理给定的滤波器设计要求
    发表于 10-30 13:34 5768次阅读
    <b class='flag-5'>数字滤波器</b>的设计实验

    什么是数字滤波器

    什么是数字滤波器 数字滤波器(digital filter)是由数字乘法器、加法器
    发表于 06-30 12:37 3987次阅读
    什么是<b class='flag-5'>数字滤波器</b>

    基于LabVIEW的FIR数字滤波器设计

    基于LabVIEW的FIR数字滤波器设计 介绍一种基于LabVIEW快速有效地设计常规FIR数字滤波器的方法,并给出了设计实例。因可以随时对比设计要求调整参数
    发表于 10-16 09:24 5953次阅读
    基于<b class='flag-5'>LabVIEW</b>的FIR<b class='flag-5'>数字滤波器</b>设计

    基于LabVIEW平台的IIR数字滤波器设计

    基于LabVIEW平台的IIR数字滤波器设计
    发表于 01-20 16:27 43次下载

    基于LabVIEW的FIR数字滤波器设计

    基于LabVIEW的FIR数字滤波器设计。
    发表于 01-20 16:30 54次下载

    基于matlab的数字滤波器的设计及数字滤波器基本结构

    本文主要介绍了基于matlab的数字滤波器的设计及数字滤波器基本结构。
    发表于 06-05 08:00 27次下载

    基于LabVIEW数字滤波器设计过程

    通常,要设计数字滤波器,您需要依赖各种用于迭代设计,优化和最终实现的软件工具。但是,使用数字滤波器设计工具包(基于NI的 LabVIEW Express 技术),您可以在整个
    的头像 发表于 09-14 17:20 1.2w次阅读
    基于<b class='flag-5'>LabVIEW</b>的<b class='flag-5'>数字滤波器</b>设计过程

    FIR数字滤波器设计

    数字滤波器的输入输出均为数字信号,信号通过数字滤波器后,可以改变频率成分的相对比例或滤除某些频率成分。数字滤波器可以分为IIR数字滤波器和F
    的头像 发表于 04-05 09:47 5648次阅读

    数字滤波器labview程序

    数字滤波器labview程序免费下载。
    发表于 04-14 16:55 46次下载

    数字滤波器是什么 数字滤波器的性能指标

      数字滤波器的原理基于数字信号处理技术和滤波器算法,通过对离散时间信号进行处理和滤波实现对信号频率的选择性衰减和增强。
    发表于 02-24 11:23 5452次阅读