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

 
 
> Придумал алгоритм интерполяции. Протестируем результаты?, вызов от дилетанта
_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
Ответов
ViKo
сообщение Apr 8 2012, 06:28
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Я думаю, что максимально верной интерполяцией нужно считать интерполяцию синусную, когда для каждой существующей выборки создают функцию sin(x)/x, с вершиной в этой выборке (а для остальных выборок эта функция будет в нуле), и затем складывают все эти функции. Дальше по полученной кривой вычисляют значения в любых других точках. Но это слишком сложный алгоритм.

Между выборками сигнал не должен меняться, как угодно, иначе частота дискретизации не будет удовлетворять теореме Котельникова.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 8 2012, 07:26
Сообщение #3


Гуру
******

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



Цитата(ViKo @ Apr 8 2012, 10:28) *
Я думаю, что максимально верной интерполяцией нужно считать

любую.
Даже аппроксимацию при бесконечном числе точек нельзя выбрать. Пока не выбран критерий близости функций.
Вот попробуйте - (0, 0), (1, 1), (100, 0), (101, -1). Можете продлить...
И.... главное - докажите, что Ваша интерполяция "максимально верная".
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2012, 07:34
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Tanya @ Apr 8 2012, 10:26) *
Вот попробуйте - (0, 0), (1, 1), (100, 0), (101, -1). Можете продлить...
И.... главное - докажите, что Ваша интерполяция "максимально верная".

Имею в виду равномерную дискретизацию. Доказательство элементарное. Идеальный ФНЧ имеет именно такую импульсную характеристику.

А вот, собственно, доказательство. Первая же формула.
http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%...%86%D0%B8%D1%8F
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 8 2012, 09:48
Сообщение #5


Гуру
******

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



Цитата(ViKo @ Apr 8 2012, 11:34) *
А вот, собственно, доказательство. Первая же формула.

Какое это доказательство? И чего? Ведь мы имеем некоторую функцию, заданную отсчетами в некоторых точках.
Потом мы придумываем непрерывную функцию, которая проходит через эти точки. Вариантов придумки бесконечно много. И ни один не лучше другого.
А почему Вы ограничиваете себя функцией заданной в точках, лежащих на равных расстояниях?
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   Цитата(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
- - _Ivana   С интересом разглядывая последний график, я могу с...   Apr 10 2012, 07:08
|- - rudy_b   Цитата(_Ivana @ Apr 10 2012, 10:08) ...Ос...   Apr 10 2012, 14:06
- - 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 Текстовая версия Сейчас: 19th June 2025 - 01:43
Рейтинг@Mail.ru


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