4

我正在尝试将近岸潮汐信号(点 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 分析(底部)

4

3 回答 3

2

如果没有对您的领域有更详细的了解,很难为您提供明确的答案。我将在这里假设您的潮汐行为是线性时不变(LTI) 系统。从您在问题中显示的数据来看,这似乎是一个合理的假设。

因此,现在您可以通过简单地对信号 A 进行幅度和相位调整来创建 B、C 和 D 信号。有几种方法可以做到这一点;下面我通过将 A 乘以一个复数来做到这一点。调整复数的幅度和相位,以获得您需要的结果。下面是一个用 Matlab 代码编写的示例:

% Create an example signal at location 'A'
t = 0:0.1:10;
A = 0.35.*sin(2.*pi.*0.5.*t) + 1.*sin(2.*pi.*0.5175.*t) + 0.3.*sin(0.5255.*t);

% We want a complex version of A, so let's apply a Hilbert transform to it
A = hilbert(A);

% Now we can create the other signals by transforming the amplitude and
% phase. Exactly what amplitude and phase to apply needs to be determined.
B = 0.9*exp(j*0.1).*A;
C = 0.8*exp(j*0.4).*A;
D = 0.7*exp(j*0.6).*A;

% Plot what these signals look like
figure(1); hold on;
plot(t,real(A),'k');
plot(t,real(B),'r');
plot(t,real(C),'g');
plot(t,real(D),'b');
xlabel('Time');
ylabel('Amplitude');
legend('A','B','C','D');

这将产生一个外观与您在问题中发布的图片非常相似的情节。如果您的潮汐行为无法通过 LTI 系统进行近似,那么您可能必须执行一些更复杂的非线性建模。

希望有帮助!

于 2014-01-16T09:53:03.227 回答
2

潮汐预测模型非常复杂。

要获得更精确的预测,您将需要更多数据。看看下面的论文(不幸的是用德语写的;我不知道有英文翻译):

Das Nordseemodell der BAW zur Simulation der Tide in der Deutschen Bucht

幸运的是,本文包含大量表格和图片,无需了解德语即可理解。

总结:除了点 A、B、C、D 的潮位之外,您当然需要对海底深度剖面进行一些近似,并且您需要风数据进行计算。仅仅六个月的真实世界数据是不够的:您将需要至少一年的数据来涵盖所有季节。

论文第 93 页上引用的软件已于 2010 年置于 GPLv2 之下,可在此处找到

于 2014-01-26T16:17:51.613 回答
0

这看起来类似于海气系统中存在扰动的强迫振荡(由月球驱动)。

您能否建立一个由四个 ODE 和外部力源组成的系统,例如:

   <<< tidal force field >>>

|         |         |         |
o -vvvvv- o -vvvvv- o -vvvvv- o
A         B         C         D

其中-vvvvv-应该类似于机械弹簧。

所有的弹簧也受到月球的影响,如果这些点相距较远,可能会有一些轻微的相移。

您可以通过使用随机微分方程中给出的一些我希望我知道的方法来确定系统结果矩阵中的常数。随机微分方程的方法似乎用于水文学(付费专区),所以也许我离得太远了。

如果你想生活在边缘,你可以尝试让联轴器表现得稍微非线性(即,当达到最大值时稍微变平,这可以被认为是海平面上升时增加的表面)。

于 2014-01-28T21:03:35.710 回答