2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Матрица гармонического вейвлет-преобразования
Сообщение06.01.2011, 21:05 


02/08/07
92
Здравствуйте, друзья!!!

Многие из вас наверняка работали с вейвлет-преобразованием и, возможно, с гармоническими вейвлетами. Мне необходимо получить матрицу, которая давала бы вейвлет-коэффициенты будучи умноженной слева на исходную функцию:
$a = Rx,$

где a - вектор вейвлет-коэффиентов, x - исходный сигнал (функция), R - искомая матрица. Согласно схеме диадического (двоичного) банка фильтров, на 1-м уровне N/2 коэффициентов, на 2-м - N/4, на 3-м - N/8 .... и т.д. В векторе a эти коэффициенты записаны в обратном порядке - от самого грубого уровня к самому тонкому, т.е N/2 коэффициентов самого тонкого уровня идут в векторе a последними. Описание алгоритма гармонического вейвлет-преобразования - очень длинное, поэтому приведу код MATLAB с пояснениями: f - исходная функция, N - ее дина (число отсчетов), fft - функция расчета дискретного преобразования Фурье (ДПФ) с помощью быстрого преобразования Фурье (БПФ) - в данном случае по методу Кули-Тьюки, поскольку длина N есть целая степень двойки. n определяет общее число уровней полного вейвлет-разложения; a - вектор вейвлет-коэффициентов (как в формуле выше), F - вектор Фурье-коэффициентов
Код:
function a=hwtdn(f)

[r,s]=size(f);
if r>s, f=f'; end
N=length(f);
n=round(log(N)/log(2));
F=fft(f)/N;
a(1)=F(1); a(2)=F(2);

[b]for[/b] j=1:n-2
a(2^j+1:2^(j+1))=ifft(F(2^j+1:2^(j+1)))*2^j;
a(N-2^(j+1)+2:N-2^j+1)=fliplr(fft(fliplr(F(N-2^(j+1)+2:N-2^j+1))));
[b]end[/b]

a(N/2+1)=F(N/2+1);
a(N)=F(N);

Итак, на промежуточном этапе вычисляется ДПФ. Записываем:
$Ax = F$
,

где A - матрица ДПФ (размерностью NxN), F - вектор Фурье-коэффициентов. x имеет размерность Nx1, поэтому F имеет размерность Nx1 по правилу матричного умножения.

Далее, в соттветсвии с кодом, вектор F надо умножить на некоторую неизвестную матрицу W:

$WF = a$


Найдя матрицу W, мы решим задачу.

Мое решение:


1) $A x = F$
2) $W F / N = a$ (деление вектора F на число N делается в соответсвии с программным кодом, приведенным выше)
3) $W F = a N$
4) $W  F  F ^T = a N F ^T $, где умножение на транспонированную матрицу необходимо для последующего формирования обратной и получения в явном виде выражения для W
5) $W = a N F ^T  (F F ^T)^{-1} $

Дальше я не знаю, что делать, поскольку $(F F ^T)^{-1} $ не существует, т.к. ее определитель равен 0 (из-за того, что $F  F ^T$ - симметричная матрица).

Подскажите, пожалуйста, что делать дальше. Может быть, мой путь изначально был неверен?

Заранее спасибо!!!

 Профиль  
                  
 
 Re: Матрица гармонического вейвлет-преобразования
Сообщение07.01.2011, 16:58 


29/09/06
4552
Dmitrii,

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

У Вас в постановке задачи фигурируют вейвлеты, Фулье, Матлаб, матрицы, прочие фулечки... А в Вашем решении --- похоже, используется только стандартные штуки матричной алгебры, безотносительно к перечисленным фулечкам. Может быть, Вы могли этого избежать и в постановке, упростить изложение проблемы?

Вот более конкретные придирки:
Dmitrii в сообщении #396084 писал(а):
Мне необходимо получить матрицу, которая давала бы вейвлет-коэффициенты будучи умноженной слева на исходную функцию:
a = R x,

где a - вектор вейвлет-коэффиентов, x - исходный сигнал (функция), R - искомая матрица
$a$ Вы называете вектором, $x$ --- почему-то функцией. Но это тоже в первую очередь вектор (функция он, или сигнал --- дополнительная информация, возможно, не особо значимая).
В Вашем решении искомая матрица $R$ уже не встечается. Что-то переобозначено?
Цитата:
Далее, в соттветсвии с кодом, вектор F надо умножить на некоторую неизвестную матрицу W:
Как-то странно --- обосновывать необходимость операции кодом программы...
Цитата:
(деление вектора F на число N делается в соответсвии с программным кодом, приведенным выше)
То есть это не обычное деление вектора на число, а какое-то специальное, "в соответствии с кодом"? Да? Реально надо лезть смотреть код?
Цитата:
Дальше я не знаю, что делать, поскольку $(F * F ^T)^{-1} $ не существует, т.к. ее определитель равен 0 (из-за того, что $F * F ^T$ - симметричная матрица).
Вы как бы утверждаете что определитель симметричной матрицы равен нулю? $\mathrm{Det} \begin{pmatrix}0 & 1\\1 & 0\end{pmatrix}=0\,?$
Да, я вырвал фразу из контекста, но такие фразы, по-моему, можно вырывать. Или вейвлет-контекст что-то меняет?

(TeX-offtopic)

Реально могу посоветовать только не ставить тэги маth, а только доллары вокруг формулы. Центрирование формулы Вам обеспечат двойные доллары типа $$a=B\times x$$ даст $$a=B\times x$$

 Профиль  
                  
 
 Re: Матрица гармонического вейвлет-преобразования
Сообщение07.01.2011, 19:40 


02/08/07
92
Благодарю за ответ!!!

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

Как известно, любое линейное преобразование можно записать в векторно-матричном виде. В данном случае сначала для исходного вектора x вычисляется ДПФ и получаются фурье-коэффициенты, хранящиеся в векторе F. Для их получения используется A - матрица ДПФ:
$$A\times x = F$$
Далее на Фурье-коэффициенты слева умножается еще одна матрица W, которую и нужно найти, и получаются сами вейвлет-коэффициенты (вектор a):
$$W\times F = a$$

Используя обе формулы, получаем:

$$W\times A \times x= a$$

Необходимо найти матрицу W, используя гармоничнеское вейвлет-преобразование, код которого приведен выше.

Надеюсь, теперь станет чуть-чуть яснее...

Надеюсь на вашу помощь. Если необходимо, прокомментирую код, написанный в первом сообщении.

Спасибо

 Профиль  
                  
 
 Re: Матрица гармонического вейвлет-преобразования
Сообщение07.01.2011, 19:59 


29/09/06
4552
А как насчёт детерминанта? Может, Вы решили задачу, но придумали себе псевдотрудность с нулевым детерминантом?

Лично мне комментарий к коду не нужен: ясно, что не разберусь с этими штуками.
Лишь попросим пробегающего мимо модератора окружить его тэгом code --- тогда это будет читабельнее для читателей кодов.

 Профиль  
                  
 
 Re: Матрица гармонического вейвлет-преобразования
Сообщение07.01.2011, 20:12 


02/08/07
92
Алексей К. в сообщении #396374 писал(а):
А как насчёт детерминанта? Может, Вы решили задачу, но придумали себе псевдотрудность с нулевым детерминантом?

Лично мне комментарий к коду не нужен: ясно, что не разберусь с этими штуками.
Лишь попросим пробегающего мимо модератора окружить его тэгом code --- тогда это будет читабельнее для читателей кодов.


Нет, с детерминантом я прав. Просто я слишком обобщил, и в этом была ошбка. Вот, что я имел в виду. Если F - вектор-столбец, то произведение $ F F ^T $ всегда даст матрицу с нулевым определителем.

А как искать обратную матрицу к той, у которой определитель нулевой? Слышал что-то про псевдообратную, но не знаю, как ее искать и то ли это.

Спасибо

 Профиль  
                  
 
 Re: Матрица гармонического вейвлет-преобразования
Сообщение07.01.2011, 20:28 


29/09/06
4552
Думаю, псевдообратная --- это синоним присоединённой матрицы (должно быть даже в Википедиях). Мне она как-то помогла:
Алексей К. в сообщении #74216 писал(а):
...Для этого вместо матрицы $M$ следует взять для итераций матрицу ... как бишь она называлась? присоединённая, кажется, adjoint. Элементы подменены своими минорами.
ниже незваный гость писал(а):
И транспонируются.(поправлено для полноты --- АК)

Можно было бы взять и обратную матрицу, но $M$ при идеальной плоскости или прямой будет вырождена. Эта, присоединённая, легко считается. С ней и итерируем.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group