Частотно-временные гребни
[___] = tfridge(___,'NumRidges',
извлекает nr
)nr
частотно-временные гребни с самой высокой энергией. Этот синтаксис принимает любую комбинацию входных параметров из предыдущих синтаксисов.
Функция использует штрафованный алгоритм жадности вперед-назад, чтобы извлечь гребни максимальной энергии из матрицы частотно-временной частоты. Алгоритм находит максимальный частотно-временной гребень путем минимизации A -ln в каждой временной точке, где A является абсолютным значением матрицы. Минимизация A -ln эквивалентна максимизации значения A. Алгоритм опционально ограничивает переходы частоты с штрафом, который пропорциональен расстоянию между интервалами частот.
Следующий пример иллюстрирует алгоритм частотно-временного гребня, используя штраф, который в два раза больше расстояния между интервалами частоты. В частности, расстояние между элементами (j,k)
и (m,n)
определяется как (j-m)2
. Матрица частота-время имеет три интервала частоты и три временных шагов. Матричные столбцы соответствуют временным шагам, а строки матрицы соответствуют частотным интервалам. Значения во второй строке представляют синусоиде.
Предположим, у вас есть матрица:
1 4 4 2 2 2 5 5 4
Обновите значение для элемента (1,2) следующим образом.
Оставьте значения в первый раз точки неизменными. Начните алгоритм с элемента (1,2) матрицы, который представляет первое частотное интервал во второй временной точке. Значение интервала 4. Штрафуйте значения в первом столбце на основе их расстояния от элемента (1,2). Применение штрафа к первому столбцу приводит к
original value + penalty × distance 1 + 2 × 0 = 1 2 + 2 × 1 = 4 5 + 2 × 4 = 13
1 4 4 2 13 5
Добавьте минимальное значение в столбце 1 к текущему значению интервала 4. Обновленное значение (1,2) становится равным 5, которое пришло из интервала 1.
Обновите значения остальных элементов столбца 2 следующим образом.
Пересчитайте исходные значения столбца 1 с коэффициентом штрафа, используя тот же процесс, что и на шаге 2а. Получаем оставшиеся значения вторых столбцов, используя тот же процесс, что и на шаге 2b. Например, при обновлении элемента (2,2), который имеет значение интервала 2, применяется штраф к выражениям столбца
original value + penalty × distance 1 + 2 × 1 = 3 2 + 2 × 0 = 2 5 + 2 × 1 = 7
1 5(1) 4 2 4(2) 2 5 9(2) 4
Повторите Шаг 2 для третьего столбца. Но теперь штраф применяется к обновлённому второму столбцу. Например, при обновлении элемента (1,3) штраф равен
5 + 2 × 0 = 5 4 + 2 × 1 = 6 9 + 2 × 4 = 17
1 5(1) 9(1) 2 4(2) 6(2) 5 9(2) 10(2)
Начиная с последнего столбца матрицы, найдите минимальное значение. Вернитесь во времени через матрицу путем перехода от текущего интервала к источнику этого интервала в предыдущую временную точку. Отслеживайте индексы интервала, которые образуют путь, составляющий гребень. Алгоритм сглаживает переход, используя источник интервал вместо интервала с минимальным значением. В данном примере индексы гребня 2
, 2
, 2
, который соответствует энергетическому пути синусоиды в строке 2 матрицы, показанной на шаге 1.
Если вы извлекаете несколько гребней, алгоритм удаляет первый гребень из матрицы частота-время и повторяет процесс.