<br />本文来自于HELLODSP。<br /><br />看见有朋友问起DSP如何实现移相,我想软件实现的方法应当比硬件实现来的简单,而且也能节约成本,一时兴起,详细研究了一下,在这里和大家分享,也希望大家能够批评指正。<br /><br />我们从下面的图讲起,有两个波形,y1和y2,y2是在y1的基础上移动了B度。由于不知道如何输入角度,就用A和B来代替图中的角度标示。<br /><br /><br />假定y1在进行傅立叶变换后表示为:y1=y1.R+jy1.X<br />假定y2在进行傅立叶变换后表示为:y2=y2.R+jy2.X<br /><br />而同时,我们知道,y1可以表示为:<br />y1=Ye^(jA)<br />y2可以表示为:<br />y2=Ye^(j(A-B))<br /><br />因此,<br />y1=Y(sinA+jcosA)<br />与前面的对照之后,我们可以得到:<br />y1.R=YsinA<br />y1.X=YcosA<br /><br />同理,<br />y2=Y[sin(A-B)+jcos(A-B)],这样<br />y2.R=Ysin(A-B)=YsinAcosB-YcosAsinB<br />y2.X=Ycos(A-B)=YcosAcosB+YsinAsinB<br /><br />这样,我们将y1代人,就会有<br />y2.R=y1.R*cosB-y1.X*sinB<br />y2.X=y1.R*sinB+y1.X*cosB<br /><br />至此,我们就实现将y1移相B度了。值得注意的是移动的方向。<br /><br />在实际操作的过程中,用采样点计算出傅立叶变换,然后再用上述的公式变换就可以了。<br /><br />不知道我有没有讲明白:) <br /><br />本贴地址:http://www.hellodsp.com/bbs/viewthread.php?tid=5163<br />转载请注明出自DSP交流网 DSP学习第一论坛 DSP技术应用与推广平台 DSP开发服务平台 http://www.hellodsp.com/bbs/,本贴地址:http://www.hellodsp.com/bbs/viewthread.php?tid=8616<br /><br /><br /><br /> |
|