如何计算相移需要什么,这样我可以获得两个不同频率的信号,以90 degs或pi / 2排列?

时间:2016-12-27 15:23:20

标签: matlab octave derivative calculus nonlinear-functions

如何计算相移需要什么,这样我可以得到两个不同频率的信号,以90 degs或pi / 2排列?

Example 1: 蓝线是1hz,你可以看到90或pi / 2所在的位置(绿色垂直线) 红线为1.5hz,两条信号对应相应的90度相移,看起来我需要将红线移动30度。

Frequency 1.5 phase shift 30 deg

Example 2: 蓝线是1hz,你可以看到90或pi / 2所在的位置(绿色垂直线) 红线为2hz,两条信号对应相应的90度相移,看起来我需要将红线移动45度。

Frequency 2hz phase shift 45 deg

如果红线频率为0.845hz,45.453hz等,如何以数学方式计算红线需要相移的相应90度相移线到蓝线的距离。 ..

Ps:我将在Octave 4.0中这样做,这与Matlab类似。

1 个答案:

答案 0 :(得分:0)

这不是一个matlab问题,它只是一个数学问题:

你有:

printf("\nInsert id: ");
scanf("%i", &vDisp[MAXDISP].idComp);
printf("\nInsert serial number: ");
scanf("%i", &vDisp[MAXDISP].serial);
printf("\nInsert production year: ");
scanf("%i", &vDisp[MAXDISP].year);

printf("\nInsert brand: ");
scanf("%[^\n]%*c", &vDisp[MAXDISP].brand);
printf("\nInsert type: ");
scanf("%[^\n]%*c", &vDisp[MAXDISP].type);
printf("\nInsert model: ");
scanf("%[^\n]%*c", &vDisp[MAXDISP].model);
printf("\nInsert OS: ");
scanf("%[^\n]%*c", &vDisp[MAXDISP].system);

代表sin(b1*(x-c1)) = sin(b2*(x-c2)) b1*(x-c1) = b2*(x-c2) c2 = x-(b1*(x-c1))/b2

c1 = 0, b1 = 1, b2 = 1.5, x = pi/2