![]() |
|
![]() ![]() ![]() |
|
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Прочитал про вейвлеты. Пишут, что они точнее, быстрее и прочие хорошие вещи) Долго и упорно читал огромное собрание информации по этой теме на этом сайте и исходящих ссылок с него. Очень много узнал нового, но так и не понял, как вообще строится спектр сигнала, используя вейвлеты?
Второе, что непонятно, это - что такое вейвлет-пакеты? На этом форуме нашёл такой вопрос, где ответом было - в гугл) куда я, естественно, тоже сходил, но.. и там глухо :( Так и не понял, что называют вейвлет-пакетами? Используя ДПФ построил уже спектр, теперь хочу получить небольшой опыт по использованию вейвлетов, разобраться что это такое и что из этого можно извлечь положительного в задачу распознавания речи. (покуда podval что-то не очень лестно отзывался о вейвлетах именно при распознавании речи). Может что-то полезное там всё-таки есть, что в купе с другими будет получен некоторый выигрыш при решении задачи?) Это сообщение отредактировал(а) Proger10 - 1.7.2010, 00:11 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
Вообще для начала следует понять, что все инструменты хороши для определённых целей. Нет абсолютно плохих и абсолютно хороших методов.
Второе, использовать вейвлеты непосредственно для распознавания конечно же никак нельзя. Насколько я понимаю речь идёт о препроцессинге. В спектральной области мы можем подавить гармоники определённой частоты, в области вейвлетов можно подавить эффекты разного масштаба, которые заранее известно, что не связаны с речью и представляют собой некоторый шум. При вейвлет преобразованиях никакого спектра не строится. Главное их преимущество как раз в том, что мы остаёмся в том же пространстве во временной области, в отличии от ДПФ, где имеет место быть переход в частотную область и мы уже теряем множество информации об эффектах, которые имеют место быть в исходном сигнале. А чтобы лучше понять, что такое вейвлеты и как они работают на реальных примерах и задачах и советую использовать Matlab Wavelet Toolbox и пошаговое руководство, которое идёт с ним же. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Proger10 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Да, речь о предпроцессинге идёт, а не о полном переходе на вейвлеты.
Вот тут не очень понятно.. Мы можем через вейвлеты как-то получать гармоники определённой частоты? Просто, если вейвлеты не позволяют строить спектра, то чего нам предлагают делать вейвлеты?)
Спасибо! Поставлю Матлаб, интересно будет посмотреть их в действии, прежде, чем я сам приступлю к их кодингу) |
||||
|
|||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
Ну а что мир клином на спектрах сошёлся?) http://www.mathworks.com/access/helpdesk/h...t/ch01_in6.html -- читать здесь и следующие три страницы. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Хм, точно
![]() Спасибо за ссылку! Многое уже прояснилось! Хотя немного что разобрал там. Кстати, а нет ли каких готовых программ, которые строят вейвлетовые графики? ![]() Так гораздо проще было бы понять, что из себя вейвлеты представляют. Говоришь там в микрофон, а оно тебе сразу вейвлетами график разукрашивает... ![]() Вообще, график на сонограмму похож, но, чувствую, именно это меня с толку и сбивает сейчас.. Там в вейвлетах какое-то другое видение мира должно быть ![]() |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Не согласен. При вайвлет преобразовании мы получаем график который называется спектором. Спектр- есть распределение чего либы не обязательно частот. Во вторых если взять в качестве базового вайвлета sin или cos то получаем настоящий спектр (вернее сонограмму) и именно имеем переход в частотную область. Еще как можно. |
|||
|
||||
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
А что такое, кстати, вейвлет-пакеты? Пока не дошёл до определения "базовый вейвлет"
![]() |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
Не совсем удачно получилось. Правильнее было бы сказать, что вейвлет-преобразование - это представление исходного сигнала в виде разложения по базисным функциям некоторого "характерного" для данного сигнала вида (причем базис не обязательно будет полным). В этом смысле преобразование Фурье - фактически частный случай вейвлет-преобразования (с синусоидой в качестве "характерного" вида). Поскольку базис для преобразования Фурье полон, то теоретически при этом преобразовании ничего не теряется. А практически - потери происходят из-за использования конечного числа членов разложения. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Но после любого преобразования одни признаки становятся линейно не разделимыми, другие напротив разделимыми. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
||||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
Ну ладно, более опытные товарищи с термионологией меня раскатали
![]() Как? -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Что-то совсем не пойму.. Читаю вот здесь: http://www.mathworks.com/access/helpdesk/h...10.html#1000760
1. А откуда взять вейвлет-то этот? ![]() 2. Насколько я понял по этому шагу, мы берём какой-то вейвлет) и сравниваем насколько он совпадает с нашим сигналом, что мы получим из переменной "C". Переменная двух аргументов, значит сдвиг и масштаб нам задавать самостоятельно? (подбирать, грубо говоря, чтобы максимально с сигналом совпадал?) 3. Сдвигаем правее вейвлет и получаем очередной коэффициент 4. Масштабируем и снова получаем кучу коэффициентов с шагов 1-3 5. Масштабируем, масштабируем.. И собственно что?)) Неужели по таким простым действиям можно получить что-то полезное?)) Это сообщение отредактировал(а) Proger10 - 3.7.2010, 03:02 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
Вообще руководство по Wavelet Toolbox (к тому же без использования этого самого Wavelet Toolbox) не заменит хорошую книжку по вейвлетам. Все эти вопросы от того, что кто-то ленится прочесть читать литературу. Предлагаешь цитировать здесь то, что уже давно написано в книгах?
1. Вычислить. Вейвлет это в сущности функция, которая удовлетворяет ряду условий. Существует много видов вейвлетов и для каждой задачи следует выбирать свой. Например для распознавания пиков и ступенек в данных я использую вейвлет haar или db1. Для подавления высокочастотного шума определённого характера db4, а для подавления импульсной реакции АЦП своей системы записи Morlet. Всё зависит от задачи короче. На С++ простейший вейвлет Haar'a может выглядеть так:
2. Обычно проходятся по всем значениям сигнала и на них делают вейвлет преобразование. Преобразование на каждой точке и есть преобразование с заданным сдвигом (это порядковый номер значения сигнала). Ну и делают это для разных масштабов. А вычисление С есть своего рода свёртка сигнала на заданной точке с функцией вейвлета. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Спасибо большое за объяснение первого кода и отдельное за пример на С++!
![]() Уже накачал книжек по вейвлетам, приступаю к чтению ![]() |
|||
|
||||
Proger10 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Посмотрел несколько книг по вейвлетам... не многим понятнее стало))) Сейчас ищу тему вейвлетов по интернету, тут куда более доступным языком написано. Вот, например, отличный док по Хаару, где поэтапно расписано на примере каким образом он работает: http://dmr.ath.cx/gfx/haar/
(там же есть реализация этой процедуры на С). Это для тех, кто будет искать подобную тему ![]() Но блин... и после этого мне не понятно как применять его)) Не пойму вот что - вот есть у нас исходный сигнал (отсчёты), а как применять этого Хаара и непонятно) Я могу пройтись по этому массиву (исходного сигнала) как сказано в алгоритме Хаара. Могу пройтись несколько раз (рекурсивно, имею ввиду). Но.. где все эти сдвиги, масштабирование?) Когда мне этими терминами-то оперировать надо, на какой стадии процесса? После каждого прохода Хаара по массиву получается новый массив, состоящий из двух половин (в левой усреднённые пары, в правой - разница пар) - это и есть вейвлет-коэффициенты? Их что ли и строят на графике? Это сообщение отредактировал(а) Proger10 - 4.7.2010, 10:15 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |