|
Придумал алгоритм интерполяции. Протестируем результаты?, вызов от дилетанта |
|
|
|
Apr 7 2012, 12:23
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710

|
Пару дней назад пришлось вникнуть в азы ЦОС на примере ресемплинга. Почитал пару-тройку страничек в инете, про двойной апсемплинг, оконные функции, полиномы Лагранжа-Фарроу и т.п. И придумал свой алгоритм  Без таблиц, на чистой математике. По объему операций существенно меньше Фарроу. Реализовал его, как обычно, сначала на 1С  Посмотрел графики. Потом перевел в целочисленную математику и с помощью коллеги наваял программку - ресемплер wav файлов. С заданием частоты ресемплинга и выбором варианта - своего или Фарроу. Собственно, предлагаю: заинтересованные лица выкладывают вавки, я их ресемплю с нужной частотой двумя вариантами и выкладываю на всеобщее скачивание/заслушивание. Желающие делятся своими мнениями по поводу  ЗЫ поскольку я совершенный дилетант в сабжевом вопросе, я вполне допускаю что этот алгоритм уже давно придуман до меня. Но навскидку я не нашел ничего похожего. Графические примеры работы алгоритмов: точки 50, 70, 20, края диапазона добиты нулями. График - ось абсцисс вниз, ординат - вправо. Фарроу: CODE *--- 0 * * * * * * * * * *--- 0 * * * * * * * * * *--- 50 * * * * * * * * * *--- 70 * * * * * * * * * *--- 20 * * * * * * * * * *--- 0 * * * * * * * * *
Мой алгоритм: CODE *--- 0 * * * * * * * * * *--- 0 * * * * * * * * * *--- 50 * * * * * * * * * *--- 70 * * * * * * * * * *--- 20 * * * * * * * * * *--- 0 * * * * * * * * *
За качество обоих графиков извиняйте - они в псевдографике с грубым "разрешением", на самом деле они более красивые
Сообщение отредактировал _Ivana - Apr 7 2012, 12:31
|
|
|
|
|
 |
Ответов
|
Apr 10 2012, 07:08
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710

|
С интересом разглядывая последний график, я могу сказать следующее: 1) можно ввести параметр так называемой "мощности" алгоритма интерполяции - угол наклона прямой линии (или почти прямой) на графике. 2) сравнивать алгоритмы можно по погрешности при малых дискретизациях (стартовой погрешности) и мощности. Например, Лагранж-4 проигрывает сплайнам с производными при малом количестве точек, но за счет большей мощности обгоняет последний при где-то 28 точках и дальше только увеличивает свое преимущество. А Катмулл-Ром при малом количество точек близок к Фарроу (хотя и все равно хуже), но за счет меньшей мощности при увеличении количества точек все больше и больше отстает от него. Интересно поведение Фарроу и сплайна по производным - они имеют одинаковую (насколько можно судить по графикам) мощность, но сплайн по производным всегда на порядок (в 10 раз) точнее  3) из всего перечисленного можно предположить, что максимально достижимая мощность сплайнов с угадыванием производных (типа Катмулла-Рома и т.п.) равна мощности сплайна с известными производными, и следовательно мощности Фарроу (Лагранжа 3 порядка). А значит, как бы я не исхитрялся с алгоритмом угадывания производных, он уступит по мощности точным производным, и следовательно Фарроу  Я могу получить выигрыш только на начальном этапе - при малом (относительно) количестве точек, но потом Фарроу обгонит (как Лагранж-4 обогнал точные производные). Значит, теоретические изыскания могут рассчитывать только на то, что этот обгон состоится как можно позже, и математика алгоритма будет при этом проще Фарроу. У меня есть некоторые сомнения в целесообразности и осуществимости таких поисков. Фарроу оказался сильным (мощным  ). И он победил меня на поле кубических сплайнов как таковых, хотя сам им в какой-то степени и является. Остается только признать свое поражение...
|
|
|
|
Сообщений в этой теме
_Ivana Придумал алгоритм интерполяции. Протестируем результаты? Apr 7 2012, 12:23 ViKo Не логичнее выложить сам алгоритм? Apr 7 2012, 13:11 _Ivana Я бы не хотел его обнародовать. По крайней мере, п... Apr 7 2012, 13:24 litv заслушивание на слух это - для музыкантов. Вы возь... Apr 7 2012, 13:27 _Ivana В моем слабеньком спектроанализаторе из программки... Apr 7 2012, 13:33 des00 Цитата(_Ivana @ Apr 7 2012, 08:33) В моем... Apr 7 2012, 13:41 _Ivana des00 спасибо за задание направления дальнейшего а... Apr 7 2012, 13:48 des00 Цитата(_Ivana @ Apr 7 2012, 08:48) Чувств... Apr 7 2012, 13:59 _Ivana Спасибо. Если кому есть что добавить по методам оц... Apr 7 2012, 14:07 Tanya Цитата(_Ivana @ Apr 7 2012, 18:07) Спасиб... Apr 7 2012, 17:00 thermit Цитата_Ivana:
По объему операций существенно меньш... Apr 7 2012, 15:18 _Ivana Я не знаю как прокомментировать последние реплики.... Apr 7 2012, 17:47 sup-sup Цитата(_Ivana @ Apr 7 2012, 20:47) Я не з... Apr 7 2012, 18:50 thermit 1. Оценка погрешности интерполяции заключается в о... Apr 7 2012, 19:06 _Ivana Спасибо, скачал, поставил. Сгенерировать ключ не у... Apr 7 2012, 19:41 sup-sup Цитата(_Ivana @ Apr 7 2012, 22:41) Спасиб... Apr 7 2012, 19:47 _Ivana Цитата(sup-sup @ Apr 7 2012, 23:47) ... Apr 7 2012, 19:56 sup-sup Цитата(_Ivana @ Apr 7 2012, 22:56) Наприм... Apr 7 2012, 20:25 thermit Цитата_Ivana:
Термит, если нечего сказать конструк... Apr 7 2012, 20:09 _Ivana Хорошо. Термит прав, надо отойти от цифровых приме... Apr 7 2012, 20:41 thermit Да, вопрос от меня, как от критика с претензиями в... Apr 7 2012, 20:46 _Ivana ОФФ: потому что я её хорошо знаю, и использую как ... Apr 7 2012, 20:54 Pavel_SSS Цитата(_Ivana @ Apr 8 2012, 00:54) ОФФ: п... Apr 8 2012, 00:48 thermit Цитата_Ivana:
ЗЫ я понимаю что критики с претензия... Apr 7 2012, 21:21 _Ivana За рекомендации всегда спасибо. Но от специалистов... Apr 7 2012, 21:45 ViKo Я думаю, что максимально верной интерполяцией нужн... Apr 8 2012, 06:28 Tanya Цитата(ViKo @ Apr 8 2012, 10:28) Я думаю,... Apr 8 2012, 07:26  ViKo Цитата(Tanya @ Apr 8 2012, 10:26) Вот поп... Apr 8 2012, 07:34   Tanya Цитата(ViKo @ Apr 8 2012, 11:34) А вот, с... Apr 8 2012, 09:48    ViKo Цитата(Tanya @ Apr 8 2012, 12:48) Какое э... Apr 8 2012, 13:10     GetSmart Цитата(ViKo @ Apr 8 2012, 18:10) В том-то... Apr 8 2012, 13:48     Tanya Цитата(ViKo @ Apr 8 2012, 17:10) В том-то... Apr 8 2012, 14:59      ViKo Цитата(Tanya @ Apr 8 2012, 17:59) Какая-т... Apr 8 2012, 15:28       Tanya Цитата(ViKo @ Apr 8 2012, 19:28) Эта, еди... Apr 8 2012, 15:57        ViKo Цитата(Tanya @ Apr 8 2012, 18:57) 1. Коте... Apr 8 2012, 16:39 petrov Цитата(ViKo @ Apr 8 2012, 10:28) Я думаю,... Apr 8 2012, 11:07 _Ivana Пока желающие общаются на сопутствующие темы, а я ... Apr 8 2012, 10:04 thermit Цитата_Ivana:
Пока желающие общаются на сопутствую... Apr 8 2012, 11:20 _Ivana Понятно что лучше
Число операций на отсчет оглашу... Apr 8 2012, 11:50 thermit Цитата_Ivana:
собственно, недавно кто-то говорил, ... Apr 8 2012, 12:14 _Ivana thermit, странная ситуация
Кроме Вас, в этой теме... Apr 8 2012, 12:22 GetSmart _Ivana, для начала не нужно выбирать предельную ди... Apr 8 2012, 12:39 _Ivana Картинки при 2 точках на период (предел по Котельн... Apr 8 2012, 12:42 GetSmart Цитата(_Ivana @ Apr 8 2012, 17:42) Картин... Apr 8 2012, 12:52 thermit ЦитатаРазберитесь в графиках пожалуйста. Это именн... Apr 8 2012, 12:48 _Ivana Цитата(thermit @ Apr 8 2012, 16:48) Ошибк... Apr 8 2012, 12:55 thermit ЦитатаХотите, построю этот же график но не с 2 а с... Apr 8 2012, 13:02 _Ivana Цитата(thermit @ Apr 8 2012, 17:02) C 8-м... Apr 8 2012, 13:06 thermit ЦитатаА почему бы мне не напустить тумана в этом в... Apr 8 2012, 13:20 _Ivana Термит, Вы были правы - маскирует. Мой- красный, Ф... Apr 8 2012, 13:22 thermit Цитата_Ivana:
В наш век Кали Юги на дворе не все в... Apr 8 2012, 13:32 _Ivana Шутки шутками, а вот если бы моя кривая прошла ниж... Apr 8 2012, 13:37 _Ivana Цитата(GetSmart @ Apr 8 2012, 17:48) Даже... Apr 8 2012, 13:55 des00 Цитата(_Ivana @ Apr 8 2012, 07:55) В общи... Apr 8 2012, 14:07 thermit Цитата_Ivana:
Ну например, при расчете Фарроу испо... Apr 8 2012, 14:07 _Ivana В самом первом посте я написал, что перевел свой а... Apr 8 2012, 14:11 des00 Цитата(_Ivana @ Apr 8 2012, 09:11) Но это... Apr 8 2012, 14:15 _Ivana Цитата(des00 @ Apr 8 2012, 18:15) т.е. вы... Apr 8 2012, 14:21 des00 Цитата(_Ivana @ Apr 8 2012, 08:21) Кто по... Apr 8 2012, 14:47  NiceParty Цитата(des00 @ Apr 8 2012, 18:47) да весь... Apr 8 2012, 14:56 _Ivana Цитата(des00 @ Apr 8 2012, 18:47) да весь... Apr 8 2012, 14:57 des00 Цитата(NiceParty @ Apr 8 2012, 08:56) P.S... Apr 8 2012, 15:13 NiceParty Цитата(des00 @ Apr 8 2012, 19:13) это же ... Apr 8 2012, 15:49 _Ivana Цитата(des00 @ Apr 8 2012, 19:13) а вы сл... Apr 8 2012, 15:18 thermit Цитатаdes00:
все переходит к набору сумматоров + с... Apr 8 2012, 15:28 _Ivana Подскажите кто знает, какие ещё показатели (кроме ... Apr 8 2012, 16:00 Pavel_SSS Цитата(_Ivana @ Apr 8 2012, 20:00) Подска... Apr 8 2012, 16:19 sup-sup Цитата(_Ivana @ Apr 8 2012, 19:00) Подска... Apr 8 2012, 17:53 ViKo К "единственно возможной кривой" можно п... Apr 8 2012, 18:11 _Ivana Спасибо за дельные рекомендации, померю по возможн... Apr 8 2012, 18:19 ViKo Цитата(_Ivana @ Apr 8 2012, 21:19) Послед... Apr 9 2012, 04:16 _Ivana Цитата(ViKo @ Apr 9 2012, 08:16) Это не н... Apr 9 2012, 07:54 Михаил_K _Ivana. Интересно было бы посмотреть на спектр сиг... Apr 9 2012, 13:03 thermit http://electronix.ru/forum/index.php?showt...t... Apr 9 2012, 14:01 _Ivana Цитата(Михаил_K @ Apr 9 2012, 17:03) _Iva... Apr 9 2012, 14:43 Михаил_K Цитата(_Ivana @ Apr 9 2012, 18:43) В данн... Apr 10 2012, 08:57 _Ivana В продолжение эпического мыслевыражения Задача: и... Apr 9 2012, 19:18 Timmy Цитата(_Ivana @ Apr 9 2012, 23:18) гладко... Apr 9 2012, 19:55 _Ivana Спасибо, я почитал обзорно про фундаментальные, на... Apr 9 2012, 20:16 _Ivana Пока все мои попытки придумать производную точнее ... Apr 9 2012, 22:33 thermit Есть готовы формулы, по которым можно посчитать де... Apr 10 2012, 09:41 _Ivana Цитата(Михаил_K @ Apr 10 2012, 12:57) Изо... Apr 10 2012, 09:57 ViKo Цитата(_Ivana @ Apr 10 2012, 12:57) Одно ... Apr 10 2012, 10:34 Михаил_K Цитата(_Ivana @ Apr 10 2012, 13:57) и спе... Apr 10 2012, 11:36 _Ivana Цитата(ViKo @ Apr 10 2012, 14:34) Предлаг... Apr 10 2012, 12:05 Михаил_K Понятно. Просто там такой ужОс изображен, что я ср... Apr 10 2012, 12:44 NiceParty Цитата(Михаил_K @ Apr 10 2012, 16:44) Пон... Apr 10 2012, 13:59 _Ivana Цитата(ViKo @ Apr 10 2012, 14:34) Предлаг... Apr 10 2012, 15:57 ViKo А линейную интерполяцию можете забомбить, для срав... Apr 10 2012, 17:07 _Ivana По порядку - спектр исходного сигнала, после линей... Apr 10 2012, 17:12 ViKo Где какой? А красный и синий что за спектры? Apr 10 2012, 17:27 ViKo P.S. А линейный масштаб по частоте приятнее будет ... Apr 10 2012, 17:27 _Ivana Лагранж-4 из последних 3-х картинок самый зашумлен... Apr 10 2012, 17:29 ViKo Ну, и как это понимать? Что линейная интерполяция ... Apr 10 2012, 17:32 _Ivana Подозреваю что на вашем примере - да. При ресемпли... Apr 10 2012, 17:47 ViKo Цитата(_Ivana @ Apr 10 2012, 20:47) Подоз... Apr 10 2012, 17:53 _Ivana Количество точек FFT = 16384. А на другие вопросы ... Apr 10 2012, 18:01 ViKo Цитата(_Ivana @ Apr 10 2012, 21:01) Колич... Apr 10 2012, 18:10
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|