Pull to refresh

Comments 55

Как-то вы сразу с места в карьер. Можно было бы объяснить, зачем вообще нужно спектральное оценивание, где применяется вейвлет-анализ, и т. д. и т. п. А самое главное, что же такое этот стационарный сигнал, о котором вы столько говорите? =)
Вот ровно те же мысли возникли при чтении — интересно, но не понятно ничего.

И главный вопрос, который меня мучает — а где это все применяется-то вообще и как связано с тематикой Хабра?

Насколько я помню вейвлеты в SURF применяются для анализа изображения, а тут речь про сигналы, частоты

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

В дальнейшем я собираюсь написать топик про дискретное вейвлет преобразование, где применимость станет более понятной. А сейчас же — это ответ на вопрос «что же такое вейвлет преобразование с математической точки зрения».
А на JS готовых библиотек нет?
Вообще, каким классом софта (сервисов, фреймворков, шаблонов, библиотек скриптов) это может описываться?
Было бы здорово, если рядом были бы фрагменты реализации (или ссылки на наиболее удачные примеры).

Спасибо.
От себя порекоммендую matplotlib. Использовал в рамках курса цифровой обработки сигналов и изображений.
Стационарным сигналом называют сигнал, который не изменяется во времени. А все это в целом автор скорее всего применял для задач по сжатию информации, которой присуще наличие сигналов. К примеру, фото-, видео- и аудио- контент.
Сигнал, который не изменяется во времени называют постоянным. Стационарный, если я не ничего путаю, не меняет закона распределения. Вообще, стационарность есть в узком и широком смысле, но это не важно.
Не нужно путать распределения и сигналы.

В данном контексте стационарным сигналом называется такой сигнал, который имеет определенную частоту на протяжении всего периода его действия.
Не стационарный — тот, у которого частота меняется.

Никакого сакрального смысла в этом нету, просто примеры.
Наверное, не частота, а спектр?
В последнем графике все-же не амплитуда, а просто отвлеченное значение интеграла. Плюс, представления ни о частоте, ни о времени вейвлетный спектр дать не может, он вообще, формально, не имеет физической интерпретации.
Отвлеченное значение интеграла — и есть амплитуда вейвлет преобразования.

«Плюс, представления ни о частоте, ни о времени вейвлетный спектр дать не может, он вообще, формально, не имеет физической интерпретации. „
Это Вы с чего взяли?
Амплитуда ладно, просто перекликается с амплитудой _сигнала_, которую дает FFT/WFFT.
Потому что там именно сдвиг и масштаб, частоты и времени там нет. Понятно, что чем ниже масштаб, тем выше частота, но численно одно в другое не переводится. Про интерепретацию — прямым текстом написано во вступительной главе в справке к Wavelet toolbox.
У преобразования Фурье есть два свойства — оно дает фазу сигнала, и оно обратимо.
А как с этим у вейвлет-преобразований?

То, что на картинках — это несколько модифицированное преобразование Фуре, адаптированное под отображение, т.к. если не ошибаюсь, классическое преобразование выдается в пространстве комплексных чисел.

Ну и хотелось бы ссылки на дальнейшее чтение — где применяются вейвлеты и что они дают по сравнению с Фурье.
Обратимо.
С Фурье не соотносится никак.
Сильно применяется в lossy сжатии, главным образом из-за того, что может разделять информативные компоненты и высокочастотный шум.
Чтение можно начинать с википедии, потом — любые книги по обработке сигналов. Можно поставить на пробу MatLab, лучше его Wavelet Toolbox для обучения нет.
С Фурье соотносится так, что оба они--это разложение объекта гильбертова пространства по векторам гильбертова пространства. Как-то так.
Даже более того. Поскольку вейвлет-преобразование обратимо, то система функций этого пробразования полная. А в общем случае преобразование Фурье--это разложение произвольного объекта гильбертова пространства на полную систему функций этого пространства через скалярное произведение на этом пространстве (в нашем случае скалярное произведение--это интегрирование; например, по функциям Бесселя можно раскладывать так же--через интеграл). Так что вейвлет-преобразование можно считать частным случаем общего преобразования Фурье.
Преобразование Фурье — это вейвлет преобразование с шириной вейвлета в бесконечность (как и в случае оконного преобразования Фурье).
Для продолжения рекомендую Чуи — Введение в вэйвлеты, а так же есть можно сказать библия С.Малла Вэйвлеты в обработке сигналов.
Я вейвлетами уже давно занимался, но насколько помню в отличие от Фурье, там локализация лучше на временном пространстве.
у меня есть задача — установить/распознать наличие ультразвука.

мне для этого нужны вейвлеты или подходит фурье?
если не нужно устанавливать в какой именно временной отрезок они присутствовали в сигнале — то справится Фурье
фурье будет полностью достаточно.
Достаточно линейного hipass фильтра — несколько сложений и умножений.
Вопрос в том, чем вы будете этот звук снимать, у звуковухи, например, должна быть соответствующая двойной частоте ультразвука частота дискретизации (хотя не обязательно — за счет алиасинга можно верить и высокие частоты)и отсутствие фильтра на 24000 кГц на АЦП. Вот со вторым проблемы, на всех стоят фильтры, чтобы не было пресловутого алиасинга…
а если усложнить задачу — снимать нужно не на компе, а с телефона. конкретно — iPhone :)
На западе есть работающий аналог. Точнее, 99%, что там программа работает через ультразвук. Но 100% гарантии нет, и я не знаю на какой частоте это происходит :)

Если интересно, могу в личку подробнее информации скинуть
При частоте дискретизации 44100 кГц максимальная частота, которую можно оцифровать — 22050. Это как раз предел слышимости уха, дети могут и 24000 слышать, а какие-нибудь горняки — не выше 14000, но средний человек считается, что слышит в районе двадцати двух.
Некоторые аудиокарты могут оцифровывать с частотой 96 кГц или даже 192 кГц. Эти карты, теоретически, могут записывать и ультразвук. Но на айфоне, насколько я знаю, такие частоты дискретизации не доступны.
Если в прграмме называют ультразвуком писк в райное 18000-24000 кГц, то, записать можно. Для проверки нужно взять какое-нибудь средство записи для айфона, и посмотреть записанный wav-файл спектроанализатором на компьютере (тем же adobe audition, или чем-то бесплатным) Если нужный писк на нем видно, то можно писать несложную программу, реализующую соответствующий фильтр. Главное знать параметры звука.
Если в прграмме называют ультразвуком писк в райное 18000-24000 кГц,

«эксперты» писк не наблюдали

Для проверки нужно взять какое-нибудь средство записи для айфона, и посмотреть записанный wav-файл спектроанализатором на компьютере (тем же adobe audition, или чем-то бесплатным)

генератора ещё нет :)

я вот в том же cooledit pro генерировал звуки на 14000, 15000, у меня мозг чуть не взорвался :)
Я думал у вас есть западный аналог. Пишите в личку, чем смогу, помогу. DSP мое хобби на пересечении программирования и музыкописания.
а зачем в звуковуху такие фильтра ставят?
по тому что это мусор, человек его не слышит, а информации обрабатывать над больше
Что самое интересно — хоть человек их и не слышит, но это не означает, что он их не ощущает (как и инфразвук). Потому профессионалы работают с 96кГц и выше, так как все эти «неслышимые частоты» очень даже нужны и важны в музыке.
вот именно, жаль, что их и воспросизводит только специальное оборудование.
Не стоит забывать про концертные залы ;)
Видимо именно поэтому живая музыка до сих пор в цене!
Профессионалы работают в 96 кГц по той же причине, по которой в расчетах используют double вместо float. И по той же, по которой в фотошопе сначала рисуют на большом разрешении, даже если итоговая картинка будет 640х480.
Алгоритмы работают точнее с оверсемплингом.
А не слышит не только человек, микрофоны тоже имеют завал АЧХ на высоких частотах, как и акустика.
Есть общая проблема всех дискретных сигналов (видео, изображения, звука) — алиасинг. Т.е. появление в нем таких частот, которых в нем изначально не было.
Для видео — это, например, низкочастотное мерцание ЭЛТ монитора при съемке его на видекамеру. (монитор мерцает 60 Гц, камера снимает 25 кадров в секунду) Или медленное вращение пропеллера вертолета, причем часто в обратную сторону.
Для изображения — это муар. Или, например, если взять изображение черно-белого диска а-ля поле чудес и уменьшить его в паинте, получится, что там, где частота смены черное-белое высокая, с картинка может измениться вплоть до негатива.
Для звука наглядно не расскажешь, но можно показать, см. картинку в статье ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B8%D0%B0%D1%81%D0%B8%D0%BD%D0%B3_(%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%BE%D0%B2)
Имея ультразвук 39560 Гц, который услышит не каждая собака, и оцифровывая частотой 40000 мы получим набор чисел, который будет в точности соответствовать звуку в 40000-39560 = 440 Гц, который мы отлично воспримем при цифровой обработке и услышим в колонках при обратном преобразовании. 440 Гц — это частота гудка в трубке телефона, т.е. вещь, которую не услышать невозможно.
Чтобы оцифровывать только то, что оцифровать в принципе возможно, частоты выше половины частоты дискретизации нужно отфильтровать аналоговым фильтром до оцифровки. По теореме Найквиста (Котельникова у нас) нужно отфильтровать все, что выше половины частоты дискретизации.
В случае с изображениями, перед изменением масштаба изображения, нужно так же отфильтровать высокие частоты, иначе появятся разные штуки типа муара.
куда пиво высылать? :)

завтра в личку напишу :)
В формуле оконного преобразования Фурье опечатки: должно быть везде тау вместо x, раз уж интегрирование идет по тау, т.е. f(x) -> f(tau) и exp(-i*x*w) -> exp(-i*tau*w).
Да, Вы правы. Большое спасибо — исправил.
через вейвлет, работает алгоритм JPEG2000, если я правильно помню.
а все таки принцип неопределенность Гейзенберга корректно упоминать только в предметной области квантовой физики
Про принцип неопределенности вы не правы. В общей форме (то есть не в популистской) этот принцип относится к любым двум самосопряженным линейным операторам гильбертова пространства. Оператор импульса пропорционален производной по соответствующей координате (x, например), и его собственные функции --это exp[ixk] (i--мнимая единица, k--волновой вектор). Переход к импульсному представлению поэтому совпадает с преобразованием Фурье. Поэтому принцип неопределенности все-таки непосредственно относится (чисто математически) к преобразованию Фурье. Притом даже при разложении по любому полному набору функций (не только экспонент), просто тогда вместо оператора импульса в выводе нужно использовать какой-то другой.
<<Существует точная, количественная аналогия между соотношениями неопределённости Гейзенберга и свойствами волн или сигналов. Рассмотрим переменный во времени сигнал, например звуковую волну. Бессмысленно говорить о частотном спектре сигнала в какой-либо момент времени. Для точного определения частоты необходимо наблюдать за сигналом в течение некоторого времени, таким образом теряя точность определения времени. Другими словами, звук не может иметь и точного значения времени, как например короткий импульс, и точного значения частоты, как, например, в непрерывном чистом тоне. Временно́е положение и частота волны во времени походят на координату и импульс частицы в пространстве.>>

насколько я понял это тоже самое что написал автор в посте:

<<Но главной проблемой в использовании оконного преобразования Фурье для получения частотно-временной характеристики сигнала является так называемый принцип неопределенности Гейзенберга, который возникает для параметров времени и частоты сигнала.
В основе принципа неопределенности лежит тот факт, что невозможно сказать точно какая частота присутствует в сигнале в данный момент времени>>

Т.е. это всего навсего аналогия (как аналогия между спином и вращением)

а то что Вы привели в пример, насколько я смог понять, справедливо лишь в том, что данные линейные операторы используются исключительно в квантовых вычислениях.
Я не холивора ради, если можете, дайте ссылку или название книги, где можно просветиться насчет общей формы неопределенности Гейзенберга
Не совсем понял, что вы хотели сказать, к сожалению.
<<Т.е. это всего навсего аналогия (как аналогия между спином и вращением)>>

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

Вкратце написано о принципе неопределенности в ссылке из моего предыдущего поста (на википедию). Более подробно--например, вот в этой книге Давыдов, Квантовая механика, страница 53 (так что вам недолго разбираться:-)
Спасибо, интересно. Было бы очень интересно почитать про реальные задачи анализа сигналов (помимо сжатия информации) и как в них используются этот и другие методы.
Ну вот, например, мы использовали вейвлет преобразование (правда мы его очень сильно модифицировали и упростили, так что даже не знаю как это теперь назвать:)) для задачи поиска и сравнения изображений.
Выше уже писали, что в JPEG2000 используется вейвлет-преобразование. В обычном JPEG--дискретное косинунсое преобразование (одна из вариаций Фурье-преобразования).
В т.ч. поэтому я и написал «помимо сжатия информации».
Виноват) Когда нам читали вейвлеты в универе, рассказывали, что ФБР использует их для хранения и поиска отпечатков пальцев. То есть здесь и сжатие информации), и задачи классификации. Вообще вейвлеты хорошо подходят под задачи классификации сигналов: удобно сравнивать низкочастотные образы сигналов.
Вопрос: какова скорость наиболее быстрых дискретных алгоритмов вейвлет-преобразования?
FFT себе представляю (очень красивый алгоритм), а вот описания дискретного вейвлет-преобразования ни разу не встречал.
Я в 2004-м писал диплом на тему вейвлет-преобразований. В качестве демонстрации применения на практике разработал обучаемую программу, распознающую речевые команды. Целью, конечно была лишь демонстрация, поэтому программа ничем конкретно не управляет, а лишь показывает какая команда произнесена, отображает в виде топографических карт полученный сигнал. Распознавание основано на сравнении карт, нормализованных по амплитуде и времени.

Для представления изображений вейвлеты тоже очень хороши. Вейвлет-образ картинки обычно записывается начиная с «низкочастотных» составляющих, которые при этом занимают очень мало места в общем объёме данных. Дальше размещаются всё более и более «высокочастотные» и более детализированные составляющие. Это позволяет выводить ещё не полностью загруженную картинку и по мере загрузки детализировать её. Кроме того, высокочастотные составляющие можно отбросить, сильно уменьшив тем самым файл.
Таким образом, для двух абсолютно разных сигналов мы получаем почти одинаковые преобразования Фурье

Вы грубо выкинули информацию о фазе
1. Рассчитывается интеграл при начальных условиях Tau=0 и S=1;

Здесь можно по подробнее… интеграл чего?
Может мне кто-нибудь тут объяснить — 1. Как же все таки получаются вейвлет базисы, как они масштабируются, по какому закону.
2. Сдвиг это временная метка сигнала? Он берется в заивисимости от момента времени, в котором существует сигнал?
3. Если я беру свдиг равный едине, то максимальное значение базиса в момент времени 1?
4. А что если я хочу применить свои фильтры. а не те базисы, которые существуют?
Sign up to leave a comment.

Articles