相移正确的估计

35视图(30天)
TTA
TTA 2023年5月25日20:45
评论道: 大卫Goodmanson 2023年5月26日6点12
你好
我需要一些帮助,如果你请。
附加文本文件我有3列,第一列是20到110公里的高度的间隔0.1公里。
另2列信号。
请我想计算之间的相移信号在第2列和第3列的函数的范围从0到π的高度。
这是部分的代码进一步了解:
请,任何解决方案都是受欢迎的。
Pathf =“Signal_Test_Data.txt”;
data = flipud(负载(Pathf));
tt =数据(:1);
Xt =数据(:,2);
欧美=数据(:,3);
tx = (20 & data_alt data_alt > = < = 110);
t = tt (tx);
X = Xt (tx);
Y =欧美(tx);
图;情节(t t, x,, y);
传奇(“x”,“y”);
xh =希尔伯特(x);
本产品=希尔伯特(y);
xphase =打开(角(xh));
yphase =打开(角(yh));
图;xphase情节(t, t, yphase,“。”);
phase_diff = wrapToPi (xphase-yphase);
图;情节(t, phase_diff“- - -”);
5个评论
大卫Goodmanson
大卫Goodmanson 2023年5月26日6点12
嗨TTA,
自相移从π-π,或从0到2π,或任何其他限制你选择的范围是2π,你有理由期望相位角的范围在这种情况下,只会有一系列的π吗?数据似乎没有合作。

登录置评。

答案(1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023年5月25日世界标准
编辑:Sulaymon Eshkabilov 2023年5月25日21:54
这是如何计算两个信号之间的相位差:
Pathf =“Signal_Test_Data.txt”;
data = flipud(负载(Pathf));
tt =数据(:1);
Xt =数据(:,2);
欧美=数据(:,3);
t = tt (:);
X = X (t):);
Y =欧美(:);
图;
情节(t t, X,, Y)
传奇(“x”,“y”)
标题(“数据”)
%删除任何补偿
X = X-mean (X);
Y = Y-mean (Y);
Tstep = 0.1;%步长
Fs = 1 / Tstep;%采样频率
%计算FFT:
fft_x = fft (X);
fft_y = fft (Y);
N =装天花板(元素个数(t) + 1) / 2);
频率= (0:n - 1) * Fs /元素个数(t);
次要情节(211)
情节(频率、abs (fft_x (1: N)))
包含(“频率”)
ylabel (“X | |”)
标题(“x和y的FFT信号”)
次要情节(212)
情节(频率、abs (fft_y (1: N)))
包含(“频率”)
ylabel (“Y | |”)
%找到最大的FFT计算值x和y的信号
[Max_X, IDX_X] = max (abs (fft_x));
[Max_Y, IDX_Y] = max (abs (fft_y));
Phase_X =角(fft_x (IDX_X));
Phase_Y =角(fft_y (IDX_Y));
Phase_Diff = Phase_X-Phase_Y;
流(“估计相移:% f (rad) \ n 'Phase_Diff)
估计相移:0.784554 (rad)
流(“估计相移:% f[度]\ n 'rad2deg (Phase_Diff))
估计相移:44.951634(度)
1评论
TTA
TTA 2023年5月25日22:09
编辑:TTA 2023年5月25日23:56
谢谢@sulaymon。请,我可以得到相位偏移估计高度的函数。我的意思是每个高度的相移吗?
我将非常感激

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!