5006|1

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

DSP内实现移相算法 [复制链接]

本文来自于HELLODSP。
看见有朋友问起DSP如何实现移相,我想软件实现的方法应当比硬件实现来的简单,而且也能节约成本,一时兴起,详细研究了一下,在这里和大家分享,也希望大家能够批评指正。
我们从下面的图讲起,有两个波形,y1和y2,y2是在y1的基础上移动了B度。由于不知道如何输入角度,就用A和B来代替图中的角度标示。

假定y1在进行傅立叶变换后表示为:y1=y1.R+jy1.X
假定y2在进行傅立叶变换后表示为:y2=y2.R+jy2.X
而同时,我们知道,y1可以表示为:
y1=Ye^(jA)
y2可以表示为:
y2=Ye^(j(A-B))
因此,
y1=Y(sinA+jcosA)
与前面的对照之后,我们可以得到:
y1.R=YsinA
y1.X=YcosA
同理,
y2=Y[sin(A-B)+jcos(A-B)],这样
y2.R=Ysin(A-B)=YsinAcosB-YcosAsinB
y2.X=Ycos(A-B)=YcosAcosB+YsinAsinB
这样,我们将y1代人,就会有
y2.R=y1.R*cosB-y1.X*sinB
y2.X=y1.R*sinB+y1.X*cosB
至此,我们就实现将y1移相B度了。值得注意的是移动的方向。
在实际操作的过程中,用采样点计算出傅立叶变换,然后再用上述的公式变换就可以了。
不知道我有没有讲明白

最新回复

呵呵,你绕弯了, fft(y1)=Y * e(j * A); fft(y2)=Y * e(j * (A-B))=Y * e(j * A) * e( -j * B)=fft(y1) * e(-j*B); 再把上面分开就等于你的公式了。 不过一般是用希尔伯特变换做吧  详情 回复 发表于 2008-8-18 23:25
点赞 关注
 

回复
举报
等待秋风 该用户已被删除
沙发
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表