Перейти к содержанию
    

Придумал алгоритм интерполяции. Протестируем результаты?

Синк пока не пробовал, попробую. Для начала на своем 1С симуляторе :)

Но я верю что там будет все хорошо и при 2 отсчетах на период. Синк же ведь такой баян, который можно растянуть насколько размаха рук хватит :) И точность можно повышать до любых значений, просто растягивая этот баян шире :) Кстати, интересно будет посмотреть на работу синка при 1.3 точки на период :) А при локальных алгоритмах, которые принципиально оперируют только несколькими окрестными точками, совершенно другая ситуация - и это понятно всему здравомыслящему человечеству :)

 

Кстати, на примере Катмулла-Рома и Фарроу, я понял еще одну очевидную вещь - можно и к Лагранжу 4-го порядка приделать его "близнеца" - Катмулла-Рома 4-го порядка, с заданием условий по производным в конечных точках, чтолько точек будет не 4 а 5. И к Лагранжу любого порядка можно таким образом приделать своего Катмулла-Рома того же порядка. Причем, я предполагаю что математика расчета будет проще по сравнению с Лагранжем. Также предполагаю что точность в свою очередь будет похуже. Вот это я и проверю в 1С :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 _Ivana,

http://ru.wikipedia.org/wiki/Сплайн_Эрмита

 

Спланы Катмулла-Рома частный случай Эрмита. попробуйте :) О результатах расскажите :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, интересно будет посмотреть на работу синка при 1.3 точки на период :)

Вы сперва разберитесь в т.Котельникова и сотоварищей. Чтоб такие наполеоновские планы на всеобщее оборзерние выставлять :)

 

Даже для ровно 2.0 точек на период нет никакой гарантии достоверности. Для 2.1 можно, но ширина синка от 20 периодов и чем их больше, тем меньше ВЧ гармоник. Вобщем, чем ближе к 2.0 тем шире нужен синк. Меньше 2.0 сделать принципиально невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 SFx я уже пробовал и с известными значениями производных (график ошибки приводил), и угадывать их по другим алгоритмам. Если вашу википедийную ссылку применить к равномерным интервала дискретизации, то среднее арифметическое производных на двух соседних отрезках даст именно Катмулла-Рома. Более того, к нему же приводит попытка интерполяции этих 3-х точек параболой. То что там называется "кардинальным сплайном" я конечно тоже попробую, но навскидку мне кажется результаты будут хуже чем просто Катмулл-Ром. Я пробовал несколько вариантов "угадывания" производной в средней точке по 3-м точкам (используя информацию о значении средней), но на практике все они или были сильно хуже, или асимптотически стремились к Катмуллу-Рому, который информацию об этой средней точке не использует! :)

 

GetSmart да-да, вы правы. Видимо я злоупотребляю смайликами в своих постах, и становится непонятно когда а шучу. Хотя после шутки в виде предложения интерполировать по 4-м локальным точкам синус частотой 0.49 частоты дискретизации я думал мне тоже можно предложить попробовать интерполировать синком 0.7 частоты дискретизации :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал т.н. "кардинальный сплайн" - результаты похожи на то, что мы вводим в Катмулла-Рома некий коэффициент погрешности, который при равенстве нулю дает самый лучший результат. Я не понял его глубокого смысла.

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

А пока сравнительные графики ошибки Лагранжа 3-го и 4-го порядков и Катмулла-Рома 3-го и 4-го порядков. Если при расчете последнего я не ошибся, то его результат довольно странный.

post-66710-1334250034_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Спасибо за поддержку в нужный момент :) Если я не ошибаюсь, то мне все-таки удалось победить Фарроу на отдельно взятой территории. Кубическим сплайном, как ни странно :) Так что объем вычислений примерно тот же. Более того, я могу влиять на степень отклонения от Фарроу от нулевой до например представленной на картинке и больше :) А при малых ошибках, как вы правильно заметили, и погрешности округлений будут сравнимы, и другие источники подтянутся. Добавил рядом график с шагом поменьше, чтобы было более понятно поведение ошибки.

 

upd: а ещё вот такие интересные картинки могу получить. То есть, я могу достичь любого предела абсолютной ошибки за меньшее количество отсчетов на период чем Фарроу :rolleyes:

post-66710-1334425267_thumb.jpg

post-66710-1334426127_thumb.jpg

post-66710-1334437549_thumb.jpg

post-66710-1334437790_thumb.jpg

Изменено пользователем _Ivana

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще картинка сравнения базового сплайна Фермана-Зингельшухера 4-го порядка с Лагранжем того же 4-го порядка. Навскидку неоптимизированный расчет коэффициентов полинома требует примерно одинаковых ресурсов. Здесь преимущество не такое явное. Но это первые результаты, может удастся их улучшить.

post-66710-1334448384_thumb.jpg

post-66710-1334448603_thumb.jpg

Изменено пользователем _Ivana

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Картина пикселями "кубический сплайн Фермана-Зингельшухера (красный) побеждает Фарроу (зеленый) на всем поле, требуя при этом примерно столько же вычислений" :rolleyes:

post-66710-1334463153_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И снова здравствуйте :)

И снова я придумал очередной алгоритм :) Точнее - несколько, но последний настолько меня вдохновляет, что я снова пишу сюда.

Сразу про количество операций. Допустим в сравнении с Фарроу - Лагранжем 3. Хотя при самом подходе к расчету количества операций выяснились забавные "особенности" - некоторые считают извлечение квадратного корня и сложение отдельными операциями, хотя понятно что они требуют существенно разных машинных ресурсов, а другие считают например что Лагранж - 3 рассчитывается "за 3 умножения и 3 сложения", хотя ровно столько требуется для расчета его полинома, а расчет коэффициентов наверное считается что не занимает операций совсем :) Я рискну высказать свое мнение насчет количества операций и в Фарроу и моего алгоритма. Итак,

 

Фарроу:

1 умножение на константу

2 сдвига (умножения/деления на степени 2)

3 умножения на переменную

12 сложений (одно на приведение параметра)

 

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

1 умножение на константу

3 сдвига (умножения/деления на степени 2)

3 умножения на переменную

12 сложений

 

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

 

ЗЫ сегодня пойду рассказывать суть и получать критические оценки от специалиста из нашего Воронежского государственного университета (лет 20 там не был). Завтра сделаю доклад там же на семинаре среди доцентов и профессоров математического факультета. Если вдруг кого здесь заинтересует - напишу их мнение, независимо от его содержания :)

 

И конечно же графики ошибки моего алгоритма (красный) в сравнении с Фарроу (зеленый) и Лагранжем 4-го порядка (синий):

 

После интерполяции должен остаться такой же спектр в исходной полосе. А за ее пределами нулевой.

Так как реально такого не бывает, качество интерполяции можно сравнивать с классической реализацией (добавление нулей и фильтрация ненужных спектральных компонентов). Это в идеале, действительно, единственно возможная кривая, как сказал ViKo.

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

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

post-66710-1335240234_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

1 умножение на константу

3 сдвига (умножения/деления на степени 2)

3 умножения на переменную

12 сложений

 

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

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

В алгоритме Фэрроу умножение на константу не требует отдельной операции, так как на эту константу можно домножить, к примеру, коэффициенты предшествующего фильтра. Если у Вас также, то это очень круто:). И уточните, пожалуйста, величину какой ошибки Вы приводите на графике - среднеквадратичной, максимальной или ещё какой-нибудь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Не надо никаких спектров. В источниках, где как-то рассматриваются интерполяторы, обычно укзывается 2 характеристики:

- Набор АЧХ и ФЧХ в зависимости от значения задержки

- Сложность

 

Эта статья вроде была в открытом доступе где-то

http://ieeexplore.ieee.org/xpl/login.jsp?t...%2F01203780.pdf

 

Успехов

 

ЗЫ сегодня пойду рассказывать суть и получать критические оценки от специалиста из нашего Воронежского государственного университета (лет 20 там не был). Завтра сделаю доклад там же на семинаре среди доцентов и профессоров математического факультета. Если вдруг кого здесь заинтересует - напишу их мнение, независимо от его содержания :)

 

"...Доктора,

Профессора,

Медицинская сестра,

Академик по Китам,

Академик по Котам,

С ними семьдесят студентов,

Тридцать пять корреспондентов,

Два редактора с корректором,

Кинохроника с прожектором,

Юные натуралисты

И другие специалисты. "

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Timmy,

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

Точно утверждать пока не возьмусь, но мне кажется что и в моем случае этот метод сработает. Кстати, я ещё немножко оптимизировал свой алгоритм - убрал один сдвиг.

И уточните, пожалуйста, величину какой ошибки Вы приводите на графике - среднеквадратичной, максимальной или ещё какой-нибудь.

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

 

Fat Robot

Спасибо за ссылку, попробую разобраться.

 

ЗЫ: я очень хорошо понимаю и разделяю Ваше насмешливо-несерьезное отношение к званиям, регалиям и авторитетам. Но среди них по статистике тоже иногда попадаются достаточно неглупые люди, в моем случае их оказалось примерно 2.5 человека :) И мне было интересно и познавательно с ними пообщаться. А насчет перечисленного Вами видового разнообразия - то оно в не меньшей мере представлено и на этом форуме :) Хочу спросить к какой категории вы относите себя, но из благодарности за помощь и ссылку воздержусь :) А с другой стороны - куда мне было ещё обращаться? Где вот лично Вы были все предыдущие 9 страниц моих эпических плаваний? :)

 

ЗЗЫ: ссылка судя по всему интересная, но у меня нет денег в виртуальном пространстве и опыта работы с ними, поэтому к сожалению скачать пока не могу :( Готов положить в 10 раз бОльшую сумму (если я правильно понял цифры цен в рублях) на сотовый тому, кто пришлет мне эту статью.

Изменено пользователем _Ivana

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

_Ivana,

 

1. Я был занят другими делами, не менее интересными, чем обсуждение интерполяторов на интернет-форуме. Только недавно стал на перископную глубину подниматься. Извините, что подвел Вас. Целых 9 страниц... Не ожидал, что Вы такой плодовитый.

 

2. То, что Вы используете все возможные способы получения информации, - это прекрасно и похвально. Серьезно. А вот то, что Вы напускаете туману "кое-что сделал, но не скажу" при обсуждении - это не серьезно и детский сад.

 

3. Вы очень глубоко смотрите и видите то, чего нет. Это цитата из детского стиха:Борис Заходер "Кит и Кот". Не более того.

 

И да.. Освойте Матлаб. Как инструмент, он весьма хороший.

 

Успехов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

_Anatoliy, спасибо. Скиньте ваш номер сотового в личку, положу на него 300р (если не ошибаюсь).

 

Fat Robot

А вот то, что Вы напускаете туману "кое-что сделал, но не скажу" при обсуждении - это не серьезно и детский сад.

Я не настолько наивен и меркантилен, чтобы лелеять надежду получить от этого материальную выгоду. Но чего я действительно не хочу - это чтобы написанное в интернете на весь мир кто-то бы выдал за свои разработки. Я понимаю что такая позиция не лучшим образом свидетельствует о моем моральном облике. Я помню стих 74 Дхаммапады ( http://dhamma.ru/canon/kn/dhp/dhammapada.htm ), глава о глупцах:

74. «Пусть думают и миряне, и отшельники, что это сделано мной. Пусть они зависят от меня во всех делах», – таково намерение глупца; его желание и гордость возрастают.

Также я понимаю, что не обнародовав суть, мне трудно рассчитывать на конструктивное обсуждение.

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

 

И спасибо за советы и пожелание успеха. Серьезно. Это приятно, особенно на фоне обесценивающих реплик демотивирующего характера от отдельных представителей, хоть я и не воспринимаю их серьезно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...