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

 
 
> Придумал алгоритм интерполяции. Протестируем результаты?, вызов от дилетанта
_Ivana
сообщение Apr 7 2012, 12:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Пару дней назад пришлось вникнуть в азы ЦОС на примере ресемплинга. Почитал пару-тройку страничек в инете, про двойной апсемплинг, оконные функции, полиномы Лагранжа-Фарроу и т.п. И придумал свой алгоритм sm.gif Без таблиц, на чистой математике. По объему операций существенно меньше Фарроу. Реализовал его, как обычно, сначала на 1С sm.gif Посмотрел графики. Потом перевел в целочисленную математику и с помощью коллеги наваял программку - ресемплер wav файлов. С заданием частоты ресемплинга и выбором варианта - своего или Фарроу.

Собственно, предлагаю: заинтересованные лица выкладывают вавки, я их ресемплю с нужной частотой двумя вариантами и выкладываю на всеобщее скачивание/заслушивание. Желающие делятся своими мнениями по поводу sm.gif

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

Графические примеры работы алгоритмов: точки 50, 70, 20, края диапазона добиты нулями. График - ось абсцисс вниз, ординат - вправо.
Фарроу:
CODE

      *--- 0
     *
    *
   *
   *
  *
  *
   *
   *
    *
      *--- 0
          *
              *
                   *
                        *
                             *
                                   *
                                        *
                                             *
                                                   *
                                                        *--- 50
                                                            *
                                                               *
                                                                  *
                                                                     *
                                                                        *
                                                                          *
                                                                           *
                                                                            *
                                                                            *
                                                                            *--- 70
                                                                        *
                                                                    *
                                                               *
                                                          *
                                                     *
                                                *
                                          *
                                    *
                               *
                          *--- 20
                      *
                   *
                 *
              *
            *
           *
         *
        *
      *
      *--- 0
     *
     *
    *
    *
    *
    *
     *
     *
     *

Мой алгоритм:
CODE

      *--- 0
     *
     *
    *
   *
  *
  *
  *
  *
   *
      *--- 0
         *
             *
                  *
                       *
                             *
                                   *
                                         *
                                               *
                                                   *
                                                        *--- 50
                                                           *
                                                               *
                                                                  *
                                                                     *
                                                                        *
                                                                          *
                                                                            *
                                                                            *
                                                                            *
                                                                            *--- 70
                                                                         *
                                                                      *
                                                                 *
                                                           *
                                                     *
                                               *
                                         *
                                   *
                              *
                          *--- 20
                      *
                   *
                 *
              *
            *
           *
         *
        *
       *
      *--- 0
     *
    *
    *
    *
    *
     *
     *
     *
     *

За качество обоих графиков извиняйте - они в псевдографике с грубым "разрешением", на самом деле они более красивые sm.gif

Сообщение отредактировал _Ivana - Apr 7 2012, 12:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Ivana
сообщение Apr 10 2012, 07:08
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



С интересом разглядывая последний график, я могу сказать следующее:
1) можно ввести параметр так называемой "мощности" алгоритма интерполяции - угол наклона прямой линии (или почти прямой) на графике.
2) сравнивать алгоритмы можно по погрешности при малых дискретизациях (стартовой погрешности) и мощности. Например, Лагранж-4 проигрывает сплайнам с производными при малом количестве точек, но за счет большей мощности обгоняет последний при где-то 28 точках и дальше только увеличивает свое преимущество. А Катмулл-Ром при малом количество точек близок к Фарроу (хотя и все равно хуже), но за счет меньшей мощности при увеличении количества точек все больше и больше отстает от него. Интересно поведение Фарроу и сплайна по производным - они имеют одинаковую (насколько можно судить по графикам) мощность, но сплайн по производным всегда на порядок (в 10 раз) точнее sm.gif
3) из всего перечисленного можно предположить, что максимально достижимая мощность сплайнов с угадыванием производных (типа Катмулла-Рома и т.п.) равна мощности сплайна с известными производными, и следовательно мощности Фарроу (Лагранжа 3 порядка). А значит, как бы я не исхитрялся с алгоритмом угадывания производных, он уступит по мощности точным производным, и следовательно Фарроу sm.gif Я могу получить выигрыш только на начальном этапе - при малом (относительно) количестве точек, но потом Фарроу обгонит (как Лагранж-4 обогнал точные производные). Значит, теоретические изыскания могут рассчитывать только на то, что этот обгон состоится как можно позже, и математика алгоритма будет при этом проще Фарроу. У меня есть некоторые сомнения в целесообразности и осуществимости таких поисков. Фарроу оказался сильным (мощным sm.gif ). И он победил меня на поле кубических сплайнов как таковых, хотя сам им в какой-то степени и является. Остается только признать свое поражение... smile3046.gif
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Apr 10 2012, 14:06
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(_Ivana @ Apr 10 2012, 10:08) *
...Остается только признать свое поражение...

Не торопитесь. С точки зрения практики, минимизация нужна именно там, где ошибка велика (по сравнению с прочими ее источниками, а их немало). А когда величина ошибки становится малой - не столь важны ее небольшие колебания.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _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 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 09:43
Рейтинг@Mail.ru


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