毕业设计(论文)基于labview的电力谐波分析

上传人:1888****888 文档编号:39627701 上传时间:2021-11-11 格式:DOC 页数:45 大小:1,013.01KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于labview的电力谐波分析_第1页
第1页 / 共45页
毕业设计(论文)基于labview的电力谐波分析_第2页
第2页 / 共45页
毕业设计(论文)基于labview的电力谐波分析_第3页
第3页 / 共45页
资源描述:

《毕业设计(论文)基于labview的电力谐波分析》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于labview的电力谐波分析(45页珍藏版)》请在装配图网上搜索。

1、摘 要本文提出了如何利用计算机来分析电力系统中存在的谐波的方法。电力系统中的谐波危害十分严重,能使电能的利用效率降低,烧毁设备,对通信系统也会产生严重的干扰,因此准确分析电力系统中的谐波信号变的十分必要。本文论述了采用LABVIEW软件分析电力系统中谐波信号的方法,实时显示谐波的时域信号,频域信号,经过滤波后的时域信号及频域信号。本文重点研究信号傅里叶变换;各种滤波器的性能,及对谐波信号的影响。通过如何使用计算机来实现快速傅里叶变换和设计IIR及FIR滤波器来加深对信号分析过程的理解。本文主要利用LABVIEW软件对信号进行时域及频域分析,用C语言来实现信号的傅里叶变换,和滤波器的设计,并通过

2、matlab来验证C语言实现的傅里叶变换和滤波器的结果。关键词:电力谐波;快速傅里叶; 滤波器设计 IABSTRACTThis paper puts forward how to use computer to analysis the harmonic existing in the electric power system The power system harmonic wave is severe, can make the electric energy efficiency in the use of equipment to reduce, burned, communica

3、tion system can also have serious interference, so accurate analysis of the power system harmonic signal is very necessary.This paper discusses the method how to analysis the harmonic signal existing in the power system ,display the time domain signal ,the frequency domain signal and the ones being

4、processed by filter using the labview software.This paper focuses on Fourier transform, the performance of some kinds of filters and the influence on the harmonic signal. Through how to use computer to realize fast Fourier transform and design IIR and FIR filters to deepen the understanding of signa

5、l analysis process.This paper mainly uses the labview software to analysis signal in time domain and frequence domain. Using the C language to design the Fourier transform and the filters. Through the matlab to verify the results of the Fourier transform and the filters designed by C language.Keywor

6、ds: Power harmonic; Fast Fourier transform; Filter designingII河南工大学毕业设计(论文)说明书目 录1 绪论11.1 选题意义11.2 电力谐波及其危害21.3 研究内容22 快速傅里叶变换及实现42.1 傅里叶变换的推导42.2 序列的傅里叶变换62.2.1信号的理想抽样62.2.2 序列傅里叶变换公式推导82.3 离散傅里叶变换92.4 快速傅里叶算法及实现103 滤波器设计及实现143.1 IIR 滤波器的设计及MATLAB仿真143.2 FIR 滤波器的设计及MATLAB仿真194 LABVIEW谐波分析软件224.1 系统

7、总图224.2 信号生成模块224.3 滤波模块254.3.1 IIR Filter模块264.3.2 FIR Filter模块274.4 Fourier 变换模块304.5 系统调试31总结32致 谢33参考文献34附 录35- 1 -河南工大学毕业设计(论文)说明书1 绪论1.1 选题意义随着科学技术的发展,各种电子产品在电力系统中得到大量应用,特别是各种非线性负载包括可控整流传动装置及高压直流输电系统的投入,以及各种电力电子装置在电力系统工业、交通、及家庭中的应用日益广泛,理想电力系统的近似程度变差,直接表现是电网中的电压和电流波形产生周期性畸变。电网中除了与供电电源同频率的正弦量(称为

8、基波分量)以外,还出现了一系列大于基波频率整倍数的正弦波分量(高次谐波分量)。这一系列正弦分量统称为电力谐波。当电网中存在的谐波成分超过一定指标,轻者增加能耗,缩短设备运行寿命,重则造成电事故,直接影响安全生产。所以对电网中谐波含量准确的测量,确切掌握电网中谐波的实际状况,对于防止谐波危害、维护电网的安全运行是十分必要的。LABVIEW是实验室虚拟仪器集成环境(Laboratory Virtual In-strument Engineering Workbench)开发平台的简称,是由美国 Na-tional Instruments (NI)公司开发的一种以数据流驱动的图形化(Graphics

9、)编程语言替代文本编程语言创建应用程序的开发工具,这种编程强调信号处理的过程,编程简单,调试方便, 其外观和操作方式也与诸如示波器、万用表等实际物理仪器相仿,使用者操作这台计算机,就像是在操纵一台自己专门设计的传统电子仪器。因此被广泛应用于电子、通信、生物医学、机械等众多学科领域。用 LABVIEW编制出的图形化 VI是分层次和模块化的。可以将之用于顶层程序,也可用作其他程序或子程序的子程序。一个VI用在其它VI中,称之为sub VI,sub VI在调用它的程序中同样是以一个图标的形式出现的;为了区分各个sub VI,它们的图标是可编辑的。LABVIEW依附并发展了模块化程序设计的概念。用户可

10、以把一个应用任务分解成为系列的任务,每个子任务还以分解成许多更低级的子任务,直到把一个复杂的问题分解成为许多子任务的组合。首先设计sub VI完成每个任务,然后将之逐步组合成为能够解决最终问题的VI。图形化的程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内敲有前途的发展方向。1.2 电力谐波及其危害电网谐波一般有三种来源:(1) 是发电源质量不高产生谐波,发电机由于三相绕组在制作上很难做到绝对对称,铁心也很难做到绝对均匀一致和其他一些原因,电源多少也会产生一些谐波,但一般来说很少。(2) 是输配电系统产生谐波,输配电系统中主要是电力变压器

11、产生谐波,由于变压器铁心的饱和,磁化曲线的非线性,加上设计变压器时考虑经济性,其工作磁密选择在磁化曲线的近饱和段上,这样就使得磁化电流呈尖顶波形,因而含有奇次谐波。(3) 是用电设备产生的谐波,晶闸管整理设备,变频装置,电弧炉,还有家用电器如电视机,计算机,等因有调压整流装置也会产生谐波。谐波的危害十分严重。谐波使电能的生产、传输和利用的效率降低,使电气设备过热、产生振动和噪声,并使绝缘老化,使用寿命缩短,甚至发生故障或烧毁。谐波可引起电力系统局部并联谐振或串联谐振,使谐波含量放大,造成电容器等设备烧毁。谐波还会引起继电保护和自动装置误动作,使电能计量出现混乱。对于电力系统外部,谐波对通信设备

12、和电子设备会产生严重干扰。因此对电网中谐波含量准确的测量,确切掌握电网中谐波的实际状况,对于防止谐波危害、维护电网的安全运行是十分必要的。1.3 研究内容本文研究重点可分为两个方面:理论分析和Labview软件设计。在理论分析方面重点研究了从傅里叶级数到快速傅里叶变换这一详细过程,将连续变为离散,将时域化为频域。并且对有限长滤波器和无线长滤波器作了一定的分析,用C语言编写程序计算出公式,然后用matlab分析滤波器的频域特性。Labview软件设计方面,本文用labview软件设计了一个教学演示程序。程序分为信号产生模块,滤波器模块,FFT模块。流程是将两个周期信号叠加分别经过IIR滤波器和F

13、IR滤波器,最后分别进行FFT分析。此Labview系统软件的目的是验证各种滤波器的性能,对FFT有更好的理解,加深对基础知识的掌握。422 快速傅里叶变换及实现计算离散傅里叶变换的一种快速算法,简称FFT。快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。正是由于FFT的出现,使信号的频域分析不再只停留在纯粹的数学公式上,更使在硬件上的实现变为了一种可能,从而在实际工程中得到了广泛的应用,下面将开始分析如何将时域的信号转变到频域中去。2.1 傅里叶变换的

14、推导在高等数学中学过傅里叶级数,可知任一信号都能分解为正弦分量和余弦分量,公式如下:(2-1)其中: (1)指数形式的傅里叶级数推导:由欧拉公式可得:将上式代入式整理可得:(2-2),则(2-2)式可化简为 (2-3)(2)傅里叶变换推导:而 =(j)(j)=则*= ,T=令 T,= 则 可推出: (2-4)而 ,所以:= (2-5) (2-4)和(2-5)两式就是傅里叶正反变换公式。就是我们最熟悉的时域信号,是以t为横轴,为纵轴的信号。而就是频域信号,是以w为横轴,为纵轴的信号。如果为连续周期信号,由傅里叶级数可知,可以分解为有限个正弦和余弦信号的叠加,则一定是离散的信号。如果为非周期连续的

15、信号,由傅里叶变换可知,一定也是是非周期连续的频谱信号。下面所有研究都集中在如何将(2-4)和(2-5)两式子离散化而进行的。离散化的顺序是先时域离散,后频域离散。2.2 序列的傅里叶变换时域信号的离散是靠抽样来实现的,抽样就是利用周期性抽样脉冲序列从连续信号中抽取一系列的离散值,得到抽样信号即离散时间信号。抽样器可以看成是一个电子开关,开关每隔T秒闭合一次。下面我们来分析信号被抽样后其频谱将如何变化。2.2.1信号的理想抽样输入信号: 抽样序列: =理想抽样输出: 将上述三式进行傅里叶变换:其中,FT表示信号的傅里叶变换将表示成复数形式的傅里叶级数:,则=FT=则 =FT=由此看出,一个连续

16、时间信号经过理想抽样后,其频谱将以抽样频率为间隔而重复出现,这就是频谱产生周期延拓的现象。为了方便以后的讨论,在这里我们引入数字频率w,它和模拟频率的关系为:可以看出,数字频率是模拟角频率对抽样频率的归一化值。2.2.2 序列傅里叶变换公式推导由上一小节我们抽样得到了序列,下面我们将对其进行傅里叶分析。首先我们定义序列的傅里叶变换为:DTFT表示离散时间傅里叶变换。由于时域是离散的,故频域一定是周期的。可以从下式看出是以为周期的正交周期性函数,所以也是以为周期的周期性函数。又由于时域是非周期的,则频域一定是以为变量的连续函数。下面我们来推导反变换公式。由于是连续函数,我们直接利用傅里叶反变换:

17、 = = =将上式中的m换成n,有由以上讨论我们得到了序列的傅里叶变换公式,将一个时域连续信号抽样得到抽样序列,然后求其离散傅里叶变换,进行频谱分析。得到的将是以为周期延拓的频域信号。序列的离散是使时间离散,频率连续,但是这还不适于在计算机上实现,我们希望时域和频域都是离散的,下面我们将讨论如何将连续频域离散化。2.3 离散傅里叶变换由上节讨论我们得到了序列的正反傅里叶变换对,如下:为了计算方便我们将数字频率换为模拟频率,关系为=,为抽样时间间隔,抽样频率为,角频率为代入上式:令,则,代入上式:=又 代入上式得正变换 反变换 此时时域和频域都是周期性离散信号了。2.4 快速傅里叶算法及实现从以

18、上的分析我们得出了离散傅里叶变换的公式,下面我们将重点研究如何改进其运算,使其能够用硬件实现,这就是快速傅里叶变换FFT。为了表达方便,我们引入符号:将上一节中的正反变换化简为: 上面两个式子差别只在于的指数符号不同,以及差一个常数乘因子,因而下面我只讨论正变换。按时间抽选的基-2 FFT算法原理:先设序列的点数为,L为整数。如果不满足这个条件,可以认为地加上若干零值点,使之达到这一要求。将的序列先按的奇偶分成以下两组: ,则将DFT化为 = =利用系数的可约性,即,上式可表达为: (2-6)中与分别是及的点DFT:(2-6)式只得到的是的前一半项数的结果,要用与式来表达全部值,还要用到系数的

19、周期性,即这样可得到同理可得:又由于前半部分X(k) 后半部分= 用蝶形信号流图符号表示:图2-1选法蝶形运算采用这种方法,并依次分解下去最后两个输入组成一个蝶形算法,下图为N=8的情况图2-2 按时间抽选法 FFT运算流图倒序算法:由上图看出,按原位计算时,FFT的输出是按照正常顺序排列在存储单元中的,但是这时的输入却不是按自然顺序存储的,而是俺看起来好像是“混乱无序”的,实际上是有规律才,我们称之为倒位序。造成倒位序的原因是输入按标号的奇偶不断分组。如下图,我们必须先将输入按照这个规律,调整顺序。图2-3位序的树状图的确定: 的求解方法如下:蝶形运算两节点中的第一个节点标号值,即K值,乘上

20、,M为第M级运算,L为总级数。由以上分析,我们用C语言来实现,程徐流程图如下图3-4所示。图2-4 基-2按时间抽选 FFT流程图3 滤波器设计及实现滤波器按所处理的信号可分为模拟滤波器和数字滤波器。按所通过信号的频段可分为:低通高通带通带阻滤波器。本章我们所讨论的是数字滤波器,数字滤波器也有低通高通带通带阻滤波器四种形式。而后三种滤波器可以通过低通滤波器数学变换得到,所以我们重点讨论数字低通滤波器的实现。而数字滤波器按实现形式不同可分为无限长单位冲激响应(IIR)滤波器和有限长单位冲激响应(FIR)滤波器,下面分别介绍,并实现。3.1 IIR 滤波器的设计及MATLAB仿真无限长滤波器有以下

21、几个特点:(1) 系统的单位冲激响应是无限长的;(2) 系统函数在有限z平面上有极点;(3) 结构上存在着输出到输入的反馈;其实现形式有四种:直接I型直接II行级联型和并联型四种。实现时我们多用级联型,下面只对其介绍。数字滤波器的系统函数可以分解为以下形式:其级联结构如下图4-1所示。图3-1 级联IIR结构网络级联的特点是调整系数就能单独调整滤波器的零极点,而不影响其他零极点,所以这种结构便于准确实现滤波器零极点和调整滤波器频率响应的性能。数字滤波器往往是由模拟滤波器离散化得来的,利用模拟滤波器设计数字滤波器步骤如下:(1) 将给定的数字滤波器的性能指标,按某一变换转换成相应的模拟滤波器的性

22、能指标。(2) 如果要设计的不是数字低通滤波器,则还需要将(1)中变换得到的相应的高通带通带阻模拟滤波器性能指标变换成模拟滤波器的性能指标。(3) 用所得到的模拟低通滤波器的性能能指标,利用某种模拟滤波器的逼近方法,设计查表求得此模拟低通滤波器的系统函数,以它作为设计数字滤波器的“样本”。(4) 利用与步骤(1) (2)中的变换规则,将此作为“样本”的模拟原型低通滤波器的系统函数最终变换成所需的数字各型滤波器的系统函数。模拟原型滤波器的设计有多种方法,例如巴特沃兹滤波器,切比雪夫滤波器等等。这里我们选用巴特沃兹滤波器。将模拟滤波器变换成数字滤波器有以下方法:冲激响应不变法阶跃响应不变法双线性变

23、换法。本节将利用巴特沃兹,双线性变换来设计一个低通数字滤波器:(1) 由所给指标,求得最低巴特沃兹低通滤波器的阶数N;(2) 由N值求系统极点,将系统函数表示成级联形式;(3) 利用双线性变换,查表得到数字滤波器的系统函数;(4) 用matlab来验证所得到的数字滤波器系统函数的正确性;N为偶数时,巴特沃兹系统函数可表示如下:N为奇数时,巴特沃兹系统函数可表示如下:将以上两式进行双线性变换时有两种情况:一阶系统的变换:因为此式一阶系统较为固定,且只在N为奇数时才出现,其双线性变换为:二阶系统的变换:因为上面两式大部分都可表示为二阶系统级联的形式,这种形式也利于编程实现,且二阶系统的双线性变换可

24、以查表,可以将表示成:其中系数之间的对应关系有表可查。下面是用C语言编程实现计算出技术指标为:抽样频率为10khz,频率为1khz时幅度值下降1dB,在频率为1.5khz时衰减为15dB时的系数:经求得,巴特沃兹系统函数为:双线性变换后的系数如下图3-2所示。图3-2 双线性变换后的系数用计算机计算好了系数后,用matlab程序验证如下:图3-3 幅值频率特性图3-4 域相位频率特性图3-5 域幅值频率特性图3-6 域相位频率特性3.2 FIR 滤波器的设计及MATLAB仿真IIR滤波器虽然易于实现,在相同的技术质变下,IIR滤波器由于存在着输出到熟入的反馈,所以可用比FIR滤波器较少的阶数来

25、满足指标的要求,但是其相位的非线性十分严重。而FIR滤波器可以得到严格的线性相位,在数据传输以及图像处理等要求具有线性相位的系统中有广泛的应用。有限长滤波器有以下几个特点:(1) 系统的单位冲激响应在有限个n值处不为零;(2) 系统函数在除原点的z平面处收敛,且只有零点;(3) 结构上主要是非递归结构,没有输出到输入的反应;其实现形式有横截I型(卷积型),级联型,频率抽样型和线性相位型。这里我们选用线性相位型,下面我们只对其介绍。我们知道,如果FIR滤波器单位冲激响应为实数,且满足一下的条件偶对称:奇对称: 则这种FIR滤波器就具有严格线性相位。FIR滤波器的系统函数为:当N为奇数时:代入相位

26、奇偶关系:结构图如图3-7所示。图3-7 N为奇数时线性相位FIR滤波器的直接型结构当N为偶数时:代入相位奇偶关系:结构图如下图3-8所示。图3-8 N为偶数时线性相位FIR滤波器的直接型结构本文采用FIR最优化设计,即加权切比雪夫等纹波逼近。仿真如下图3-8所示。图3-8 最优化设计幅值频率特性4 LABVIEW谐波分析软件4.1 系统总图系统总图如图4-1所示。时域谐波信号IIR 滤波器FIR滤波器FFT分析FFT分析图4-1 系统图由于条件限制本系统采用LABVIEW产生时域信号,将该信号分别经过IIR滤波器和FIR滤波器,然后对滤波后的信号进行频域分析。4.2 信号生成模块信号生成模块

27、如图4-2所示。图4-2 前面板图4-3 程序框图本子VI可产生两路正弦波或三角波,方波。信号的幅度和频率可调,用以方便组合成任意频率和幅值的信号,供后续分析之用。LABVIEW中有丰富的数学函数,对仿真十分便利。如本子VI中正弦波产生模块,只需要配置好参数,就能生成幅值和频率可调的正弦波。下面简单介绍正弦波模块:图4-4 Sine WaveReset phase:相位复位端,默认值为TRUE。如果外接的布尔常量为TRUE,则产生的信号的初试相位由phase in端的输入决定。如果外接的布尔常量为FALSE,则产生的信号的初试相位会跟随phase out端的输出而时刻变化。Samples:采样

28、点数,此值决定可显示的信号长度,默认值为128。Amplitude:幅值,默认值为1.0。Frequency:频率,此频率为归一化的频率。Frequency=cycles/sample,即每周期采样点数,可等价于 信号频率/采样频率。默认值为1/128。Phase in:初试相位输入,只有在Reset phase端为TRUE时才有效。Sine wave:正弦波输出。Phase out:下一个正弦波采样点的相位。正弦波表达式:yi = a*sin(phasei) (4-1)phasei = initial_phase + f*360*I (4-2)图4-5 正弦波本子VI可产生多种信号:正弦波、

29、三角波、方波,这是利用结构框图来实现的。与C语言等文本编程语言不同,LABVIEW中结构的实现是通过结构框图实现,将程序放到结构框图中就能实现C语言中if,while等功能,从这里可以看到LABVIEW图形化编程的特点。LABVIEW的另一个特点是层次化的编程模式,一个VI就是一个C语言里的一个函数,这个VI作为上层调用其他的VI,也可以作为子VI供其他VI调用。要将一个VI包装成一个子VI,需要经过以下三步:(1)新建一个Blank VI,编写程序框图。(2)编辑VI图标。打开前面板,右键单击右上角的图标,选择编辑图标,将弹出如图4.6所示的对话框,按自己需要编辑图标。(3)建立连接端子。继

30、续上步,右键单击图标,选择显示连接端子,如果所示的连接端子不够可以通过模式对话框重新选择。图4-6 图标编辑器4.3 滤波模块实际中的信号由于各种原因,会掺杂各种高频信号,进行信号分析时,需要将这些信号过滤掉。滤波器分为高通,低通,带通,带阻滤波器,我们会在以后的分析中来讲,这里我们选用低通滤波器。二滤波器的实现有IIR滤波器和FIR滤波器两种。我们利用LABVIEW分别设计了这两种滤波器。4.3.1 IIR Filter模块 图4-7 IIR滤波器程序框图LABVIEW中也有相应的信号处理模块,这里我们用到的Butterworth等滤波器详细介绍如下4-8所示。图4-8 Butterwort

31、h滤波器Filter type:指定滤波器的类型,具体如下表4-1所示。表2-1滤波器的类型X为滤波器的输入端;Sampling freq为滤波器的采样频率,必须大于0,默认值是1.0;High cutoff freq:滤波器的高频截止频率。如果filter type是0(Lowpass)或者1(Highpass)时,此VI会忽略这个参数。如果filter type是2(Bandpass),3(Bandstop),那么此值应该大于low cutoff freq,而且应该遵循乃奎斯特采样定律;Low cutoff freq为滤波器的低频截止频率,遵循乃奎斯特采样定律。默认值为0.125。当fil

32、ter type为2(Bandpass)或3(Bandstop)时。此值应当小于high cutoff freq;Order为滤波器的阶数,默认值为2;Init/cont决定内部状态的初始值,默认值为FALSE。当第一次运行此VI或者Init/cont为FALSE时LABVIEW初始化内部状态为0。如果Init/cont为TRUE,LABVIEW将内部状态初始化为上一次调用此VI时的最后的状态。Filtered X为波器的输出。4.3.2 FIR Filter模块图4-9 FIR滤波器的程序框图此子VI用到两个滤波器模块:FIR加窗滤波器系数和FIR滤波器。FIR加窗滤波器系数:此VI用来生成

33、你需要实现一种FIR窗口的过滤器的滤波系数。具体参数如下:图4-10 FIR加窗滤波器系数Window parameter为Kaiser窗的参数,Gaussian窗的标准差,切比雪夫窗主叶与旁瓣的比值。如果window为其他的窗函数,此VI忽略此输入。默认值为NaN,此时将Kaiser窗的参数设为0,Gaussian窗的标准差设为0.2,切比雪夫窗主叶与旁瓣的比值设为60;High cutoff freq为滤波器的高频截止频率。如果filter type是0(Lowpass)或者1(Highpass)时,此VI会忽略这个参数。如果filter type是2(Bandpass),3(Bandst

34、op),那么此值应该大于low cutoff freq,而且应该遵循乃奎斯特采样定律;Filter type为指定滤波器的类型,具体如下表2-2所示;表4-2滤波器的类型Sampling freq为滤波器的采样频率,必须大于0,默认值是1.0;Taps决定了FIR滤波器系数N,默认值为25。对高通和带阻滤波器,此值必须是奇数。Window为窗的类型,具体如下表4-3所示;表 4-3 窗的类型 Option指定是否限制FIR Windowed Coefficients的值。0:不限制。1:限制;FIR Windowed Coefficients为输出滤波器系数;FIR Filter是用参数为FI

35、R Coefficients的直接形式的FIR滤波器处理输入端X序列。具体参数如下图4-11所示;图4-11 FIR FilterInit/cont决定内部状态的初始值,默认值为FALSE。当第一次运行此VI或者Init/cont为FALSE时,labview初始化内部状态为0。如果Init/cont为TRUE,labview将内部状态初始化为上一次调用此VI时的最后的状态;X为滤波器的输入序列;FIR Coefficients为滤波器的系数。如果此值没有输入,滤波器将直接将输入送到输出端,不进行滤波。Filtered X为滤波器的输出。输出表达式如下。 (4-3)式中FIR Coeffici

36、ents的个数;为FIR Coefficients。4.4 Fourier 变换模块图4-12 FFT模块本VI由FFT VI和单边变换两部分组成,下面详细介绍:FFT VI的功能是对输入信号进行傅里叶变换,详细参数如下图4-13所示。图4-13 FFTX为复数形式的序列输入;Shift指定该VI是否将直流分量转移至FFTX的中心,默认值为FALSE;FFT size是FFT序列的长度。如果该值比输入的X的元素数目大,则在X序列的末尾补零。如果该值比输入的X的元素数目小,则只取前FFT size个X序列元素转换。如果FFT size小于等于0,则将X序列的长度作为FFT size;FFTX为傅

37、里叶转换的输出。傅里叶表达式为: (4-4)4.5 系统调试图4-14 程序框图总结本文结合labview仿真软件建立了一个研究谐波的软件系统,使信号的分析变得简单快捷。之后详细讨论了信号从时域到频域,从连续到离散的变化过程,从这个过程中深入体会了如何用数学工具分析实际中的物理现象的方法。傅里叶变换是分析信号特性的基础方法,它提供了另一个分析问题的角度,从频率的角度分析信号。而如何使用计算机来处理信号则是数字信号处理的核心问题,为此,将连续信号装变成离散信号和如何将连续福利叶变换转换为离散傅里叶变换紧密的联系在了一起。在得到信号的频域信息后,对信号的后期处理就十分方便了。IIR滤波器和FIR滤

38、波器就是基于频域分析的基础上展开的。在相同的技术指标下,IIR滤波器由于存在着输出对输入的反馈,所以可用比FIR滤波器较少的阶数来满足指标的要求,所以用的存储单元少,运算次数少,较为经济。FIR滤波器可得到严格的线性相位,而IIR滤波器做不到这一点,其相位的非线性越严重。致 谢大学四年的学习以今天的毕业论文画了一个句号。感谢大学四年,各位老师对我的教诲,感谢大家有缘能在生命中重要的四年,出现在彼此的生活中。很幸运,在我大学的最后一次作业的完成中,能得到各位老师的指导与帮助,有了一次宝贵的机会跟各位老师接触。各位老师严谨治学的态度,在我的心里留下深刻的影响,在以后的日子里,我要学习各位老师的求实

39、精神。这里,真诚的向老师说一句:各位老师,感谢您,祝您一切都好。 在此,同时感谢我的父母,对我的支持,没有他们的支持,我走不到今天。感谢与我共同走过大学的朋友们、同学们,每个在我脆弱、困难的时候,扶过我一把的你,我都记得。感谢上天,感谢命运,能有机会在彼此的生命中出现,并共同走过一个春天。感谢所有帮助过我的老师、同学、朋友,感谢你们,希望你们在以后的日子里,开心、快乐,希望你们过得比我好!历时半载,从论文选题到搜集资料,从开题报告、写初稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感

40、。最后,我要感谢四年的大学生活,感谢所有老师同学以及我的家人和那些永远也不能忘记的朋友,他们的支持与情感,是我永远的财富。参考文献1 王超,安建伟,周贤伟. 数字信号处理. 国防工业出版社. 20102 张德丰. MATLAB数字信号处理. 电子工业出版社. 20103 李正周. MATLAB数字信号处理与应用. 清华大学出版社. 20084 郑成德. 数值计算方法. 清华大学出版社. 20105 谢进,李大美. MATLAB与计算方法实验. 武汉大学出版社. 20096 王新民,董小刚. 计算方法简明教程. 科学出版社. 20107 雷振山,赵晨光,魏丽. LabVIEW 8.2基础教教程.

41、 中国铁道出版社. 20088 张桐,陈国顺,王正林. 精通LabVIEW程序设计. 电子工业出版社. 20089 陈锡辉,张银鸿. LabVIEW 8.20程序设计从入门到精通. 清华大学出版社. 200810 李刚,林凌. LabVIEW. 北京航空航天大学出版社. 2001附 录FFT C语言程序#include#include#includetypedef std:complex complex;int N=16,N1=4; /N为总输入数,N1为总级数int r=0;complex a64,b64;/a64为每一级蝶形算法输入,b64为每一级蝶形算法的输出const double p

42、i=3.141592653589793;int reverse_order(int N,int a) /倒序算法 N为总级数(带入N1)int c20,res=0; for(int i=N-1;i=0;i-) if(a%2=0) ci=0; else ci=1; a=a/2; res+=ci*pow(2,i); return res ;void butterfly(int layer) complex w; int c1=pow(2,N1-layer); /本级包含基本蝶形算法的次数 int c2=pow(2,layer-1); /本级蝶形算法包含的次数 int c3=pow(2,layer)

43、; for(int i=0;ic1;i+) for(int j=0;jc2;j+) r=j*pow(2,N1-layer); w=complex(cos(2*pi*r/N),-sin(2*pi*r/N); bj+i*c3=aj+i*c3+aj+c2+i*c3*w; bj+c2+i*c3=aj+i*c3-aj+c2+i*c3*w; for(int k=0;kN;k+) ak=bk; void fft() int i; for(i=0;iN1;i+) butterfly(i+1); void main() int i; double num164=1,2,3,4,5,6,7,8,0,0,0,0,0

44、,0,0,0; /输入 double num264; double res;for(i=0;iN;i+) /倒序 num2i=num1reverse_order(N1,i); for(i=0;iN;i+) /初始化 ai=complex(num2i,0); fft();for(i=0;iN;i+) res=sqrt(ai.real()*ai.real()+ai.imag()*ai.imag(); printf(%ft,X); IIR 滤波器实现C语言程序#include#includeint N; /阶数double e120; /s域系数存储double A020,A120,A220,B22

45、0,B120; /z域系数存储double wc; /通带截止频率double fs=10000; /抽样频率double pi=3.141592653589793;void Butterworth(double f1,double f2,double d1,double d2)int i;f1=2*pi*f1;f2=2*pi*f2;N=(int)(log10(pow(10,d1/10)-1)/(pow(10,d2/10)-1)/(2*log10(f1/f2)+1;wc=f1/pow(pow(10,d1/10)-1,(double)1/(2*N);if(N%2=0) /N为偶数for(i=1;

46、i=N/2;i+)e1i-1=-2*wc*cos(pi/2+(double)(2*i-1)*pi/(2*N);else /N为奇数for(i=1;i=(N-1)/2;i+)e1i-1=-2*wc*cos(pi/2+(double)(2*i-1)*pi/(2*N);void ZTransform()int i;double c=2*fs;double R20;double d0,d1,d2,e0,e2;d0=wc*wc;d1=0;d2=0;e0=wc*wc;e2=1;if(N%2=0) /N为偶数for(i=0;iN/2;i+)Ri=(e0+e1i*c+e2*c*c);for(i=0;iN/2;

47、i+)A0i=(d0+d1*c+d2*c*c)/Ri;A1i=(2*d0-2*d2*c*c)/Ri;A2i=(d0-d1*c+d2*c*c)/Ri;B1i=(2*e0-2*e2*c*c)/Ri;B2i=(e0-e120*c+e2*c*c)/Ri;elsefor(i=0;i(N-1)/2;i+)Ri=(e0+e1i*c+e2*c*c);for(i=0;i(N-1)/2;i+)A0i=(d0+d1*c+d2*c*c)/Ri;A1i=(2*d0-2*d2*c*c)/Ri;A2i=(d0-d1*c+d2*c*c)/Ri;B1i=(2*e0-2*e2*c*c)/Ri;B2i=(e0-e1i*c+e2*c

48、*c)/Ri;void main()int i;double d=1;Butterworth(1000,1500,1,15);ZTransform();printf(离散后的Z域分子分母的系数n);for(i=0;i c1=1,3640.03,49450400; /S域验证 c2=1,9944.75,49450400; c3=1,13584.78,49450400; c=conv(c1,conv(c2,c3); H1,w1=freqs(d,c); plot(w1,abs(H1); plot(w1,angle(H1); a1=0.094686,0.189372,0.094686; /Z域验证 a

49、2=0.076271,0.152541,0.076271; a3=0.068571,0.137142,0.068571; a=conv(a1,conv(a2,a3); b1=0.591303,-1.342459,1; b2=0.476302,-1.081368,1; b3=0.428219,-0.972202,1; b=conv(b1,conv(b2,b3); H,w=freqz(a,b); plot(w,abs(H); plot(w,angle(H);FIR 滤波器matlab仿真程序 f=0,0.6,0.7,1; A=1,1,0,0; weigh=1,10; b=remez(32,f,A,weigh); h,w=freqz(b,1,256); plot(w,abs(h);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!