|
| | | | | | | 版主这么早就在线呀 ,就是这一段锁相的代码没办法理解 |
|
|
| | | | | | | | | 这一段代码很简单呀,就是一个正弦信号求导得到一个余弦信号
|
|
|
|
| | | | | | | | | | | | | 锁相的前提是要提取到一对正交因子;假设我们市电的信号是A(t)=310*(sin(100π*t))
那对应的正交因子应该是B(t)=310*(cos(100π*t))
在实际DSP采样中我们是不知道我们的信号实际是怎样的,只能知道输入信号是一个正弦信号;
但是我们知道一个正玄信号求导刚好变成一个余弦信号,这正好就是我们要求得正交因子呀;
我们知道对A函数的求导A`(t)=[A(t+△t)-A(t)]/△t
这时候我们直接看A(t)=310*(sin(100π*t))----->A`(t)=310*100π*(cos(100π*t))
也就是我们所要求的B(t)=A`(t)/100π;
明白这里,在回去看代码
U[2]=[A(t+△t)-A(t)],△t=1/20000
B(t)=Ube=[A(t+△t)-A(t)]/△t/100π=63.694*U[2];
考虑这样计算出来的B(t)是滞后于A(t)一个采样周期的,所以加了补偿B(t)=63.694*(U[2]*05+U[3]*0.5)(具体补偿效果根据实际修改参数);
评分查看全部评分
|
|
|
| | | | | | | | | | | | | | | 当然了仿真上面是没有其他干扰信号的,在实际应用中得加一下补偿器,比如用来锁相的这个市电信号,最好做一个带通滤波器,将需要的50HZ的信号提取出来,这样就能更好的锁相;所以仿真软件用来验证代码可以用来验证代码正确与否,但实际运用得根据实际情况多加一些处理措施;
评分查看全部评分
|
|
|
|
|