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

 
 
> Апроксимация сплайнами, оптимизация размещения контрольных точек
ataradov
сообщение Jan 23 2011, 13:26
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Эта тема является логическим продолжением вот этой, но может быть интересна и сама по себе, поэтому выношу в отдельный типик.

На картинках изображена характерная кривая (1 - общий план, 2 - приближенное начало), которую нужно представить сплайнами или любым другим способом, занчительно снижающим объем памяти, требуемый для ее хранения, но при этом допускающий сравнительно простое восстановление по точкам, не разжимя всей кривой сразу (то-есть запаковать ее ZIP-ом нельзя sm.gif ).

Проблема в автоматическом определении положения контрольных точек. Очевидно, что равномерное расположение не выгодно, так как в начале есть сильные осциляции, а в конце график почти прямой.

В идеале нужен алгоритм, который позволит по заданному числу контрольных точек определть их положение так, чтобы СКО было минимальным. Или наоборот, по заданному СКО определить требуемое число точек и их положение.

Есть еще одна небольшая проблема - данные немного зашумлены, отчего точное определение локальных экстремумов затруднено. Можно конечно его зафильтровать пока не получится приемлемый результат, но хотелось-бы этого избежать.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
ataradov
сообщение Jan 24 2011, 11:16
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (TSerg @ Jan 24 2011, 10:15) *
Для Вашего случая моделировать надо не результат, а причину.

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

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

QUOTE (GetSmart @ Jan 24 2011, 11:57) *
Как определять точки - сильно зависит от алгоритма интерполяции/сглаживания. Для начала определитесь с методом сглаживания. А потом можно думать об алгоритме поиска точек.

Согласен. Рассматриваются спростые кубические сплайны и эрмитовы сплайны. Оба типа обладают интересными характеристиками и с каким получится лучше пока не ясно.

Для начала можно взять классические кубические сплайны.

QUOTE (Tanya @ Jan 24 2011, 11:14) *
Наверное, не только в этом случае. Если верить авторскому рисунку, кроме затухания происходит перенос энергии основной моды в гармоники. И обратно?
Происходит. Именно поэтому и записываются из сэмплов все гармоники до 15 кГц примерно. А при синтезе обратно собираются.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 24 2011, 11:45
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Почему бы просто не использовать более высокую частоту дискретизации на участке с более широкой полосой?
Go to the top of the page
 
+Quote Post
ataradov
сообщение Jan 24 2011, 11:55
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (petrov @ Jan 24 2011, 14:45) *
Почему бы просто не использовать более высокую частоту дискретизации на участке с более широкой полосой?
Для хранения гармоник или сэмпла? Предлагается хранить просте передискретизированный сигнал или я не понял?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 24 2011, 11:55
Сообщение #19


Гуру
******

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



Цитата(Taradov Alexander @ Jan 24 2011, 14:16) *
Происходит. Именно поэтому и записываются из сэмплов все гармоники до 15 кГц примерно. А при синтезе обратно собираются.

Вот и попробуйте написать модель переноса... И посчитать...
Примерно так... Имеется вероятность перехода и туда и обратно. Или можно в терминах скорости. В результате образуется равновесие. При падении энергии (амплитуды (основной моды)?) ниже определенного порога каналы обмена закрываются.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 24 2011, 12:01
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Taradov Alexander @ Jan 24 2011, 14:55) *
Для хранения гармоник или сэмпла? Предлагается хранить просте передискретизированный сигнал или я не понял?


Хранить гармоники или их амплитуды, на участке с более широкой полосой гармоники побольше частоту дискретизации сделать.
Go to the top of the page
 
+Quote Post
ataradov
сообщение Jan 24 2011, 12:04
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (Tanya @ Jan 24 2011, 14:55) *
Вот и попробуйте написать модель переноса... И посчитать...
Примерно так... Имеется вероятность перехода и туда и обратно. Или можно в терминах скорости. В результате образуется равновесие. При падении энергии (амплитуды (основной моды)?) ниже определенного порога каналы обмена закрываются.
Да, я об этом думал, но решил оставить на потом, после сжатия. Кроме того началный момент атаки скорее всего так описать не получится.


QUOTE (petrov @ Jan 24 2011, 15:01) *
Хранить гармоники или их амплитуды, на участке с более широкой полосой гармоники побольше частоту дискретизации сделать.
Тогда даже самый неоптимальный алгоритм расстановки ключевых точек в стлайнах дает большее сжатие.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 24 2011, 12:10
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Taradov Alexander @ Jan 24 2011, 15:04) *
Тогда даже самый неоптимальный алгоритм расстановки ключевых точек в стлайнах дает большее сжатие.


А где обоснование использования сплайнов? Может во время контакта с молотчком гармоники шумом модулированы и он ни в какие сплайны не вписывается? Ведь музыкальные файлы просто сплайнами не сжимают несмотря на "большее сжатие"?

Go to the top of the page
 
+Quote Post
ataradov
сообщение Jan 24 2011, 12:31
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (petrov @ Jan 24 2011, 15:10) *
А где обоснование использования сплайнов?
Его нет. Я и хотел представить и посмотреть (послушать). Вероятно действительно, не стоит сразу гнаться за самым оптимальным сжатием и представить сначала сплайнами на регулярной сетке. Я просто так набросился, потму что задача казалась простой, а оказалась не очень.

Касательно сжатия музыки у меня есть только один аргумент - у огибающих очень низкая частота.

Сообщение отредактировал Taradov Alexander - Jan 24 2011, 12:43
Go to the top of the page
 
+Quote Post
petrov
сообщение Jan 24 2011, 12:45
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Taradov Alexander @ Jan 24 2011, 15:31) *
у огибающих очень низкая частота.


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


Go to the top of the page
 
+Quote Post
ataradov
сообщение Jan 24 2011, 14:12
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (petrov @ Jan 24 2011, 15:45) *
Вот из этого как раз только можно получить необходимую частоту дискретизации, но то что какие-то сплайны подходят вовсе не факт.
Сплайнами можно добиться побитового совпадения результата и дискретизированного до 16 бит сигнала. Тогда разницы не будет точно.

QUOTE (petrov @ Jan 24 2011, 15:45) *
В речи например тоже огибающая медленно изменяется но для её сжатия используют линейное предсказание.
Я так понимаю линейное предсказание используют из-за ограниченности времени, так как сжатие речи идет для непосредственной передачи в линию и узнать, что опорную точку нужно поставить через несколько десятков миллисекунд просто нереально.


Я вечером попробую сжать не самым оптимальным образом и восстановить, посмотрим что получится.
Go to the top of the page
 
+Quote Post
thermit
сообщение Jan 24 2011, 14:29
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
Taradov Alexander:
Я так понимаю линейное предсказание используют из-за ограниченности времени, так как сжатие речи идет для непосредственной передачи в линию и узнать, что опорную точку нужно поставить через несколько десятков миллисекунд просто нереально.


Нет. Просто на сегодняшний день это один из наиболее эффективных способов параметризации случайных сигналов.
У меня есть подозрение, что именно lpc очень подойдет для Вашей задачи.
Что касается аппроксимации картинки из начала топика - она должна неплохо приближаться конечной суммой экспонент
вида c(k)*exp(-b(k)*n*T) k = 0 ... N-1.

Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 24 2011, 14:31
Сообщение #27


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(thermit @ Jan 24 2011, 19:29) *
Что касается аппроксимации картинки из начала топика - она должна неплохо приближаться конечной суммой экспонент
вида c(k)*exp(-b(k)*n*T) k = 0 ... N-1.

Если это Фурье-коэффициенты, то имхо ключевыми точками сплайнов можно сделать короче.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 24 2011, 14:35
Сообщение #28


Гуру
******

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



Цитата(Taradov Alexander @ Jan 24 2011, 15:04) *
Да, я об этом думал, но решил оставить на потом, после сжатия. Кроме того началный момент атаки скорее всего так описать не получится.

Почему же... Комбинация возрастающего до полочки + затухание.
Я Вас не пойму. Если есть (мечтать не вредно...) адекватное описание (модель - дифференциальное уравнение) с некоторым количеством параметров, то это и есть сжатие... А аппроксимировать можно 1000+ разными способами. А в случае существенной нелинейности толку от этого...
Было бы интересно посмотреть, как ведет себя все это при разных начальных энергиях.
Go to the top of the page
 
+Quote Post
thermit
сообщение Jan 24 2011, 15:00
Сообщение #29


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
GetSmart:
Если это Фурье-коэффициенты, то имхо ключевыми точками сплайнов можно сделать короче.


Фурье тут и не пахнет.
Это классическое выражение для импульсной х-ки аналогового фильтра, передаточная функция которого разложена на простые дроби.
Go to the top of the page
 
+Quote Post
ataradov
сообщение Jan 24 2011, 15:10
Сообщение #30


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (Tanya @ Jan 24 2011, 17:35) *
Если есть (мечтать не вредно...) адекватное описание (модель - дифференциальное уравнение) с некоторым количеством параметров, то это и есть сжатие...
Ну да, только адекватной модели нет.

QUOTE (Tanya @ Jan 24 2011, 17:35) *
Было бы интересно посмотреть, как ведет себя все это при разных начальных энергиях.
В какой-то мере это можно сделать, я нагенерил эталонным синтезатором сэмплов с разной скоростью нажатия клавиши и буду смотреть на зависимоть чуть позже.

Я прмерно представляю на что нужно смотреть, просто времени это требует много и не все сразу sm.gif
Go to the top of the page
 
+Quote Post

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

 


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


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