реклама на сайте
подробности

 
 
6 страниц V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
> Вейвлеты, что, зачем, как
Tanya
сообщение Nov 22 2010, 17:31
Сообщение #46


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Xenia @ Nov 22 2010, 20:12) *
Не годится. Смещенные гауссы не образуют взаимноортогонального базиса, а я это требование озвучила с самого начала, как необходимое.

Ну и что? Вы хотите просто жить... Раскладывать нужно на то, на что нужно, а не на то, что проще.
Искать под фонарем...
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Nov 22 2010, 18:07
Сообщение #47


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(Tanya @ Nov 22 2010, 19:31) *
Ну и что? Вы хотите просто жить... Раскладывать нужно на то, на что нужно, а не на то, что проще.

Искать под фонарем...


Эх Таня... Ну пробует человек этот мир на зуб... Что в этом плохого!? В конце концов вспомните себя в 26... laughing.gif

Цитата(Xenia @ Nov 22 2010, 19:12) *
Разумные люди понимают наличие разрыва между "формулками" и программной реализацией. В свое время (где-то в 60-х годах) Райш и Уилкинсон написали "Справочник алгоритмов на языке Алгол" для матричных вычислений. А до тех пор лишь в математических журналах алгоритмы на пальцах показывали, вот дело и стояло на месте. Именно с этого момента все эти алгоритмы стали активно использоваться (коммерческие пакеты EISPACK, LINPAСK, LAPACK и т.п.). И плевать, что там алгоритмы на Алголе! Зато написано настолько понятно, что я сама до сих пор тем Справочником активно пользуюсь, потому как в современных пакетах уже не разобраться.

Да, все верно. Хорошие вычислительные алгоритмы - дело очень непростое. А писать ЦОС(не либу вызывать поставляемую с процом, как у bf) это совсем не одно и то-же, что ваять утилитку. Кто не верит - пусть попробует сам. Пишу это специально для говнодиректоров, говноменеджеров и прочих унылых болванов которые в жизни вообще ни строчки кода не написали сами(ну разве что когда катали на экзамене), но думают, что главное "правильно сыграть" руководителя... Ну и еще "горячим головам" которые по молодости и наивности своей рискуют осчастливить какого-то недоумка за миску риса... wink.gif

Цитата(Xenia @ Nov 22 2010, 19:12) *
Ну так и где же ваша хорошая реализация, которую я уже "три года" жду? Или вы тоже, как Oldring, будете кругами вокруг ходить, советовать мне Гугликом по интернетику поискать?

))) Я не так давно гуглил опенсоус вейвлет-проекты. Кстати именно потому вспомнил Вашу просьбу. И почти везде - полнейшее гавно(неуниверсальные процедуры - под определенный базис, системные вызовы внутри вычислительной функции, FIR "в лоб" с поэлементным сдвигом массива, нигде не применена быстрая свертка - хотя где-где а в вейвлетах ей самое место, задействованы "массивные" механизмы расширений языка - как вот на WiKi, неразделимо срощены с кодированием - для 2D и т.д. ... ну и float восновном). Еще опенджпег правда не просмотрел. Он, кстати, целочисленный насколько помню - хорошо для ARM7-9. Все-равно - того что видел вполне достаточно что-бы отсоветовать гуглить... smile.gif Но... Все-таки Вы наглая барышня - вот так брать на понт - мол "а тебе слабо"? Потому у меня к Вам ответное предложение - читайте личку...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 22 2010, 18:07
Сообщение #48


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Tanya @ Nov 22 2010, 20:31) *
Ну и что? Вы хотите просто жить... Раскладывать нужно на то, на что нужно, а не на то, что проще.
Искать под фонарем...

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

К тому же, надо признаться, я "сдвигов", как огня боюсь smile.gif. Имеется в виду вот что. Положим, мой сигнал действительно состоит (т.е. является суммой) из пары сигналов, известной (!) мне формы. То бишь это случай чисто модельный, когда я два гаусса сдвинула до состояния частичного перекрывания, а затем их сложила. Но попробуте-ка вычислить местонахождение эти двух гауссов из суммарного сигнала. При этом в задаче предполагается, что каждый из этих двух исходных сигналов задан на отельном графике с вершиной в точке x=0, а суммарный сигнал находится где-то у черта на куличках в районе x=176. Короче говоря, требуется лишь определить смещения для каждой составляющей, чтобы они легли на свое место в "пазле". Т.е. x1 и x2. Во всем остальном (высоты и сигма), будем полагать, уже подобраны, как надо. Это крайне упрощенная часть общей задачи апроксимации, но и ее я пока осилить не смогла.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Nov 22 2010, 18:16
Сообщение #49


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Xenia @ Nov 22 2010, 21:07) *
И тем не менее, от нелинейных задач, решаемых лишь итерационными методами, хотелось бы уйти даже ценой некоторой неадекватности представления.

Зачем? Цель - неадекватность? Уже почти достигнута. Все спектроскописты раскладывают на "правильные" модельные представления. И варьируют физически понятные параметры. Возьмите два сдвинутых гаусса и разлагайте их 1000 и одним способом по соответствующим базисам, но только не на два гаусса.
Если Ваша истинная цель в этом, - больших Вам успехов.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 22 2010, 18:35
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Xenia @ Nov 22 2010, 20:12) *
Так я, в общем-то, и спрашивала хорошую реализацию (чтобы под МК годилась), а не ссылок на общеобразовательные ресурсы. А ситуация просто дикая - некто спрашивает про алгоритм (скажем БПФ или БВП), а его отсылают ... к Википедии. А потом тот пыхтит, пытаясь компактно все это запрограммировать. Вот и получается самострок, в котором еще ошибок можно дофига выловить.

Давайте-ка я вам дам на словах QL-алгоритм диагонализации симметричных матриц smile.gif, и посмотрю как вы споро программку на С++ по моим словам накропаете, и сколько в ней будет ошибок.

Разумные люди понимают наличие разрыва между "формулками" и программной реализацией. В свое время (где-то в 60-х годах) Райнш и Уилкинсон написали "Справочник алгоритмов на языке Алгол" для матричных вычислений. А до тех пор лишь в математических журналах алгоритмы на пальцах показывали, вот дело и стояло на месте. Именно с этого момента все эти алгоритмы стали активно использоваться (коммерческие пакеты EISPACK, LINPAСK, LAPACK и т.п.). И плевать, что там алгоритмы на Алголе! Зато написано настолько понятно, что я сама до сих пор тем Справочником активно пользуюсь, потому как в современных пакетах уже не разобраться.

А у вас, я гляжу, стиль объяснения такой, чтобы только указочкой на формулки указывать и округлые общие слова говорить. Я не только по себе сужу, но и другим темам, где вы объяснения даете (например, тема "Сложение сигналов в самый узкий"). Вы уж извините меня за прямоту, но у меня сложилось впечатление, что вы сами не понимаете того, что пытаетесь объяснять другим.


Понимаю я или нет - это вопрос философский. Но людям, до которых в конце концов доходит, результат обычно нравится. laughing.gif

Вот когда узнаете, что такое Хаар - вам, барышня, стыдно станет. Хотя бы за сравнение с QL. biggrin.gif
Для QL существуют гораздо более хорошие источники и без ваших слов. Голуб, например. Мне его самому до сих пор кодировать не приходилось, но вот когда понадобится - я у вас спрашивать не буду, уж поверьте. laughing.gif

А вот возиться с алгоритмами сжатия с потерями - приходилось...


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 22 2010, 19:05
Сообщение #51


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(DRUID3 @ Nov 22 2010, 21:07) *
Я не так давно гуглил опенсоус вейвлет-проекты. Кстати именно потому вспомнил Вашу просьбу. И почти везде - полнейшее гавно(неуниверсальные процедуры - под определенный базис, системные вызовы внутри вычислительной функции, FIR "в лоб" с поэлементным сдвигом массива, нигде не применена быстрая свертка - хотя где-где а в вейвлетах ей самое место, ну и float восновном). Еще опенджпег правда не просмотрел. Он, кстати, целочисленный насколько помню - хорошо для ARM7-9. Но все-равно - того что видел вполне достаточно что-бы отсоветовать гуглить...

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

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

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

Кажется (но точно не помню) такую матрицу составляли, как циркулянт - укладывали форму сигнала в верхнюю строку, а каждую ниже лежащую получали циклическим сдвигом на единичку (на одну временную дискрету) влево от того, что находится этажом выше. Например, для сигнала data[5] = { 1, 2, 3, 4, 5 }; матрица получалась такой:

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

Если бы у нее был еще N+1 рядок, то снова получилась бы исходная последовательность. Такой циркулянт всегда симметричен относительно главной диагонали, а следовательно, всегда приводим к диагональной форме. Вот его главные собственные вектора и используются как базис для разложения.

Вы где-нибудь встречали что-нибудь подобное? А то я не уверена, что излагаю что-то реальное, а не свои фантазии из головы, где всё поперепуталось smile.gif.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 22 2010, 19:23
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Xenia @ Nov 22 2010, 22:05) *
В графике нагляднее, т.к. график - уже матрица, а матрицы допускают, так называемое, сингулярное разложение (SVD). При этом собственные вектора


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

Можно, я вам ещё одну красивую фразу подскажу? Она вам понравится, обещаю. Итак, "разложение Карунена-Лоэва". Что это такое - посмотрите сами в Википедии. cool.gif

Лоэв, лоэв, лоэв, лоэв... wub.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Nov 26 2010, 11:52
Сообщение #53


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



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


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

И не заморачивайтесь Каруненом-лоевым, который от снобизма.
Вейвлет-компрессия, может быть, на 3-10% хуже по сжатию этого самого Карунена,
зато наглядее и проще в исполнении.
Go to the top of the page
 
+Quote Post
M_SV
сообщение Nov 26 2010, 15:41
Сообщение #54





Группа: Участник
Сообщений: 11
Регистрация: 8-11-10
Пользователь №: 60 721



Всем доброго времени суток! В своё время занимался вейвлетами. Вот несколько сохранившихся книг.


Кстати, информацию можно поискать на сайте www.exponenta.ru

Сообщение отредактировал M_SV - Nov 26 2010, 14:51
Прикрепленные файлы
Прикрепленный файл  wavelet.rar ( 1.56 мегабайт ) Кол-во скачиваний: 1819
 
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Nov 26 2010, 17:28
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Залил в upload/books/dsp/wavelet свою старую подборку статей по вэйвлетам 10-ти летней давности. Там много статей, от вводных до весьма специфических.

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

P.S. И еще, в Вашем случае это не подойдет, но советую немного ознакомиться с темой compressed sampling/compressive sensing, скорее для понимания вычислительной сложности восстановления сигнала с определенными характеристиками по редко взятым отсчетам: http://dsp.rice.edu/cs. Недавно нам Веттерли как раз небольшой семинар по finite rate of innovation читал. Полиномиальная сложность в решении этой задачи - это очень хорошо по сегодняшним меркам. smile.gif
Go to the top of the page
 
+Quote Post
trex
сообщение Jan 13 2011, 03:53
Сообщение #56





Группа: Участник
Сообщений: 13
Регистрация: 22-07-10
Пользователь №: 58 549



можно ли в вейвлет пространстве суммировать (перемножить) два сигнала? т.е. аналог свертки Фурье во временной (частотной) области?
Go to the top of the page
 
+Quote Post
Andrey_1
сообщение Jan 17 2011, 08:57
Сообщение #57


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268



Цитата(trex @ Jan 13 2011, 06:53) *
можно ли в вейвлет пространстве суммировать (перемножить) два сигнала? т.е. аналог свертки Фурье во временной (частотной) области?


Собственно замес в том, что обычное Фурье молчаливо предполагает - сигнал существует всегда (время от минус бесконечность до плюс бесконечность)
В реальной жизни сигналы нестационарны например речь -или импульсный шум (шум транспортного потока)
Вейвлет попытка уйти от классического Фурье-анализа и распространить его на случай нестационарного сигнала
Пытались мы как-то с коллегой лет пять назад сигнал речевой от шума почистить но как-то безуспешно - на временной реализации шум как бе совсем исчез а качество исходного голоса стало как у робота
Go to the top of the page
 
+Quote Post
trex
сообщение Jan 20 2011, 07:04
Сообщение #58





Группа: Участник
Сообщений: 13
Регистрация: 22-07-10
Пользователь №: 58 549



Цитата(Andrey_1 @ Jan 17 2011, 10:57) *
Собственно замес в том, что обычное Фурье молчаливо предполагает - сигнал существует всегда (время от минус бесконечность до плюс бесконечность)
В реальной жизни сигналы нестационарны например речь -или импульсный шум (шум транспортного потока)
Вейвлет попытка уйти от классического Фурье-анализа и распространить его на случай нестационарного сигнала
Пытались мы как-то с коллегой лет пять назад сигнал речевой от шума почистить но как-то безуспешно - на временной реализации шум как бе совсем исчез а качество исходного голоса стало как у робота

эммм, т.е. операцию свертки над коэффициентами одного и того же уровня разложения DWT двух сигналов делать нельзя теоретически? но суммировать можно?
Go to the top of the page
 
+Quote Post
sherr
сообщение Jan 20 2011, 16:33
Сообщение #59


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 10-06-06
Из: Ставрополь
Пользователь №: 17 955



Цитата(Xenia @ Nov 16 2010, 01:39) *
У меня явно не изображения, а одномерные сигналы, приближающиеся по форме к кривой Гаусса (кривой нормального распределения). В просторечии я называю их пиками.

Значит так. АЦП измеряет напряжение на своем входе всегда с одной и той же периодичностью (обычно это 50Гц, чтобы меньше сказывались сетевые наводки). Долгое время "ничего нет", т.е. на входе присутствует некий постоянный шум или медленный дрейф ("базовая линия"). И вдруг внезапно "выходит" пик - сигнал гауссообразной формы со слегка заметным "хвостом" (задний фронт более пологий, чем передний, тогда как гауссиана полностью симметрична). Обычно за 20-60 секунд входное напряжение успевает достигнуть локального максимума, а затем снова сходит до уровня базовой линии. И так процесс продолжается от нескольких часов до суток с небольшим.

Высокоэффективная газо-жидкостная хроматография или что-то подобное ?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 20 2011, 20:11
Сообщение #60


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(sherr @ Jan 20 2011, 19:33) *
Высокоэффективная газо-жидкостная хроматография или что-то подобное ?


Оно самое sm.gif, плюс капиллярный электрофорез.
Go to the top of the page
 
+Quote Post

6 страниц V  « < 2 3 4 5 6 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.015 секунд с 7
ELECTRONIX ©2004-2016