Соотношение сигналов и преобразование: преобразование одного сигнала в другой?

Я пытаюсь связать прибрежный приливный сигнал ( точка A ) с 3 точками вдоль длинной границы модели ( точки B C D ). Я хочу иметь связь между B C D , с помощью которой мы можем конвертировать A прогнозы в B C и D . В данный момент я делаю однофазный сдвиг, соотношение амплитуд для уровней выше нуля, соотношение амплитуд для уровней ниже нуля и сдвиг среднего уровня.

Это создает излом в приливном сигнале в периоды пикового отлива и пикового паводка и приводит к модели прогнозирования токов приливов и отливов. Мне было интересно, если кто-нибудь знает о более сложных отношениях для такого рода преобразований?

Одна вещь, которую я хотел бы уловить, - это разница в фазовом сдвиге между высокой и низкой водой (например, соотношение периода положительных значений к периоду отрицательных значений может быть различным для разных точек).

Пример алгоритма для текущего процесса.

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 часов (полусуточный)), просто чтобы дать представление, что не все частоты так хорошо масштабируются). Чёрный - это зелёный в нулевой линии.

Временные ряды уровня воды [м] (вверху) и анализ БПФ (внизу)

4 голоса | спросил Alex Byasse 18 WedEurope/Moscow2013-12-18T04:58:29+04:00Europe/Moscow12bEurope/MoscowWed, 18 Dec 2013 04:58:29 +0400 2013, 04:58:29

2 ответа


0

Без более детального знания вашего домена трудно дать вам точный ответ. Здесь я сделаю предположение, что ваше приливное поведение представляет собой систему с линейным постоянным временем (LTI). Судя по данным, которые вы указали в своем вопросе, это разумное предположение.

Итак, теперь вы можете создавать свои сигналы 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, вам, возможно, придется выполнить более сложное нелинейное моделирование.

Надеюсь, это поможет!

ответил Siskin 16 Jpm1000000pmThu, 16 Jan 2014 13:53:03 +040014 2014, 13:53:03
0

Модели прогнозирования приливов очень и очень сложны.

Для более точных прогнозов вам понадобится больше данных. Взгляните на следующую статью (к сожалению, на немецком языке; я не знаю о переводе на английский):

Das Nordseemodell der BAW zur Simulation der Tide в Немецком Бюхте

К счастью, эта статья содержит множество таблиц и рисунков, которые можно понять, не зная немецкого языка.

Подводя итог: помимо приливных уровней в точках A, B, C, D вам, безусловно, потребуются некоторые приблизительный профиль глубины морского дна, и вам понадобятся данные о ветре для ваших расчетов. И только шести месяцев реальных данных недостаточно: вам понадобится как минимум год данных для охвата всех сезонов.

Программное обеспечение, упомянутое на странице 93 документа, было включено в GPLv2 в 2010 году, и его можно найти здесь

ответил pefu 26 Jpm1000000pmSun, 26 Jan 2014 20:17:51 +040014 2014, 20:17:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132