当前位置:文档之家› 基于MATLAB的谐波分析FFT

基于MATLAB的谐波分析FFT

目录(1)Matlab6.5以上版本软件; ..........................................................错误!未定义书签。

绪论. (1)1 公式分析及计算 (2)1.1傅里叶变换的原理 (2)1.2傅里叶变换的证明 (3)1.3 周期信号的分解 (3)1.4 方波的分解 (5)2 建模与仿真 (7)2.1建模 (7)2.2仿真 (8)3 仿真结果分析 (10)4 小结 (11)参考文献 (13)绪论方波是一种非正弦曲线的波形,通常会于电子和讯号处理时出现。

由于一般电子零件只有“高(1)”和“低(0)”两个值,方波就自然产生,所以理想方波只有“高”和“低”这两个值。

电流的波形为矩形的电流即为方波电流。

不论时间轴上下是不是对称的,只要是矩形就可叫方波,必要时,可加“对称”,“不对称”加以说明。

而在现实世界,方波只有有限的带宽。

因为方波可以快速从一个值转至另一个(即0→1或1→0),所以方波就用作时钟讯号来准确地触发同步电路。

但是如果用频率定义域来表示方波,就会出然一连串的谐波。

所以方波可用相应频率的基波及其奇次谐波合成。

在电路信号系统的分析中,随着电路规模的加大,微分方程的阶数以及联立后所得的方程的个数也随之加大,加上电器元件的多样化,这些都给解题运算分析电路系统带来了一定的困难。

传统的计算机编程语言,如FORTRAN、C语言等,虽然都可以帮助计算,但在处理高阶微分方程和大规模的联立方程组的问题时大量的时间和精力都花在矩阵处理和图形的生成分析等繁琐易错的细节上。

而MATLAB凭借其强大的矩阵运算能力、简便的绘图功能、可视化的仿真环境以及丰富的算法工具箱,已成为科研和工程技术人员的有力开发工具。

利用MATLAB不仅可以简单快速的求解电路方程,同时,MAYLAB提供的Simulink工具还可以直接建立电路模型,随意改变模型的参数,并且还可以快速得到仿真拟结果,进一步省去了编程的步骤。

MATLAB具有数值计算功能;图形处理及可视化功能;可视化建模及动态仿真功能等等。

它给用户带来的是最直观,最简洁的程序开发环境。

它的语言简洁紧凑,使用方便灵活,程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。

同时,它的运算符也很丰富。

由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

它的程序的可移植性,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

本文应用MATLAB来验证定理:方波可用相应频率的基波及其奇次谐波合成。

1 公式分析及计算1.1傅里叶变换的原理任何具有性质周期为T 的波函数()f t 都可以表示为三角函数所构成的级数之和,即:∑∞=++=10)sin cos (21)(n n n t n b t n a a t f ωω (1)其中:t 为时间,ω为角频率。

ω=Tπ2(T 为周期),第一项01a 2为直流分量。

图1 方波所谓周期性函数的傅里叶变换(Fourier transform )就是将周期性函数张凯成直流分量,基波和所有n 次谐波的叠加。

图1所示的方波可以写成函数形式:h (0≤t <2T )()f t =-h (-2T ≤t <0)在这里,h 为常数2。

很明显,此方波为奇函数,并且它没有常数项,同时,它是一个周期为T 的函数,所以我们可以用傅里叶级数来表示这个函数。

()f t =∑∞=--1])12sin[()121(4n t n n hωπ(2) 我们把它展开,可以得到:)7sin 715sin 513sin 31(sin 4)( ++++=t t t t ht f ωωωωπ (3)1.2傅里叶变换的证明下面,我们要从数学角度来证明为什么公式(3)能成立。

由于这是一个奇函数,常数项0a 可以用积分函数计算出来:2202a =()0TTf x dt T -=⎰所以其常数项不存在,即0a =0,下面开始计算n a 与n b :222=()cos()TT n a f x n t dt T ω-⎰020222()cos()cos()TT h n t dt h n t dt T T ωω-=-+⎰⎰[][]020222sin()sin()T T h h n t n t T n T n ωωωω-=-+0=222=()sin()TT n b f x n t dt T ω-⎰[][]020222cos()cos()TT h h n t n t T n T n ωωωω-=-+ 2[1(1)]n hn π=-- 由上式可知,当n =2,4,6,时,0n b =;当n =1,3,5,时,4n hb n π=。

然后我们将n a 与n b 都带入公式(1),就可以得到公式(3):)7sin 715sin 513sin 31(sin 4)( ++++=t t t t ht f ωωωωπ 如果我们取的项越多,就会越逼近原本的方波函数。

1.3 周期信号的分解周期信号是定义在(-∞, ∞)区间,每隔一定的时间T ,按相同规律重复变化的信号,它可表示为f(t)=f(t+mT)式中m 为任意整数。

时间T 称为该信号的重复周期,简称为周期。

需要指出的是,只有当周期信号满足狄里赫利条件时,才能展开为傅里叶级数。

狄里赫利条件是:1)函数在任意有限区间内连续,或只有有限个第一类间断点(当t 从左或右趋于这个间断点时,函数有有限的左极限和右极限) 2)在一周期内,函数有有限个极大值或极小值。

设有周期信号f(t),它的周期是T ,角频率Ω=2πF=Tπ2,它可分解为 (2-1)上式中系数a n ,b n 称为傅里叶系数。

为简便, 式积分区间(t 0, t 0+T )取为(-2T ,2T)或(0,T )。

考虑到正、余弦函数的正交条件,可得傅里叶系数a n =⎰-222TTT f (t)cos(n Ωt)dt, n=0,1,2,…… (2-2) b n =⎰-222TTT f (t)sin(n Ωt)dt, n=0,1,2,…… (2-3)式中T 为函数f(t)的周期,Ω=Tπ2为角频率,由上述两式,傅里叶系数a n 和b n 都+Ω++Ω+Ω++Ω++Ω+Ω+=t n b t b t b t n a t a t a a t f n n sin 2sin sin cos 2cos cos 2)(21210是n 的函数,其中a n 是n 的偶函数,即a n -= a n ;而b n 是n 的奇函数,既有b n -=- b n将式(2-1)中同频率项合并,可写成如下形式 f(t)=++Ω++Ω+)2cos()cos(222110ϕϕt A t A A …… =)cos(210n n n t n A A ϕ+Ω+∑∞= (2-4) 式中 00a A =A n =22b a +,n=1,2,……n ϕ=-arctan(nna b ) 如将式(2-4)的形式化为(2-1)的形式,他们系数之间的关系为 a 00A =a n n n A ϕcos =,n=1,2,……b n n n A ϕsin -=,式(2-4)表明,任何满足狄里赫利条件的周期函数可分解为直流和许多余弦(或正弦)分量。

其中第一项2A 是常数项,它是周期信号中所包涵的直流分量;式中第二项A )cos(11ϕ+Ωt 称为基波或一次谐波,它的角频率与原周期信号相同,A 1是基波振幅,1ϕ是基波初相角;式中第三项A )2cos(22ϕ+Ωt 称为二次谐波,它的频率是基波频率的两倍,A 2是二次谐波振幅,2ϕ是其初相角。

以此类推,还有三次、四次、……谐波。

一般而言,A )cos(n n t n ϕ+Ω称为n 次谐波,A n 是n 次谐波的振幅,n ϕ是其初相角。

式(2-4)表明,周期函数可以分解为各谐波分量。

1.4 方波的分解设方波信号f(t)的周期为T ,宽度为2T,将其展开为傅里叶级数由式(2-2)和(2-3)可得⎰-Ω=22)cos()(2T T n dtt n t f Ta=dt t n TT )cos()1(202Ω-⎰-+dtt n TT )cos()1(220Ω⎰()[]()[]02sin 1220sin 12T t n n T T t n n T ΩΩ•+-Ω-Ω•考虑到T π2=Ω,可得=n a()()()⎰⎰Ω+Ω-=-2002sin 2sin 12TT n dtt n T dt t n T b()()[]02cos 1220cos 12T t n n T T t n n T Ω-Ω•+-ΩΩ•=()[]⋯⋯=⋯⋯==-=,5,3,1n ,6,4,240cos 12n n n n πππ将它们代入到式(2-1),得到信号的傅里叶级数展开式为()()()()⎥⎦⎤⎢⎣⎡⋯+Ω+⋯+Ω+Ω+Ω=t n t t t t f sin n 15sin 513sin 31sin 4)(π,n=1,3,5,……它只含一、三、五…奇次谐波分量。

下图中画出了一个周期的方波组成情况,由图可见,当它包含的谐波分量愈多时,波形就愈接近原来的方波信号()t f (图中虚线所示),其均方误差愈小,还可以看出,频率较低的谐波,其振幅较大,他们组成方波的主体,而频率较高的高次谐波振幅较小,它们主要影响波形的细节,波形中所包含的高次谐波愈多,波形的边缘愈陡峭。

(a )基波 (b )基波“+”三次谐波(c )基波+三次谐波+五次谐波 (d )基波+三次谐波+五次谐波+七次谐波 由图中还可以看出,合成波形所包含的谐波,除间断点附近外,它愈接近于原方波信号。

在间断点附近,随着所含谐波次数的增高,合成波形的尖峰愈靠近间断点,但尖峰幅度并未明显减小。

可以证明,即使合成波形所含谐波次数n ∞→时,在间断点处仍有约9%的偏差,这种现象称为吉布斯现象。

在傅里叶级数的项数取得很大时,间断点处尖峰下的面积非常小以致趋近于零,因而在均方的意义上合成波形同原方波的真值之间没有区别。

2 建模与仿真2.1建模上文中,我们证明了一个以原点为奇对称中心的方波可以用奇次正弦波的叠加来逼近。

()f t 可以简化为()y t :111()sin sin 3sin 5sin(21)3521y t t t t k t k =++++-+- (4)如果我们能验证()y t 是方波,那么我们可以得出()f t 也是方波,只是()f t 的方波的幅值是()y t 幅值的4hπ倍。

已知方波的宽度为π,周期为2π,我们可以用MATLAB 程序来检验这种逼近的程度与特征。

程序如下:t = 0:.01:2*pi; % 设定一个时间数组, 有101 个点y = sin(t);plot(t,y),figure(gcf),pause % 频率为w=1(f=1/2π)的正弦基波 y = sin(t) + sin(3*t)/3; plot(t,y), pause % 叠加三次谐波 y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9; plot(t,y) % 用1, 3, 5, 7, 9 次谐波叠加% 为了绘制三维曲面, 要把各次波形数据存为一个三维数组, 因此必须重新定义y, 重编程。

相关主题