文档库 最新最全的文档下载
当前位置:文档库 › 用MATLAB进行FFT谐波分析

用MATLAB进行FFT谐波分析

用MATLAB进行FFT谐波分析
用MATLAB进行FFT谐波分析

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FFT。

现在就根据实际经验来说说FFT结果的具体物理意义。一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍,这些我就不在此罗嗦了。

采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。

假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs 为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。

假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。对于n=1点的信号,是直流分量,幅度即为A1/N。

由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。

好了,说了半天,看着公式也晕,下面以一个实际的信号来做说明。

假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V 的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。用数学表达式就是如下:

S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)

式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。实际情况如何呢?我们来看看FFT的结果的模值如图所示。

图1 FFT结果

从图中我们可以看到,在第1点、第51点、和第76点附近有比较大的值。我们分别将这三个点附近的数据拿上来细看:

1点: 512+0i

2点: -2.6195E-14 - 1.4162E-13i

3点: -2.8586E-14 - 1.1898E-13i

50点:-6.2076E-13 - 2.1713E-12i

51点:332.55 - 192i

52点:-1.6707E-12 - 1.5241E-12i

75点:-2.2199E-13 -1.0076E-12i

76点:3.4315E-12 + 192i

77点:-3.0263E-14 +7.5609E-13i

很明显,1点、51点、76点的值都比较大,它附近的点值都很小,可以认为是0,即在那些频率点上的信号幅度为0。接着,我们来计算各点的幅度值。分别计算这三个点的模值,结果如下:

1点: 512

51点:384

76点:192

按照公式,可以计算出直流分量为:512/N=512/256=2;50Hz信号的幅度为:384/(N/2)=384/(256/2)=3;75Hz信号的幅度为192/(N/2)=192/(256/2)=1.5。可见,从频谱分析出来的幅度是正确的。

然后再来计算相位信息。直流信号没有相位可言,不用管它。先计算50Hz信号的相位,atan2(-192, 332.55)=-0.5236,结果是弧度,换算为角度就是180*(-0.5236)/pi=-30.0001。再计算75Hz信号的相位,atan2(192, 3.4315E-12)=1.5708弧度,换算成角度就是180*1.5708/pi=90.0002。可见,相位也是对的。根据FFT结果以及上面的分析计算,我们就可以写出信号的表达式了,它就是我们开始提供的信号。

总结:假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数

atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。具体的频率细分法可参考相关文献。

[附录:本测试数据使用的matlab程序]

close all; %先关闭所有图片

Adc=2;%直流分量幅度

A1=3;%频率F1信号的幅度

A2=1.5; %频率F2信号的幅度

F1=50;%信号1频率(Hz)

F2=75;%信号2频率(Hz)

Fs=256; %采样频率(Hz)

P1=-30; %信号1相位(度)

P2=90;%信号相位(度)

N=256;%采样点数

t=[0:1/Fs:N/Fs]; %采样时刻

%信号

S=Adc+A1*cos(2*pi*F1*t+pi*P1/180)+A2*cos(2*pi*F2*t+pi*P2/180);

%显示原始信号

plot(S);

title('原始信号');

figure;

Y = fft(S,N); %做FFT变换

Ayy = (abs(Y)); %取模

plot(Ayy(1:N)); %显示原始的FFT模值结果

title('FFT 模值');

figure;

Ayy=Ayy/(N/2);%换算成实际的幅度

Ayy(1)=Ayy(1)/2;

F=([1:N]-1)*Fs/N; %换算成实际的频率值

plot(F(1:N/2),Ayy(1:N/2));%显示换算后的FFT模值结果

title('幅度-频率曲线图');

figure;

Pyy=[1:N/2];

for i="1:N/2"

Pyy(i)=phase(Y(i)); %计算相位

Pyy(i)=Pyy(i)*180/pi; %换算为角度

end;

plot(F(1:N/2),Pyy(1:N/2));%显示相位图

title('相位-频率曲线图')

基于matlab谐波抑制的仿真研究(毕设)

电力系统谐波抑制的仿真研究 目 录 1 绪论…………………………………………………………………………… 1.1 课题背景及目的………………………………………………………… 1.2国内外研究现状和进展………………………………………………… 1.2.1国外研究现状 …………………………………………………… 1.2.1国内研究现状 …………………………………………………… 1.3 本文的主要内容…………………………………………………………… 2 有源电力滤波器及其谐波源研究……………………………………………… 2.1 谐波的基本概念………………………………………………………… 2.1.1 谐波的定义……………………………………………………… 2.1.2谐波的数学表达………………………………………………… 2.1.3电力系统谐波标准………………………………………………… 2.2 谐波的产生……………………………………………………………… 2.3 谐波的危害和影响……………………………………………………… 2.4 谐波的基本防治方法…………………………………………………… 2.5无源电力滤波器简述…………………………………………………… 2.6 有源电力滤波器介绍…………………………………………………… 2.6.1 有源滤波器的基本原理.……………………………………… 2.6.2 有源电力滤波器的分类.……………………………… 2.7并联型有源电力滤波器的补偿特性…………………………………… 2.7.1谐波源………………………………………………………… 2.7.2有源电力滤波器补偿特性的基本要求…………………………… 2.7.3影响有源电力滤波器补偿特性的因素…………………………… 2.7.4并联型有源电力滤波器补偿特性……………………………… 2.8 谐波源的数学模型的研究……………………………………………… 2.8.1 单相桥式整流电路非线性负荷………………………………… 2.8.2 三相桥式整流电路非线性负荷.………………………………… 3 基于瞬时无功功率的谐波检测方法…………………………………………… 3.1谐波检测的几种方法比较…………………………………………… 3.2三相电路瞬时无功功率理论…………………………………………… 3.2.1瞬时有功功率和瞬时无功功率……………………………………… 3.2.2瞬时有功电流和瞬时无功电流……………………………………… 3.3 基于瞬时无功功率理论的p q -谐波检测算法.…………………… 3.4基于瞬时无功功率理论的p q i i -谐波检测法.…………………… 4并联有源电力滤波器的控制策略…………………………………………… 4.1并联型有源电力滤波器系统构成及其工作原理………………………… 4.2并联有源电力滤波器的控制研究.……………………………… 4.2.1并联有源电力滤波器直流侧电压控制…………………… 4.2.2有源电力滤波器电流跟踪控制技术…………………………… 4.2.2.1 PWM 控制原理………………………………………… 4.2.2.2滞环比较控制方式………………………………………… 4.2.2.3三角波比较方式………………………… 4.3有源电力滤波器的主电路设计 …………………………………………

Matlab中的FFT使用说明

FFT是Fast Fourier Transform(快速傅里叶变换)的简称,FFT算法在MATLAB 中实现的函数是Y=fft(x,n)。刚接触频谱分析用到FFT时,几乎都会对MATLAB 的fft函数产生一些疑惑,下面以看一个例子(根据MATLA帮助修改)。 Fs = 2000; % 设置采样频率 T = 1/Fs; % 得到采用时间 L = 1000; % 设置信号点数,长度1 秒 t = (0:L-1)*T; % 计算离散时间, % 两个正弦波叠加 f1 = 80; A1 = 0.5; % 第一个正弦波100Hz,幅度0.5 f2 = 150; A2 = 1.0 ; % 第2个正弦波150Hz,幅度 1.0 A3 = 0.5; % 白噪声幅度; x = A1*sin(2*pi*f1*t) + A2*sin(2*pi*f2*t); % 产生离散时间信号; y = x + A3*randn(size(t)); % 叠加噪声; % 时域波形图 subplot(2,1,1) plot(Fs*t(1:50),x(1:50)) title('Sinusoids Signal') xlabel('time (milliseconds)') subplot(2,1,2) plot(Fs*t(1:50),y(1:50)) title('Signal Corrupted with Zero-Mean Random Noise') xlabel('time (milliseconds)') NFFT = 2A nextpow2(L); % 设置FFT点数,一般为2 的N次方,如1024,512 等Y = fft(y,NFFT)/L; % 计算频域信号, f = Fs/2*linspace(0,1,NFFT/2+1); %频率离散化,fft后对应的频率是-Fs/2到Fs/2,由NFFT个离散频点表示 % 这里只画出正频率; % Plot single-sided amplitude spectrum. figure; plot(f,2*abs(Y(1:NFFT/2+1))); % fft 后含幅度和相位,一般观察幅度谱,并把负频率加上去, title('Single-Sided Amplitude Spectrum of y(t)') xlabel('Frequency (Hz)')

基于MATLAB的电力谐波分析

目录 摘要 (2) Abstract (2) 1:绪论 (2) 1.1课题背景 (2) 1.2谐波的产生 (3) 1.3电网中谐波的危害 (5) 1.4研究谐波的重要性 (5) 2:谐波的限制标准和常用措施 (7) 2.1国外谐波的标准和规定 (8) 2.1.1谐波电压标准 (8) 2.1.2谐波电流的限制 (9) 2.2我国谐波的标准和规定 (9) 2.2.1谐波电压标准 (10) 2.2.2谐波电流的限制 (11) 2.3谐波的限制措施 (12) 3:谐波的检测与分析 (15) 3.1电力系统谐波检测的基本要求 (15) 3.2国内外电力谐波检测与分析方法研究现状 (15) 3.3谐波的分析 (18) 3.3.1电力系统电压(或电流)的傅立叶分析 (19) 3.3.2基于连续信号傅立叶级数的谐波分析 (19) 4:电力谐波基于FFT的访真 (21) 4.1快速傅立叶变换的简要和计算方法 (21) 4.1.1快速傅立叶变换的简要 (21) 4.1.2快速傅立叶变换的计算方法 (21) 4.2 FFT应用举例 (22) 5:结论 (28) 附录: (28) 参考文献: (30) 致谢: (30)

基于MATLAB的电力谐波分析 学生: 指导老师: 电气信息工程学院 摘要:电力系统的谐波问题早在20世纪20年代就引起人们的注意,到了50年代和60年代,由于高压直流输电技术的发展,发表了有关换流器引起电力系统谐波问题的大量论文。70年代以来,由于电力电子技术的飞速发展,各种电力电子装置在电力系统、工业、交通及家庭中的应用日益广泛,谐波所造成的危害也日趋严重。世界各国都对谐波问题予以充分的关注。 本文首先对目前国内外电力谐波检测与分析方法进行了综述与展望,并对电力谐波的基本概念、性质和特征参数进行了详细的分析,给出了谐波抑制的措施。并得出基于连续信号傅立叶级数的各次谐波系数的计算公式,推导了该计算公式与MATLAB函数FFT计算出的谐波系数的关系。实例证明:准确测量各次谐波参数,对电力系统谐波分析和抑制具有很大意义,可确保系统安全、可靠、经济地运行。同时实验结果表明,该法对设备要求不高,易于实现。 关键字:MA TLAB电力谐波分析 Harmonic Analysis of Electric Power System Based On Matlab Student: Teacher: Electrical and Information Engineering Abstract:The harmonic problem of electric power system has caused the attention of people in1920s and 1930s.Until 1950s,owing to the development of high voltage direct current transportation electricity technology,people published a large number of theses about the electricity power system harmonic problem,which caused by the current transform device.Since 1970s,because of the speedly development of eletricity power electronics technology,the various electric power electronics devices were applied extensively in the electric power system,industry,traffic and family,but the harm which the harmonic creates was serious more and more.Many country of the world all pay attention to the harmonic problem. Summary and Prospects of the first domestic and international power harmonics detection and analysis methods, and power harmonics of the basic concepts of the nature and characteristic parameters of a detailed analysis, given a harmonic suppression measures. Obtained based on the

电流平均值谐波检测方法MATLAB仿真

摘要 本论文首先对国内外谐波抑制技术发展现状、有源电力滤波器原理与结构及三相瞬时无功功率理论进行了综述。重点研究了基于瞬时无功功率 理论。检测法及改进的电流移动平均值谐波检测法。在对电流移动平均值原理进行分析的基础上,给出了电流平均值谐波检测方案及实现检测的原理框图。 接着以MATLAB6.1软件包中的SIMULINK仿真环境为平台,构建了平均值谐波检测法的仿真模型;对电流平均值谐波检测方案进行了仿真研 究,并与基于滤波器的。谐波检测法的仿真结果进行了分析对比。结果表明,所采用的仿真方法与所构建的仿真模型不仅有效,而且证实了平均值谐波检测法比滤波器法有良好的动态响应性能。 在仿真基础上,提出了基于LF2407ADSP芯片电流平均值谐波检测法的数字实现方案,进而开发了三相并联型数字有源电力滤波器实验系统。进行了软、硬件设计。搭建的硬件电路包括:过零同步检测、电流和电压检测、PWM输出等几部分。采用模块化设计思路,用DSP汇编语言编写了系统软件,其中包括:ADC及中断处理、捕获及捕获中断处理、三相到两相电流转换、平均值法谐波计算、两相到三相变换、PI调节、PWM输出 控制及主程序等模块,并在软件开发系统下进行了调试。为实现电流同步采样处理,根据LF2407A事件管理器捕获单元特点,提出一种用软件实现锁相环的控制方法。 最后对有源电力滤波器进行了系统调试。实验结果表明,采用电流平均值谐波检测法结合软件锁相环控制方法能有效、准确的检测谐波,用该检测法开发的DSP有源电力滤波器实验系统,能够有效消除由非线性负载产生的谐波。关键词有源电力滤波器,瞬时无功功率,谐波电流检测,电流移动平均值,数字信号处理器 关键词有源电力滤波器,瞬时无功功率,谐波电流检测,电流移动平均值,数字信号处理器

按时间抽取的基2FFT算法分析与MATLAB实现

按时间抽取的基2FFT 算法分析及MATLAB 实现 一、DIT-FFT 算法的基本原理 基2FFT 算法的基本思想是把原始的N 点序列依次分解成一系列短序列,充分利用旋转因子的周期性和对称性,分别求出这些短序列对应的DFT ,再进行适当的组合,得到原N 点序列的DFT ,最终达到减少运算次数,提高运算速度的目的。 按时间抽取的基2FFT 算法,先是将N 点输入序列x(n)在时域按奇偶次序分解成2个N/2点序列x1(n)和x2(n),再分别进行DFT 运算,求出与之对应的X1(k)和X2(k),然后利用图1所示的运算流程进行蝶形运算,得到原N 点序列的DFT 。只要N 是2的整数次幂,这种分解就可一直进行下去,直到其DFT 就是本身的1点时域序列。 图1 DIT-FFT 蝶形运算流图 二、DIT-FFT 算法的运算规律及编程思想 1.原位计算 对N=M 2点的FFT 共进行M 级运算,每级由N/2个蝶形运算组成。在同一级中,每个蝶的输入数据只对本蝶有用,且输出节点与输入节点在同一水平线上,这就意味着每算完一个蝶后,所得数据可立即存入原输入数据所占用的数组元素(存储单元),经过M 级运算后,原来存放输入序列数据的N 个存储单元中可依次存放X(k)的N 个值,这种原位(址)计算的方法可节省大量内存。 2.旋转因子的变化规律 N 点DIT ―FFT 运算流图中,每个蝶形都要乘以旋转因子p W N ,p 称为旋转因子的指数。例如N =8 =3 2 时各级的旋转因子: 第一级:L=1, 有1个旋转因子:p W N =J /4W N =J 2L W J=0 第二级:L=2,有2个旋转因子:p W N =J /2W N =J 2L W J=0,1 第三级:L=3,有4个旋转因子:p W N =J W N =J 2L W J=0,1,2,3 对于N =M 2的一般情况,第L 级共有1 -L 2个不同的旋转因子: p W N =J 2L W J=0,1,2,… ,1 -L 2-1 L 2=M 2×M -L 2 = N ·M -L 2 故: 按照上面两式可以确定第L 级运算的旋转因子

matlab信号仿真谐波

综合训练① 实验内容:利用matlab绘制频率自定的正弦信号(连续时间和离散时间),复指数信号(连续时间),并举例实际中哪些物理现象可以用正弦信号,复指数信号来表示。绘制成谐波关系的正弦信号(连续时间和离散时间),分析其周期性和频率之间的关系。实验步骤: 一、绘制谐波关系的正弦信号 分析:由于正弦信号可以表示成两个共轭的复指数信号相减,然后再除去两倍的单位虚数得到,故,我们将正弦信号设置为 X=exp(j*pi*n/4)-exp(-j*pi*n/4))/(2*j) 此信号就相当于 x=sin(pi*n/4) 设计程序如下: n=[0:32]; %设置n的取值 x=(exp(j*pi*n/4)-exp(-j*pi*n/4))/(2*j); %限定离散正弦信号 stem(n,x) %绘制该离散正弦信号 通过Matlab所得图形如下:

分析:同样的连续型的正弦信号同样也可以用类似方式绘制. x=sym('(exp(j*pi*t/T)+exp(-j*pi*t/T))/2');%函数表示正弦信号 x5=subs(x,5,'T'); %设置周期大小ezplot(x5,[0,10]) %绘制图形 所得结果如下:

二、绘制复指数信号 分析:由于复指数信号有实数部分和虚数部分,所以绘制其图形,我们采取了分别绘制的方法,将实数和虚数分别画出。 实验程序如下: t=[0:.01:10]; %产生时间轴的等差点 y=exp((1+j*10)*t); %设置复指数信号 subplot(211),plot(t,real(y)); %绘制实数信号图形 grid subplot(212),plot(t,imag(y)); %绘制虚数部分图形 grid 实验所得结果如下:

MATLAB中FFT结果的物理意义

FFT结果的物理意义 最近正在做一个音频处理方面的项目,以前没有学过fft,只是知道有这么个东西,最近这一用才发现原来欠缺这么多,最基本的,连fft的输入和输出各自代表什么都不知道了,终于在网上查到这样的一点资料,得好好保存了,也欢迎大家分享。 FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FFT。现在圈圈就根据实际经验来说说FFT结果的具体物理意义。一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍,这些我就不在此罗嗦了。 采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N(ps:横坐标第n个点对应的频率值Fn的计算公式。整个横坐标代表了采样频率Fs,被分为N点。故其频率分辨率为Fs/N)。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。 假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。对于n=1点的信号,是直流分量,幅度即为A1/N。由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。 好了,说了半天,看着公式也晕,下面圈圈以一个实际的信号来做说明。假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。用数学表达式就是如下:S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。实际情况如何呢?我们来看看FFT的结果的模值如图所示。

基于matlab的信号合成与分解

为了便于进行周期信号的分析与处理,常要把复杂的周期信号进行分解,即将周期信号分解为正余弦等此类基本信号的线性组合,通过对这些基本信号单元在时域和频域特性的分析来达到了解信号特性的目的。本文主要阐述了傅立叶级数的推演过程,从而得出周期信号的分解与合成的基本原理。 1 绪论 研究信号是为了对信号进行处理和分析,信号处理是对信号进行某些加工或变换,目的是提取有用的部分,去掉多余的部分,滤除各种干扰和噪声,或 将信号进行转化,便于分析和识别。信号的特性可以从时间特性和频率特性两 方面进行描述,并且信号可以用函数解析式表示(有时域的,频域的及变化域 的),也可用波形或频谱表示。 系统分析的主要任务是分析系统对指定激励所产生的影响。其分析过程主要包括建立系统模型,根据模型建立系统的方程,求解出系统的响应,必要时 对解得的结果给出物理解释。系统分析是系统综合与系统诊断的基础。 任何满足狄里赫利条件的周期信号都是由各种不同频率、幅度和初相的正弦波叠加而成的。对周期信号由它的傅立叶级数展开式可知,各次谐波为基波 频率的整数倍。而非周期信号包括了从零到无穷大的所有频率成分,每一个频 率成分的幅度均趋向无穷小,但其相对大小式不同的。 信号的分解与合成 周期信号的信号分解与合成 设有周期信号,它的周期为T,角频率,则的三角傅里 叶级数表示的一般形式为 (2.2-1) 其中

可以写成更紧凑的和式为: 式(2.2-1)中的系数、称为傅里叶系数,为在函数中的分量(相对大小);为在函数中的分量,它可由式(2.1-7)求 得。为简便,式(2.1-7)的积分区间取为或。考虑到正、余弦函数的正交条件(2.1-3),由式(2.1-7),可得傅立叶系数 (2.2-2) 周期信号也可分解为一系列余弦信号,即: 其中 方波信号的分解与合成 现以周期为T、幅值为1的方波信号为例 方波信号的分解与合成【12】 由式(2)可得

信号与系统课程设计-用MATLAB模拟方波信号的分解与合成

信号与线性系统 课程设计 题目 学号姓名学号姓名学号姓名学号姓名 院系 年级 专业 日期

摘要 的方波信号进行傅里叶级数展开,并绘制离散幅度利用MATLAB对周期为T 谱和不同次谐波叠加后的图形。通过观察绘制的各个图像,加深对傅立叶变换和信号的分解与合成的理解。 Abstract Expanded the square wave signal with periodic T0 to Fourier series by MATLAB , and drew the discrete spectrum and plot the patterns after different sub harmonics are superimposed. Through the observation of each image, deepen the understanding of the Fourier transform and signal decomposition and synthesis. 关键词:矩形信号傅里叶级数谐波叠加分解与合成 Keywords: Squarewave signal.Fourier series. Harmonic superposition. Decomposition and synthesis 一、设计目的和要求 本设计主要利用MATLAB绘制信号的离散幅度谱和各次谐波叠加后的波形,通过观察谐波展开次数增加后的波形,进一步掌握信号分解与合成的原理。 培养运用所学知识分析解决问题的能力。 掌握用MATLAB实现通信系统仿真实验的能力。 这里要做一个信号的分解与合成的仿真系统,利用matlab软件的仿真模拟能力来体现信号的分解与合成过程中出现的情况。

用matlab进行fft谐波分析

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。 虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FFT。 现在就根据实际经验来说说FFT结果的具体物理意义。一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍,这些我就不在此罗嗦了。 采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。 假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs 为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。 假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。对于n=1点的信号,是直流分量,幅度即为A1/N。 由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。 好了,说了半天,看着公式也晕,下面以一个实际的信号来做说明。 假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V 的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。用数学表达式就是如下: S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180) 式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。实际情况如何呢?我们来看看FFT的结果的模值如图所示。

利用MATLAB实现信号DFT的计算

07级电信(2)班 刘坤洋 24 实验一 利用MATLAB 实现信号DFT 的计算 一、实验目的: 1、熟悉利用MATLAB 计算信号DFT 的方法 2、掌握利用MATLAB 实现由DFT 计算线性卷积的方法 二、实验设备:电脑、matlab 软件 三、实验内容: 1、练习用matlab 中提供的内部函数用于计算DFT (1) fft (x ),fft (x ,N ),ifft (x ),ifft (x ,N )的含义及用法 (2) 在进行DFT 时选取合适的时域样本点数N 请举例,并编程实现 题目: 源程序: >> N=30; %数据的长度 >>L=512; %DFT 的点数 >>f1=100; f2=120; >>fs=600; %抽样频率 >>T=1/fs; %抽样间隔 >>ws=2*pi*fs; >>t=(0:N-1)*T; >>f=cos(4*pi*f1*t)+cos(4*pi*f2*t); >>F=fftshift(fft(f,L)); >>w=(-ws/2+(0:L-1)*ws/L)/(2*pi); >>hd=plot(w,abs(F)); >>ylabel('幅度谱') >> xlabel('频率/Hz') 的频谱 分析利用)π4cos()π4cos()(DFT 21t f t f t x +=Hz 600,Hz 120,Hz 10021===s f f f

>> title('my picture') 结果图: (3) 在对信号进行DFT 时选择hamming 窗增加频率分辨率 请举例,并编程实现 题目: 源程序:>> N=50; %数据的长度 >>L=512; %DFT 的点数 >>f1=100;f2=150; >>fs=600; %抽样频率 >>T=1/fs; %抽样间隔 >>ws=2*pi*fs; >>t=(0:N-1)*T; >>f=cos(4*pi*f1*t)+0.15*cos(4*pi*f2*t); 的频谱 分析利用)π4cos(15.0)π4cos()(DFT 21t f t f t x +=Hz 600,Hz 150,Hz 10021===s f f f

信号matlab仿真实验复习

一. 生成一个基频为20Hz ,幅度为±1的周期方波信号; (1)试确定该信号的周期? (2)画出该信号5个周期内的波形;画出该信号的幅度频谱图; (3)该信号谱线间隔和频带宽度是多少,对它进行时域采样,采样频率Fs 至少为多少? (4)设计一个IIR/FIR 低通滤波器,滤去该周期信号中80Hz 以后的频率成分,要求通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,用matlab 命令画出滤波器的频率响应,以及滤波后的信号波形和频谱。 答:1.周期为0.05秒; 3.谱线间隔为20Hz, 带宽为40Hz ,采样频率至少为80Hz 。 Fs=1000; N=256; % 时域/频率采样点 t=0:1/Fs:(N-1)/Fs; x=square(2*pi*20*t); %产生幅度为[-1,1],频率为20Hz 的方波 subplot(2,1,1) %方波绘图 plot(t,x); title('5个周期的矩形波') axis([0,0.1,-1.5,1.5]) T=0.05; %求方波的频谱 t1=0:1/Fs:(T-1/Fs); xn=square(2*pi*20*t1); Xk=fft(xn,N); Xk=fftshift(abs(Xk)); Xkl=Xk/N; subplot(2,1,2) plot(Fs/N*[0:1:N-1],Xkl) title('方波信号的频谱') [n,Wn]=buttord(80/500,90/500,3,50); %确定butterworth 滤波器的阶次 butterworth 低通滤波 %器:通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB , %以上参数可以变化 [b,a]=butter(n,Wn); %确定滤波器传递函数 y=filter(b,a,x); %滤波 figure %滤波器频率特性 freqs(b,a); title('低通滤波器频率特性') ; figure subplot(2,1,1) plot(t,y) ;title('矩形波通过低通滤波器后的波形') ;axis([0,0.1,-1.5,1.5]) subplot(2,1,2) N=512; %可适当增减 fy=fftshift(fft(y,N)); %矩形波通过低通滤波器后的频谱 f=(-N/2:(N/2-1))*2; f=f*Fs/N; plot(f,abs(fy)/N) ;title('矩形波通过低通滤波器后的频谱') 二.设有连续信号()cos(240)f t t π=??, (1)利用DFT 计算该连续时间信号的频谱,采样频率至少应取多少?80HZ (2)以采样频率Hz F s 1000=对信号)(t f 采样得)(t f a ,请画出两个周期内的离散 信号)(t f a 的波形;[要求横

实验二 FFT算法的MATLAB实现

班级:学号:姓名 实验二FFT算法的MATLAB实现 (一)实验目的: (1)掌握用matlab进行FFT在数字信号处理中的高效率应用。 (2)学习用FFT对连续信号和时域离散信号进行谱分析。 (二)实验内容及运行结果: 题1:若x(n)=cos(nπ/6)是一个N=12的有限序列,利用MATLAB计算它的DFT 并进行IDFT变换同时将原图与IDFT变换后的图形进行对比。当求解IFFT变换中,采样点数少于12时,会产生什么问题。 程序代码: N=12; n=0:11; Xn=cos(n*pi/6); k=0:11; nk=n'*k; WN=exp(-j*2*pi/N) WNnk=WN.^nk XK=Xn*WNnk; figure(1) stem(Xn) figure(2) stem(abs(XK)) 运行结果:

IFFT变换中,当采样点数少于12时图像如下图显示:

分析:由图像可以看出,当采样点数小于12时,x(n)的频谱不变,周期为6,而XK 的频谱图发生改变。 题2:对以下序列进行谱分析 132()()103()8470x n R n n n x n n n =+≤≤?? =-≤≤??? 其他n 选择FFT 的变换区间N 为8和16点两种情况进行频谱分析,分别打印其幅频特 性曲线并进行对比、分析和讨论。 ㈠ 程序代码: x=ones(1,3);nx=0:2; x1k8=fft(x,8); F=(0:length(x1k8)-1)'*2/length(x1k8); %进行对应的频率转换 stem(f,abs(x1k8));%8点FFT title('8点FFTx_1(n)'); xlabel('w/pi'); ylabel('幅度'); N=8时:

基于MATLAB的SVPWM高次谐波分析

基于MATLAB的SVPWM高次谐波分析 彭润泽14721429 (上海大学机电工程与自动化学院,上海200072) 摘要:从空间矢量脉宽(SVPWM)调制产生的机理出发,推导了空间矢量电压的公式,简介了SVPWM的实现方式,指出了五段式和七段式两种主要逼近方法下。在MA TLAB/Simulink的软件环境下对两种合成方式搭建了仿真模型,分析了两种方式产生的SVPWM谱的谐波分布和相应逆变器产生电压的谐波分布情况,并总结出了两者的优缺点。得到了七段SVPWM的正弦度高和五段SVPWM开关损耗少的结论。 关键词:空间矢量调制技术;高次谐波分析;傅里叶变换;MA TLAB/Simulink Study on harmonics of SVPWM based on MATLAB Peng Runze (School of Engineering-Mechatronics and automation, Shanghai University, Shanghai 200072, China) Abstract: Starting off with the principle of space vector pulse width modulation(SVPWM), this paper deduces formulas of the voltage space and points out two main approximation methods. In software MATLAB / Simulink , simulation models are built to analyze the harmonics generated by the distribution of two ways SVPWM harmonic spectrum distribution and the corresponding voltage generated by the inverter. Finally, the paper sums up the advantages and disadvantages of two methods and hence draw conclusions that seven-step SVPWM possesses better sine waveform while five-step one reduces switching loss. Key words: SVPWM; Fourier transform; harmonic; MATLAB/Simulink 0 引言 在全数字高性能交流调速系统中,通常采用数字脉宽调制来代替传统的模拟脉宽调制。空间矢量脉宽调制(SVPWM)技术是近年来研究的一个热点。SVPWM是把三相变流器的端部电压状态在复平面上综合为空间电压矢量,并通过不同的开关状态形成八个空间矢量,利用这八个空间矢量来逼近电压圆,从而形成SVPWM波, 它能在较低的开关频率下获得较好的谐波抑制效果和比SPWM高出15%的基波电压[1-3],同时,SVPWM调制技术还有一个优点即易于实现数字和实时控制[4],其主电路如图1所示。空间矢量脉宽调制(SVPWM)因其与同步旋转坐标系控制量接口方便,直流电压利用率高、总谐波畸变小等特点被广泛应用于PWM 整流器当中[5-6]。电压型PWM逆变器把部分基波能量转换成谐波能量,造成交流输入电压、电流发生畸变,向系统中注入高次谐波,使输入功率因数降低,电能质量下降,对电力系统包括用户的安全、经济运行产生严重的危害和影响,甚至造成电力设备的损坏[7];]对于三相电机来说,高次谐波会造成转矩脉动,影响电机控制精度、提高控制难度,还会增加损耗,造成电机发热。所以研究空间矢量脉宽调制产生的高次谐波具有重要的意义。 图1 三相电压型逆变器原理图 Fig.1 schematic diagram of the inverter 1 SVPWM工作原理 空间矢量脉宽调制SVPWM(Space Vector Pulse Width Modulation),实际上是对应于交流感应电机或永磁同步电机中的三

信号与系统MATLAB仿真题目

考核人数______ 考核班次_______________ 任课教员_________ 出题教员签名________ 任课教研室主任签名_______日期_______ 队别__________ 教学班次___________ 学号___________ 姓名____________ …………………………密………………………………封………………………………线……………………………………… 通信系统仿真题目 1.学习电路时已知LC 谐振电路具有选择频率的作用,当输入正弦信号频率与LC 电路的谐 振频率一致时,将产生较强的输出响应,而当输入信号频率适当偏离时,输出响应相对值很弱,几乎为零(相当于窄带通滤波器)。利用这一原理可以从非正弦周期信号中选择所需的正弦频率成分。题图所示RLC 并联电路和电流1()i t 都是理想模型。已知电路的谐振频率为 0100f kHz = =,100R k =Ω谐振电路品质因素Q 足够高(可滤除邻近频率成分) 1()i t 为周期矩形波,幅度为1 mA 当1()i t 的参数(,)T τ为下列情况时,粗略地画出输出电压 2()t υ的波形,并注明幅度值。 (1)510s T s τμμ== (2)1020s T s τμμ== (3)1530s T s τμμ== 2.设()x n 为一限长序列,当0n <和n N ≥时,()0x n =,且N 等于偶数。已知[()]DFT x n = ()X k ,试用()X k 表示以下各序列的DFT 。 (1)1()(1)x n x N n =-- (2)2()(1)()n x n x n =- (3) 3() (01)()()(21)0()x n n N x n x n N N n N n ≤≤-?? =-≤≤-??? 为其他值 (4) 4()()(01) ()2 2 () N N x n x n n x n n ?≠+≤≤ -? =???为其他值 (5) 5()(01)()0 (21)0() x n n N x n N n N n ≤≤-?? =≤≤-??? 为其他值 (6) 6() ()20()n x n x n n ??? ? ?=????? 为偶数为奇数 (DFT 有限长度取2N ,k 取偶数。) (7) 7()(2)x n x n =(DFT 有限长度取 2 N )。 3.已知三角脉冲1() f t 的傅里叶变换为21()24E F Sa τωτω??= ??? 试利用有关定理求210()cos()2f t f t t τω?? =- ??? 的傅里叶变换2()F ω。1()f t 、2()f t 的波形如下图所示。 4.求下图所示半波余弦信号的傅里叶级数。若E=10V ,f=10kHz ,大致画出幅度谱。 5.求下图所示()F ω的傅里叶逆变换()f t 。

用MATLAB进行FFT频谱分析

用MATLAB 进行FFT 频谱分析 假设一信号: ()()292.7/2cos 1.0996.2/2sin 1.06.0+++=t t R ππ 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT 变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT 变换可以得到精确的模拟信号频谱。举一个简单的例子: ()ππ2.0100cos +=t Y 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m ) 图 错误!文档中没有指定样式的文字。.1 140.0160.0180.02 截断时,时间间期为周期整数倍,频谱图 0.0250.03 20 40 60 80 100 截断时,时间间期不为周期整数倍,频谱图

其次,采样频率的确定。 根据Shannon 采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。 再次,DFT 算法包括时域采样和频域采样两步,频域采样长度M 和时域采样长度N 的关系要符合M ≧N 时,从频谱X(k)才可完全重建原信号。 实验中信号R 经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。 实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m ) 图 错误!文档中没有指定样式的文字。.2 ?ARMA (Auto Recursive Moving Average )模型: 将平稳随机信号x(n)看作是零均值,方差为σu 2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为 020406080100120140160180200 0.4 0.50.60.7 0.800.050.10.150.20.250.30.350.40.450.5 50100 150

相关文档
相关文档 最新文档