2.两点乘积算法:
程序:
%两点乘积算法,输入正弦波,取得电气角度相隔pi/2的采样时刻的数据值,计算出正弦量的有效值。
clear;
N=12; %每周期采12个点
for n=0:48;
t=0.02*n/N;
y=sin(2*pi*n/N); %输入正弦波量y=sin(w*t)
s(1,n+1)=y; %将y采样所得的值赋值给s
if n>3
a=s(1,n-3); %输出相差0.5*pi的两点采样值
b=s(1,n);
Ym=sqrt(a^2+b^2);
Y=Ym/1.414; %输出正弦量的有效值
subplot(211) %绘制t-Y,即正弦量有效值与时间关系的图形
plot(t,Y,'-bo');
pause(0.005);
xlim([-0.01,0.08]);
ylim([0,1]);
hold on
end
subplot(212); %绘制t-y,输入与时间关系的即图形
plot(t,y,'-bo');
pause(0.005);
hold on
end
基于两点乘积及全波傅里叶算法的应用
利用全波傅里叶算法和两点乘积算法计算
1.全波傅里叶算法:
程序:
%全波傅里叶算法
clear
N=24; %每周期采24个点
for n=0:96;
t=0.02*n/N;
y=sin(2*pi*n/N); %输入正弦波量y=sin(w*t)
x1(1,n+1)=y; %将y采样所得的值赋值给x1
if n>24
X1s=0;
X1c=0;
for k=(n-24):(n-1)
a1=x1(1,k);
a2=a1*sin(2*k*pi/N);
X1s=a2+X1s;
end
for j=(n-24):(n-1)
b1=x1(1,j);
b2=b1*cos(2*j*pi/N);
X1c=b2+X1c;
end
X1s=(2/N)*X1s; %输出正弦系数
x1(2,n+1)=X1s;
X1c=(2/N)*X1c;
%输出余弦系数
x1(3,n+1)=X1c;
X=sqrt(0.5*(X1s^2+X1c^2)); %求出基波分量有效值
x1(4,n+1)=X;
end
if n<24
X=0;
end
subplot(212); %绘制t-X,即基波分量有效值与时间关系的图形 plot(t,X,'-bo');
xlim([0,0.1]);
ylim([0,1]);
pause(0.0005);
hold on
subplot(211); %绘制t-y,即输入与时间关系的图形
plot(t,y,'-ok');
ylim([-1,1]); hold on
end。