DFT-подобное преобразование с использованием треугольных волн вместо синусоидальных


9

Мы знаем, что ДПФ (дискретное преобразование Фурье) разбивает сигнал на несколько частот синусоидальных волн. Существует ли преобразование, которое делает то же самое, но для треугольных волн?

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

Изменить: Если да, как я могу это сделать?


Для любого сигнала, я так не думаю, но хотел бы увидеть доказательство, почему бы и нет. Если вы знаете, что сигнал состоит из треугольных волн, то можно определить их частоту, фазу и амплитуду.
геометрикал

2
Простые рассуждения говорят, что это должно быть возможно для любого сигнала. Поскольку сами треугольники могут быть представлены синусоидальными сигналами разных частот и могут масштабироваться. Реальный вопрос в том, что бы вы из этого сделали, и были бы такие выводы практически полезными?
Нареш

Ну, я изучаю исторические данные фондового рынка, и я просто хочу посмотреть на развороты в некоторых акциях. Другими словами, я хочу выполнить "низкий проход" по цене акций, используя это преобразование
hassan789

Ответы:


8

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

Slant Basis Функции

(источник: прикладное преобразование Фурье )

Он был разработан для кодирования / сжатия изображений, но кажется разумным первым подходом для анализа долгосрочных линейных трендов / разворотов в финансовых данных. Не похоже, что многие ключевые документы, описывающие преобразование, доступны [бесплатно] онлайн, но в следующей статье, вероятно, достаточно подробностей для реализации чего-либо:

Метод усечения для вычисления наклонных преобразований с приложениями для обработки изображений. ММ Ангу, Р. Р. Мартин. IEEE Trans. Сообщения 43 (6), 2103-2110, 1995. ( ссылка автора ) ( ссылка pdf )

В частности, см. Раздел III, в котором приведены рекурсивные соотношения, используемые для построения матрицы преобразования.


выглядит многообещающе!
hassan789

используя этот код Matlab: eeweb.poly.edu/iselesni/slantlet/index.html Я скоро предоставлю отзыв ...
hassan789

Я не думаю, что Slantlet Transform - это то же самое, что Slantlet Transform. Оба могут быть полезны, хотя.
Datageist

4

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

Хорошее место для начала - статья Unser об эффективном приближении B-сплайна. http://bigwww.epfl.ch/publications/unser9301.pdf


1
это хорошее начало, и на самом деле может быть лучше для меня, особенно если я смогу использовать параболические b-сплайны вместо кубических .... тоже буду читать / учиться этому
hassan789

2

Вы можете сделать преобразование, которое использует треугольные волны вместо синусоидальных, но это не очень хороший выбор, потому что они не ортогональны. Ортогональность является важным свойством векторов преобразования.

Свойства ортогональных преобразований

Ортогональное преобразование


хммм ... я не настолько продвинут, когда дело доходит до ортогональности ... Честно говоря, я не понимаю, в чем смысл ортогональности. Означает ли это, что для преобразования требуется больше циклов ЦП (ядро полного преобразования против разреженного ядра преобразования)?
hassan789

0

Вы можете использовать сопряженный оператор интегратора (т.е. cumsum), за которым следует быстрое преобразование Уолша-Адамара.

например, в Matlab

n = 16;
H = fwht(eye(n))*sqrt(n); % Walsh-Hadamrd in full unitary matrix form
S = cumsum(eye(n)); % the integrator in full matrix form
T = H*S';  % cumsum along the rows of the W-H 

Участки постоянных положительных значений в H объединяются, вызывая уклоны в пилообразных волнах; отрицательные значения становятся снижением.

Т не является унитарным, что имеет последствия для пространственного растяжения. С другой стороны, у него есть быстрый обратный ход: еще один байт, за которым следует дифференциатор.

D = inv(S');  % difference matrix with an extra row at bottom for full rank
Tinv = D*H;   % inverse of T

Не могли бы вы объяснить это немного больше? Я не вижу, как интеграция перед WHT даст желаемый результат.
Дилип Сарвэйт,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.