相位将信号移到非整数个采样数

2个视图(过去30天)
瓦伦丁·普泽特
瓦伦丁·普泽特 2020年3月27日
大家好,,
我想模拟信号的接收。我知道信号源和接收器的位置,以及波速,所以我知道我需要对接收器信号进行多少研究。如果Fs是我的采样频率,k=延迟*Fs,k应该是一个非整数值,所以我不能将我的接收器信号设置为Yr=[零(1,延迟*Fs),Y(1:结束延迟*Fs)]。
考虑到这一点,我编写了在源信号的两个步骤之间插值的代码:
功能Ydec=decSig(Y,延迟,t)
Fs=1/t(1,2);
Ydec=零(1,大小(Y,2));
对于i=1:尺寸(Y,2)
如果t(1,end)>=((i-1)/Fech-延迟和((i-1)/Fech)-dt>0
a=查找(t>=((i-1)/Fech)-延迟,1);
Ydec(1,i)=(((i-1)/Fech-delay-t(1,a-1))*(Y(1,a)-Y(1,a-1))/(t(1,a)-t(1,a-1));
结束
结束
但该函数太长,无法在迭代算法中使用。你们知道一个MATLAB函数可以更快地完成吗?如果这是解决我的问题的唯一方法,您对改进代码有什么建议吗?
谢谢你的帮助!

答案(0)

标签

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!