![]() |
|
|
![]()
|
|
| psix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.1.2005 Где: Н-ск Репутация: нет Всего: нет |
Знает кто или направит в нужную бумажную или электронную страницу по поводу как работает (изнутри) алгоритм расчета многоуровненого (многомаштабного) вейвлет преобразования конечного сигнала в Матлабе?
Дело вот в чем. Как известно Расчеты в матричной форме не йдут с теми что предоставляет матлаб в стадартных функциях. Беру вот так: считываю звуковой файл в переменную s длиной N=2^m; извлекаю параметры НЧ- и ВЧ-фильтров: [h,g]=wfilters('db4','d'); и произвожу декомпозицию: [dec,struct]=wavedec(s,m,h,g); а там далее уже и коэффициенты детализации и аппроксимации. И вот интересно, что в векторе struct количество коэффициентов детализации на каждом последующем уровне не уменьшается в двое (как по алгортиму Малла), а по форуле floor((length(s)-1)/2)+K. где K - порядок вейвлета, в моём случае получается, значит K=4. Так вот, отчего же именно так? Неподскажите как работает этот алгоритм (встроенных функций) на кончах сигнала (обрезает фильтр, циклически продолжает, или модифицирует самостоятельно)? Как говорится, интересно знать вглубь об том что напрограммили разработчики и каких теорий при этом придерживались |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
А PDF-файлы, прилагаемые к Матлабу, разве не содержат этой информации?
|
|||
|
||||
| psix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.1.2005 Где: Н-ск Репутация: нет Всего: нет |
видимо они либо по счастливой случайности, либо по злому умыслу не достались такие, а может зрение слепотцой отдаёт мое
Это сообщение отредактировал(а) psix - 22.6.2005, 01:54 |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
||||
|
||||
| psix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.1.2005 Где: Н-ск Репутация: нет Всего: нет |
ув. podval, да-да-да... Здесь-то и написано, что число отсчетов в коэффициентах аппроксимации и детализации на уровнях многомасштабного вейвлет разложения определяется этой формулой. Так вот интересует все же, как, впрочем, и ранее: почему именно ОНА? Потому как в литературе используется деление сигнала на каждом уровне разложения на ДВА, а максимальное количество уровней возможных и из них необходимых определяется самим сигналом, ну и приложением (скорее всего). Так вот если конечный сигнал длины 2^N раскладывать фильтрами Хаара (тоже что и db1) где два ненулевых момента каждого фильтра, то сигнал полностью "вмещается" в фильтры и в конечном итоге, на последнем уровне остается один отсчет. Это только в данном случае, а если брать например фильтр db4, который имеет уже 8 ненулевых моментов... тогда такой красоты не получается.... Посему, опять же, интересно, как ведут себя стандартные функции в МАТЛАБЕ на границах сигнала: обрезают ли фильтр, модифицируют ли фильтр на концах сигнала, циклически продолжают ли фильтр... либо сам сигнал продолжают нулями и так далее... в этом духе... |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Я думаю, что циклическая свертка.
|
|||
|
||||
| psix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.1.2005 Где: Н-ск Репутация: нет Всего: нет |
ув.podval так все таки более развёрнутой информации по этому алгоритму не представляется возможным найти?
Просто хотелось узнать для сравнения со сделанным "ручками" (в матричном виде или фильтрами) или программным путем... |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Что конкретно сделано в Матлабе точно трудно сказать. А сделанное руками мне встречалось именно циклическое продолжение. Я и сам по-другому не делал.
http://basegroup.ru/download/wavelet_utils.htm |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
В принципе домашняя страница этого дела http://www.mathworks.com/access/helpdesk/h...oolbox/wavelet/
(раздел Advanced Concepts -> The Fast Wavelet Transform (FWT) Algorithm) говорит о том же: The length of each filter is equal to 2N. If n = length (s), the signals F and G are of length n + 2N - 1, and then the coefficients cA1 and cD1 are of length |
|||
|
||||
| psix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.1.2005 Где: Н-ск Репутация: нет Всего: нет |
да, именно на официальном месте обитания Матлаба и с Exponentы узнал про количество отсчетов на уровне разложения, проверив на практике...
СпасиБо! Знать следует в программных файлах покопаться матлаба... |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |