信号关系和转换:将一个信号转换为另一个信号?

信息处理 fft matlab IFFT
2022-02-08 07:52:01

我正在尝试将近岸潮汐信号(点 A)与沿长模型边界的 3 个点(点 BCD)相关联。我想可能在BCD之间建立关系,我们可以将A预测转换为BCD目前我正在做一个单相移,高于零电平的幅度比,低于零电平的幅度比和平均电平偏移。

这会在落潮峰和洪水峰时的潮汐信号中产生扭结,并导致模型过度预测落潮。我想知道是否有人知道这种转换的更复杂的关系?

我想捕捉的一件事是高水位和低水位之间的相移差异(例如,不同点的阳性周期与阴性周期的比率可能不同)。

当前流程的示例算法。

A = vector (size n x 1 ) units meters

time_A = vector (size n x 1 )

ph_B = phase shift for AvsB.

pos_amp_B = positive amplitude ration.
neg_amp_B = negative amplitude ration.

B_mean = long term mean of B.

A_mean = long term mean of A.

for i = 1:n
    a = A(i) - A_mean
    if a > 0
       B(i) = a*pos_amp_B
    else
       B(i) = a*neg_amp_B
    end
    time_B(i) = time_A(i) = ph_B
    B(i) = B(i) + B_mean
end

顺便说一句:这种关系是基于大约 6 个月的数据。

编辑1:嗯,首先想想两个正弦信号(即幅度,相移),但不是规则的,所以例如周期是12.5小时,但正半和负半的斜率和周期并不是全部相同的。您不需要任何上下文知识。我只是在寻找一种转换算法。

编辑2:

这是时间序列和 fft 比较的图片(fft 专注于高能量频率(12.5 小时(半日)),只是为了说明并非所有频率都可以很好地缩放)。黑色是 A. 零线中的绿色。

水位 [m] 时间序列(顶部)和 fft 分析(底部)

0个回答
没有发现任何回复~