基于正弦函数模型的算法的实现课程设计.docx
- 文档编号:9491692
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:24
- 大小:189.98KB
基于正弦函数模型的算法的实现课程设计.docx
《基于正弦函数模型的算法的实现课程设计.docx》由会员分享,可在线阅读,更多相关《基于正弦函数模型的算法的实现课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
基于正弦函数模型的算法的实现课程设计
浙江大学
课程设计说明书
课程名称电力工程基础
题目基于正弦函数模型的算法的实现
基于正弦函数模型的算法的实现
摘要
本设计为电力系统微机保护算法仿真(两点乘积算法和半周积分算法),设计内容包括:
设计随机正弦信号发生器;通过信号采样,得到电流,电压的瞬时值;通过瞬时值计算出电流,电压信号的有效值;计算线路的阻抗,阻抗角及功率因数,得出信号有效值、计算值与理论值之差。
本文首先对微机保护的发展、意义、研究重点、研究状况等进行了介绍;在微机保护中通过对算法的研究寻找适当的运算方法来实现一定的保护功能,从而使运算结果的精度能满足工程要求而计算耗时又尽可能短,达到既判断准确,且又动作迅速、可靠的效果。
本文研究了两点乘积算法、三点乘积算法、导数算法和半周积分算法在电力系统微机保护中的应用。
关键词:
两点乘积算法,三点乘积算法,导数算法,半周积分算法
第一章绪论
§1.1微机保护的应用和发展概况
近四十年来,计算机技术发展很快,其应用广泛而深入地影响着科学技术、生产和生活等各个领域。
有关计算机保护的研究及开发就是电力系统计算机在线应用的重要组成部分。
我国在这方面的起步相对较晚,但进展却很快。
1984年上半年,华北电力学院研制的第一套以6809(CPU)为基础的距离保护样机投入试运行。
1984年底在华中工学院召开了我国第一次计算机继电保护学术会议,这标志着我国计算机保护的开发开始进入了重要的发展阶段。
进入90年代,我国已陆续推出了不少成型的微机保护产品。
§1.2微机保护的基本构成
微机保护的基本构成包括硬件和软件两个部分,各部分的组成现表示如下:
数据采集系统
CPU主系统
硬件开关量输出
输入系统
外围设备等
微机保护的基本构成
初始化模块
数据采集管理模块
故障检出模块
软件故障计算模块
自检模块等
§1.3微机保护的特点
微机保护主要优点有以下几个方面。
§1.3.1易于获得附加功能
微机保护可以对其硬件和软件进行连续的自检,有很强的综合分析和判断能力
§1.3.2微机保护具有灵活性
它能自动检测出硬件故障的同时发出报警信号并闭锁其跳闸出口回路。
同时软件也具有自检功能,可以对输入的数据进行校错和纠错,即自动地识别和排除干扰。
§1.3.3微机保护具有高可靠性
总之,作为一个系统而言,微机保护的可靠性比传统保护高。
§1.4Matlab语言介绍
在科学研究和工程应用等领域中会涉及到大量的科学计算问题,自从计算机出现以来,人们就一直在使用计算机这个有力的工具帮助解决科学计算问题,并由此发明了许多用于科学计算的程序语言,如BASIC、FORTRAN、C等等。
随着时代的变化、随着计算机的普及和快速发展,计算机程序语言在不断地变化发展、在不断地推陈出新。
在当今时代,什么程序语言是最流行的科学计算语言呢?
答案是——MATLAB语言。
MATLAB拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化及容错处理,因此使用起来稳定性和可靠性非常高,在通常情况下,可以用它来代替底层编程语言,如C和C++等。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB函数所能解决的问题包括矩阵运算、多维数组操作(阵列运算)、复数的各种运算、三角函数和其他初等数学函数运算、非线性方程求根、线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、建模和动态仿真等等。
早期用于科学计算的计算机语言,由于计算机内存容量和运算速度的限制等原因,常常要定义常量、变量、向量和矩阵等的不同的数据类型,结果导致编程过于复杂化。
和这些语言不一样,MATLAB语言对他们进行了高度抽象,实现了数据类型的高度统一,即常量、变量、向量和矩阵等都具有相同的数据类型。
第二章电力系统微机保护算法
§2.1算法的基本概念
微机保护和微机监控是根据采样数据进行分析、运算和判断的,以实现保护和监控功能,其软件方法称为算法。
微机保护和微机监控的基本原理有类似之处,都是把经过电流互感器TA和电压互感器TV变换后的电流、电压等模拟信号转为数字信号,然后通过某些运算求出电流、电压的有效值或峰值、相位、比值以及有功功率等量,或者线路和元件的视在阻抗,或者某次谐波的大小和相位等。
目前在微机保护和微机监控装置中采用的算法很多,各种快速、精确的算法不时被提出并广泛应用,各种算法各有千秋。
可见,对微机保护和微机监控来说,采用何种算法求所需的值,是值得研究的问题。
§2.2算法的发展
最初,从简单情况出发,即从电流、电压为纯正弦变化的情况出发,提出了许多算法,其中有半周内找最大值法、半周内采样值累计的算法、导数的算法、采样值积得算法和解方程组的算法等。
实际电力系统发生故障时,往往是在基波的基础上叠加有衰减的非周期分量和各种高频分量。
所以,微机保护要求对输入的电流、电压信号进行预处理,尽可能地滤掉非周期分量和高频分量,否则计算结果将出现较大误差。
后来,假设输入量是非周期分量、基波和倍频分量组成,研究了相应的解方程组算法、付氏算法等。
由于这些算法本身带有滤去高次谐波的功能,所以一般不再另外采用数字滤波;但算法本身不能滤去衰减的非周期分量,后有提出一些相应的算法。
由于电力系统中铁磁元件的非线性特性,输入线路的分布电容和串联、并联电容的使用,以及电流互感器、电压互感器二次侧的暂态过程等因数的影响,使得电压、电流输入信号中除存在非周期分量外,还有许多随即的高频分量的存在,将产生干扰或噪声,除采用较完善的滤波措施外,还提出了一些减少误差的算法。
例如,对计算结果采取平滑措施,采用最小二乘法曲线拟和算法等。
算法的选择不仅与装置要实现的具体功能有关,而且与采样方式选择密不可分。
§2.3微机保护和微机监控对算法的不同要求
虽然微机保护和微机监控的基本原理是一致的,但在具体的算法要求和两者的计算目的上,还有许多不同之处。
首先,保护和监控所需计算的量值不同。
监控需要计算得到的是反映正常运行的有功功率P,无功功率Q,电流I,电压U等物理量,进而计算出
,有功电能量和无功电能量;而保护算法更关心的是反映故障特征量,故要求算法应能对含有直流分量及衰减分量的谐波进行处理等。
其次,保护和监控所要求的计算准确度不同。
监控在计算的准确度上要求更高一些,希望计算出的结果尽可能准确;而保护则更看重算法的速度及灵敏性,必须在故障后尽快反应,以便快速切除故障。
监控系统算法主要是针对稳态时的信号,而保护系统算法主要针对故障信号。
相对于前者,后者含有更严重的直流分量及衰减的谐波分量等。
信号性质的不同必然要求从算法上区别对待。
§2.4算法的评价和选择
微机保护算法是微机保护研究的重点,微机保护不同功能的实现,主要依靠其软件算法完成。
微机保护的一个基本问题便是寻找适当的算法,使运算结果的精度能满足工程要求并尽量减少计算所耗的机时。
在选择算法时要考虑两个重要问题,即计算速度问题和计算精度问题,而这两者通常是矛盾的,若要精度高,则要利用更多的采样点,相应便增加了计算工作量,降低了计算速度。
对微机保护算法的综合性能进行分析,确定特定场合下如何合理的进行选择,并在此基础上对其进行补偿与改进,对于进一步提高微机保护的选择性、速动性、灵敏性和可靠性,满足电网安全稳定运行的要求具有现实指导意义。
针对微机保护常用的正弦函数模型算法,周期函数模型算法,随机函数模型算法和输电线路简化的物理模型算法的误差来源、幅频响应、滤波性能、适用场合分别进行了分析和总结;针对衰减非周期分量的影响,对傅里叶、最小二乘、卡尔曼滤波算法的计算精度和计算速度进行了比较,寻找兼顾精度与速度的“最佳”组合方案;对近年来针对傅里叶算法的各种改进方法作了详尽的整理和总结,对各种改进方法的性能进行综合比较,为在不同场合下寻找满足特定性能要求的算法提供了依据。
目前用于微机保护的算法可分为两大类。
一类是根据输入电气量的若干点采样值,通过一定的数学式或方程式计算初保护所反映的量值,然后与定值进行比较。
例如,为实现距离保护,可根据电压和电流的采样值,计算出视在复阻抗的模和幅角或阻抗的电阻和电抗分量,然后同给定的阻抗动作区进行比较。
这一类算法利用了微机能进行数值计算的特点,从而实现许多常规保护无法实现的功能。
例如,作为距离保护,他的动作特性的形状可以非常灵活,不像常规距离保护的动作特性形状决定于一定的动作方程。
此外,他可以根据阻抗计算值中的电抗分量推出短路点距离,起到测距的作用等。
另一类算法,仍以距离保护为例,是直接模仿模拟型距离保护的实现方法,根据动作方程来判断是否在动作区内,而不计算初具体的阻抗值。
这一类算法的计算工作量略有减小。
并且虽然他所依循的原理和常规的模拟型保护同出一宗,但由于运用计算机所特有的数学处理和逻辑运算功能,可以使某些保护的性能有明显提高。
计算机保护的准确性,实时性与算法有密切关系,因此保护算法的研究是计算机保护研究的重要问题之一,研究保护算法的作用有:
提高保护装置的精确度,这一点是非常重要的,运算精度研究是微机保护理论研究的重点之一,一个好的算法应该具有良好的运算精度,只有能保证这一点才能达到保护判断的准确性,即需要动作时,应该准确的动作,不需要动作时间,应该准确的闭锁;提高运算速度,算法的运算速度将影响检测量的检测速度和继电保护的动作速度,一个好的算法要求运算速度高,这就是说要求所用数据窗短,即所需采样的点数少,运算工作量小,特别是在计算暂态量时,算法的运算速度则更是重要,然而提高运算精度和提高运算速度两者之间是相互矛盾的,因此研究算法的实质便是如何在速度与精度之间进行合适的权衡。
目前已提出的算法种类很多,在综合自动化装置中,装置的各功能模块硬件和输入量一般很相近,不同的功能特性由不同的算法可以实现,两点乘积算法是基于正弦函数模型的算法,它利用相差为π/2角度的两点互为正余弦的特点来进行计算的,该算法本身的数据窗长度为1/4周期,对工频50Hz来说是
5ms,速度是很快的,它对采样频率无特殊要求。
实际电力系统中,由于各种不对称因素及干扰的存在,电流与电压波形并不是理想的50Hz正弦波形,而是存在多次谐波,尤其在故障时,还会产生衰减直流分量。
但对于一些较粗略的算法,考虑到交流输入回路中设有R-C滤波电路,为了减少结算量,增加计算速度,往往假设电流,电压为理想的正弦波。
第三章算法实现
§3.1半周积分算法
半周积分算法的原理是一个正弦量在任意半个周期内绝对值的积分为一常数。
半周积分法需要的数据窗长度为10ms,算法本身有一定的滤波能力。
偶次高频分量的正负半周在工频半周积分中完全相互抵消,奇次谐波未能完全抵消,但其影响也小多了,但它不能抑制直流分量,故必要时可另配简单的差分滤波器或用电抗变换器来削弱电流中非周期分量的影响。
对于运算精度要求不高的保护而言,使用该算法可以提高保护在严重故障情况下的动作速度。
半周积分算法的依据是一个正弦量在任意半个周期内绝对值的积分为常数s,且与采样的起始角度无关。
(3—1)
即正弦函数半周积分与其幅值成正比。
式(3-1)的积分可以用梯形法则近似求出:
(3—2)
式中
——第K次采样值;
N——一周期T内的采样点数;
——k=0时的采样值;
——k=N/2时的采样值。
求出积分值S后,应用式(3-1)可求得幅值。
图3-1半周积分算法原理示意图
半周积分算法的特点:
半周积分算法计算简单、算法本身具有一定的滤波作用。
但是,这毕竟是基于正弦函数模型的算法,以此需要对输入信号进行滤波处理获得正弦信号后再应用半周积分算法。
它的主要缺点是:
算法的时间窗较长,需等待半个周波才能得到正确的计算结果;同时,计算的精确度受输入信号的初相角的影响很大。
半周积分算法源程序
c5e2.m
clear
N=12;
b=(pi/N)*[111111]';
t=(0:
0.02/N:
0.02)';
fori=1:
6;
a(i)=pi*(i-1)/12;
y=abs(sin(a(i)+2*pi*50*t));
s(:
i)=filter(b,l,y);
end
x1=s(:
1);x2=s(:
2);x3=s(:
3);
x4=s(:
4);x5=s(:
5);x6=s(:
6);
subplot(321);
plot(t,xl,'-o');
axis([0,0.02,0,1.2]);
text(0.01¸0.5¸'a=0');ylabel('ym');
subplot(323);
plot(t¸x2¸'-o');
axis([0,0.02,0,1.2]);
text(0.01,0.5,'a=pi/12');ylabel('ym');
subplot(325);
plot(t¸x3¸'-o');
axis([0,0.02,0,1.2]);
text(0.01,0.5,'a=pi/6');xlabel('t/s');ylabel('ym');
subplot(322);
plot(t¸x4¸'-o');
axis([0,0.02,0,1.2]);
text(0.01,0.5,'a=pi/4');ylabel('ym');
subplot(324);
plot(t¸x5¸'-o');
axis([0,0.02,0,1.2]);
text(0.01,0.5,'a=pi/3');ylabel('ym');
subplot(326);
plot(t¸x6¸'-o');axis([0,0.02,0,1.2]);
text(0.01,0.5,'a=pi/12');xlabel('t/s');ylabel('ym');
§3.2导数算法
导数算法是利用正弦函数的导数为余弦函数这一特点求出采样值的幅值和相位的一种算法。
设
则
(3—3)
很容易得出
(3—4)
(3—5)
和
(3—6)
根据式(3-8),我们也可推导出
(3—7)
(3—8)
式(3-9)~式(3-13)中,u、i对应tk时为uk、ik,均为已知数,而对应tk-1和tk+1的u、i为uk-1、uk+1、ik-1、ik+1,也为已知数,此时
(3—9)
(3—10)
(3—11)
(3—12)
导数算法的特点:
导数算法最大的优点是它的“数据窗”即算法所需要的相邻采样数据是三个,即计算速度快。
导数算法的缺点是当采样频率较低时,计算误差较大。
导数算法源程序
c5e3.m
clear
N=12;
t=(0:
0.02/N:
0.02)';m=size(t);
y=sin(2*pi*50*t);%原始输入信号
y1=[y(1︰m-1)];
y2=[0
0
y(1︰m-2)];
dy=(y2-y);
yd=dy*N/(4*pi);
ym=sqrt(y1^2+yd^2);%幅值
subplot(221);
plot(t,y,t,y1,'-o',t,y2,':
',t,yd,'-o');
legend('y','y1','y2','yd');
subplot(223);
plot(t,ym,'-o');axis([0,0.02,0,1.2]);
xlabel('t/s');ylabel('ym');
text(0.01,0.6,'N=12');
Fori=1:
101;
a(i)=2*pi*(i-1)/100;
forj=1:
N/2;
k(j)=abs(sin(a(i)+2*pi*(j-N/2)/N));
end
N=24;
t=(0:
0.02/N:
0.02)';m=size(t);
y=sin(2*pi*50*t);%原始输入信号
y1=[y(1︰m-1)];
y2=[0
0
y(1︰m-2)];
dy=(y2-y);
yd=dy*N/(4*pi);
ym=sqrt(y1^2+yd^2);%幅值
subplot(222);
plot(t,y,t,y1,'-o',t,y2,':
',t,yd,'-o');
legend('y','y1','y2','yd');
subplot(224);
plot(t,ym,'-o');axis([0,0.02,0,1.2]);
xlabel('t/s');ylabel('ym');
text(0.01,0.6,'N=24');
§3.3两采样值积算法
两采样值积算法是利用2个采样值以推算出正弦曲线波形,即用采样值的乘积来计算电流、电压、阻抗的幅值和相角等电气参数的方法,属于正弦曲线拟合法。
这种算法的特点是计算的判定时间较短。
设有正弦电压、电流波形在任意二个连续采样时刻tk、tk+1进行采样,并设被采样电流滞后电压的相位角为θ,则tk和tk+1时刻的采样值分别表示为式(
3-13)和式(3-14)。
(3—13)
(3—14)
式中,TS为两采样值的时间间隔,即TS=tk+1-tk。
由式(3-13)和式(1-14),取两采样值乘积,则有
(3—15)
(3—16)
(3—17)
(3—18)
式(3-25)和式(3-16)相加,得
(3—19)
式(3-17)和(3-18)相加,得
(3—20)
将式(3-20)乘以cosωTS再与式(3-19)相减,可消去ωtk项,得
(3—21)
同理,由式(3-17)与式(3-18)相减消去ωtk项,得
(3—22)
在式(3-21)中,如用同一电压的采样值相乘,或用同一电流的采样值相乘,则q=0°,此时可得
(3—23)
(3—24)
由于TS、sinωTS、cosωTS均为常数,只要送入时间间隔TS的两次采样值,便可按式(3-23)和式(3-24)计算出Um、Im。
以式(3-24)去除式(3-21)和式(3-22)还可得测量阻抗中的电阻和电抗分量,即
(3—25)
(3—26)
由式(3-23)和式(3-24)也可求出阻抗的模值
(3—27)
由式(3-25)和式(3-26)还可求出U、I之间的相角差θ,
(3—28)
若取ωTS=900,则式(3-23)—式(3-28)可进一步化简,进而大大减少了计算机的运算时间。
两采样值积算法
c5e6.m
clear
f=input('请输入频率');
w=2*pi*f
t=0:
0.0001:
0.2;
i=10*sqrt
(2)*sin(w*t6);%画电流波形图
plot(t,i,'b')
holdon
u=220*sqrt
(2)*sin(w*t+pi/6);
plot(t,u,'r');%画电压波形图
holdoff
gridon
title('电压波形和电流波形');
text(0.005,230,'曲线u=220*sqrt
(2)*sin(100*pi*t+pi/6)');
text(0.025,20,'曲线i=10*sqrt
(2)*sin(100*pi*t)');
t=input('请输入第一个采样时间值');%第一个采样点对应的时间
tic
i1=10*sqrt
(2)*sin(w*t);%第一个采样点对应的的电流值
u1=220*sqrt
(2)*sin(w*t+pi/6);%第一个采样点对应的电压值
t=t+pi/(2*w);%第二个采样点对应的时间
i2=10*sqrt
(2)*sin(100*pi*t);%第二个采样点对应的的电流值
u2=220*sqrt
(2)*sin(100*pi*t+pi/6);%第二个采样点对应的电压值
I=sqrt((i1*i1+i2*i2)/2)%电流信号的有效值
U=sqrt((u1*u1+u2*u2)/2)%电压信号的有效值
h=(u1*i1+u2*i2);
l=sqrt((u1*i1+u2*i2)*(u1*i1+u2*i2)+(u1*i2-u2*i1)*(u1*i2-u2*i1));
lamda=h/l%功率因数
theta=rad2deg(acos(lamda))%功率因数角
P=U*I*(lamda)
R=(u1*i1+u2*i2)/(i1*i1+i2*i2)%电阻
X=((u1*i2-u2*i1)/(i1*i1+i2*i2))%电抗
Z=R+j*X%阻抗
dianliuwucha=((I-10)/10)*100%电流误差
dianyawucha=((U-220)/220)*100%电压误差
toc
§3.4三点采样值积算法
三采样值积算法是利用三个连续的等时间间隔TS的采样值中两两相乘,通过适当的组合消去ωt项以求出u、i的幅值和其它电气参数。
设在tk+1后再隔一个TS为时刻tk+2,此时的u、i采样值为
(3—29)
(3—30)
上式两采样值相乘,得
(3—31)
上式与式(3-15)相加,得
(3—32)
显然,将式(3-32)和式(3-16)经适当组合以消去ωtk项,得
(3—33)
若要ωTs=30o,上式简化为
(3—34)
用Im代替Um(或Um代替Im),并取
=0o,则有
(3—35)
(3—36)
由式(3-34)和式(3-36)可得
(3—37)
由式(3-22)和式(3-36),并考虑到,得
(3—
38)
由式(3-35)和式(3-36)得
(3—39)
由式(3-37)和式(3-38)得
(3—40)
在微机保护的实际编程中,为尽量避免采用费时的乘法指令,在准确度容许的情况下,为了获得对采样结果分析计算的快速性,可用(1—1/8)近似代替上两式中的
,而后1/2和1/8采用较省时的移位指令来实现。
全周波傅里叶算法本身具有滤波作用,在计算基频分量时,能抑制恒定直流和消除各整数次谐波,但对衰减的直流分量将造成基频(或其它倍频)分量计算结果的误差。
另外用近似数值计算代替积也会导致一定的误差。
算法的数据窗为一个工频周期,属于长数据窗类型,响应时间较长。
三采样值积算法
c5e7.m
clear
N=12;
t=(0:
0.02/N:
0.02)';m=size(t);
y=sin(2*pi*50*t);%原始输入信号
y1=[y(1︰m-1)];
y2=[0
0
y(1︰m-2)];
ym1=sqrt(y^2-2*y1^2*cos(4*pi/N)+y2.^2)/(2*sin(2*pi/N)^2);%算法1幅值
ym2=sqrt(y1^2-y*y2)/sin(2*pi/N)^2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 正弦 函数 模型 算法 实现 课程设计