2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Победить Фарроу - 2
Сообщение17.05.2014, 23:17 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864560 писал(а):
А также резюмировать и напомнить: тема в разделе "Олимпиадные задачи." В моем коде вообще копаться не надо, надо задачу решить :-)
Представим порождающую функцию в виде: $$$\varphi_0(t)=\begin{cases}a_3\left|\frac t T\right|^3+a_2\left(\frac t T\right)^2+a_1\left|\frac t T\right|+a_0,|t|\leqslant T\\b_3\left|\frac t T\right|^3+b_2\left(\frac t T\right)^2+b_1\left|\frac t T\right|+b_0,T\leqslant |t|\leqslant 2T\end{cases}$$$ Это общий вид и для случая локальной полиномиальной интерполяции и для случая сплайновой интерполяции при $M=1$. Отличия будут только в наборе каоэффициентов $a_{3,2,1,0}$ и $b_{3,2,1,0}$. Подставим это выражение в формулу для интерполирующего фрагмента и приведём результат в виду: $$\psi_k(t)=A_3\left(\frac{t-t_k}{T}\right)^3+A_2\left(\frac{t-t_k}{T}\right)^2+A_1\left(\frac{t-t_k}{T}\right)+A_0,$$ где:$$A_3=b_3s_{k-1}+a_3s_k-a_3s_{k+1}-b_3s_{k+2},$$ $$A_2=(3b_3+b_2)s_{k-1}+a_2s_k+(a_2+3a_3)s_{k+1}+(b_2+6b_3)s_{k+2},$$ $$A_1=(b_1+2b_2+3b_3)s_{k-1}+a_1s_k-(a_1+2a_2+3a_3)s_{k+1}-(b_1+4b_2+12b_3)s_{k+2},$$ $$A_0=(b_0+b_1+b_2+b_3)s_{k-1}+a_0s_k+(a_0+a_1+a_2+a_3)s_{k+1}+(b_0+2b_1+4b_2+8b_3)s_{k+2}.$$ В вашем случае, подставив $a_3=\frac 1 2; a_2=-1; a_1=-1; a_0=1; b_3=-\frac 1 6; b_2=1; b_1=-\frac {11}{6}; b_0=1$; получим: $$A_3=s_k-\frac {s_{k+1}}{2},$$ $$A_2=-\frac{1}{3}s_{k-1}-s_k+\frac{3}{2}s_{k+1}-\frac {1}{6}s_{k+2},$$ $$A_1=\frac{1}{2}s_{k-1}-s_k+\frac{1}{2}s_{k+1},$$ $$A_0=-\frac{1}{6}s_{k-1}+\frac{1}{2}s_k-\frac{1}{2}s_{k+1}+\frac{1}{6}s_{k+2}.$$ Конечно я там где-то ошибся пока на скорую руку считал и пока перебивал на форум. Но! Но! Я никого не хочу обижать, но программирование расчёта последних четырёх выражений, на мой взгляд, ничего общего с олимпиадностью не имеет. Впрочем, вам виднее, конечно же.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение17.05.2014, 23:29 


05/09/12
2587
Вот это уже ближе к тому, что хотелось от решения, предварительные выкладки есть. Я тоже ваши формулы не проверял, но принцип ясен. А теперь уложите вычисление последних четырех выражений в то количество операций, которое было озвучено. В этом основная часть задачи.

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

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение17.05.2014, 23:39 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864582 писал(а):
Или вы против, чтобы я выкладывал на форум задачи для решения участниками?
Не против. Да и причём тут моё за-против. Я за то, чтобы Вы эти задачи чётко формулировали. Вот приведи Вы сразу четыре формулы, которые надо запрограммировать и всё было бы ясно и просто.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение17.05.2014, 23:48 


05/09/12
2587
profrotter в сообщении #864585 писал(а):
Вот приведи Вы сразу четыре формулы, которые надо запрограммировать и всё было бы ясно и просто.
Но неправильно. Во-первых, это часть решения задачи - получение формул. Во-вторых, что еще интереснее - мои рассчитанные коэффициенты (и тем более формулы для их получения) отличаются от тех, что по ссылке, хотя бы потому, что нормировка аргумента полинома производится по-другому. И ваши, кстати, тоже отличаются - то ли из-за ошибки, то ли из-за принципа - не разбирался. (Например, подставьте в ваше выражение $t=t_k$ - чему должно быть равно $A_0$? Разве не какому-нибудь $s_j$?) И это я вам вынужденно раскрываю карты, чтобы объяснить, почему это не сводится к "запрограммировать четыре формулы". А мне бы хотелось, чтобы такая несложная по постановке задача была рассмотрена без подсказок.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 10:01 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Каюсь, грешен. Ошибся начиная с момента
profrotter в сообщении #864577 писал(а):
подставив $a_3=\frac 1 2; a_2=-1; a_1=-1; a_0=1; b_3=-\frac 1 6; b_2=1; b_1=-\frac {11}{6}; b_0=1$; получим
Должно быть $a_3=\frac 1 2; a_2=-1; a_1=-\frac 1 2; a_0=1; b_3=-\frac 1 6; b_2=1; b_1=-\frac {11}{6}; b_0=1$. Соответствующие формулы: $$A_3=-\frac 1 6 s_{k-1}+\frac 1 2 s_k-\frac 1 2 s_{k+1}+\frac 1 6 s_{k+2},$$ $$A_2=\frac{1}{2}s_{k-1}-s_k+\frac{1}{2}s_{k+1},$$ $$A_1=-\frac{1}{3}s_{k-1}-\frac 1 2 s_k+s_{k+1}-\frac 1 6 s_{k+2},$$ $$A_0=s_k.$$ Подход, которым я пользовалься не очевиден и громоздок и задача была показать, что вся эта возня с Фарроу - это возня в рамках очень частного некачественного случая. Неудивительно, что ни одной ссылки на серьёзную литературу Вы до сих не привели. Одни форумы со специалистами. Так вот алгоритм получения коэффициентов многочлена одинаков на каждом частном интервале дискретизации и независит от периода дискретизации. Поэтому достаточно рассмотреть построение этого многочлена на точках с абсциссами $t_{k-1}=-1,t_k=0,t_{k+1}=1,t_{k+2}=2$, что дает систему уравнений: $$A_3(-1)^3+A_2(-1)^2+A_1(-1)+A_0=s_{k-1}$$ $$A_0=s_k$$ $$A_3+A_2+A_1+A_0=s_{k+1}$$ $$A_32^3+A_22^2+A_12+A_0=s_{k+2}$$ В результате решения этой системы получим те же формулы, которые я только что привёл. Система из трёх уравнений. Что тут сложного?

Других формул для коэффициентов многочлена Вы не получите, поскольку интерполяционный многочлен, проходящий через набор различающихся точек, единственный.
_Ivana в сообщении #864590 писал(а):
нормировка аргумента полинома производится по-другому
Я ваш полином не видел, могу лишь сказать, что при другом представлении появится зависимость коэффициентов от $T$ и/или от $t_k$. Ну ничего не мешает так сделать.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 13:30 


05/09/12
2587
profrotter в сообщении #864691 писал(а):
Что тут сложного?
В мире вообще нет ничего сложного. Тем более, если знаешь ответ :-)
profrotter в сообщении #864691 писал(а):
Так вот алгоритм получения коэффициентов многочлена одинаков на каждом частном интервале дискретизации и независит от периода дискретизации. Поэтому достаточно рассмотреть построение этого многочлена на точках с абсциссами $t_{k-1}=-1,t_k=0,t_{k+1}=1,t_{k+2}=2$, что дает систему уравнений
Для меня это не является откровением, как и все то, что вы писали ранее не менее менторским поучающим тоном. Но если бы вы прочли статью по ссылке внимательнее, то обнаружили бы, что в ней берутся точки $t_{k-1}=-2,t_k=-1,t_{k+1}=0,t_{k+2}=1$, что приводит к другой нормировке аргумента на центральном интервале $[-1;0]$ и, соответственно, к другим коэффициентам полинома. Так что ваше
profrotter в сообщении #864691 писал(а):
Других формул для коэффициентов многочлена Вы не получите
мягко говоря, неверно.

ЗЫ Хорошо, формулы для коэффициентов получены. Осталось только упаковать их в озвученное количество операций.

(Оффтоп)

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

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 15:43 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864763 писал(а):
вы прочли статью по ссылке внимательнее
После ортогональных многочленов Лагранжа ничего не читал и вам не советую.
_Ivana в сообщении #864763 писал(а):
мягко говоря, неверно.
Верно. Интерполяционный многочлен единственный. Я имел ввиду, что если не изменяется форма его представления, то и неважно каким способом находятся его коэффициенты.
_Ivana в сообщении #864763 писал(а):
что приводит к другой нормировке аргумента
Нормировка тут совершенно непричём. Речь идёт о разных формах представления многочлена. Судя по всему в той "статье", на которую Вы ссылаетесь многочлен рассматривается в форме $$\psi_k(t)=A_3x^3+A_2x^2+A_1x+A_0$$ Можно позвать дядю Петю, он многчлен представит в ещё какой-нибудь форме, найдёт свои коэффициенты и напишет "статью". Формула (15) в вашей статьей как я понял. И это неверно, между прочим: потеряна информация о периоде дискретизации, а $x$ в этой формуле должен откладываться от границы текущего интервала дискретизации. Формулы для коэффициентов (16) навскидку такие же как и у меня.

_Ivana в сообщении #864763 писал(а):
ошибочных утверждений
Ни на одно ошибочное утверждение Вы пока ещё не указали. Была какая-то ошибка в расчётах, но так не ошибается только тот, кто ничего не делает. Ошибкой является углублённое копошение в локальной полиномиальной интерполяции первого порядка. Она же даёт изломы на графике сигнала.

_Ivana в сообщении #864763 писал(а):
Осталось только упаковать их в озвученное количество операций.
Это без меня. Вашу олимпиадную задачу я довёл до конкретики: есть 4 формулы и надо запрограммировать их вычисление. Дальнейшая ловля блох мне лично не интересна.

_Ivana в сообщении #864763 писал(а):
Для меня это не является откровением, как и все то, что вы писали ранее не менее менторским поучающим тоном
Никаким таким тоном я вам не писал. Но судя по тому, что Вы отвечали, ссылаясь на форумных авторитетов, для вас некоторые вещи являлись откровением. Полагаю являются и теперь. Но я бы не хотел переходить на манеры и личности. А вот Вы давно перешли.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 16:13 


05/09/12
2587
profrotter в сообщении #864818 писал(а):
Это без меня. Вашу олимпиадную задачу я довёл до конкретики: есть 4 формулы и надо запрограммировать их вычисление. Дальнейшая ловля блох мне лично не интересна.
Хорошо. Хотя это частный случай моей постановки, приводящий к неоптимальному решению. И если бы вы проявили интерес, то увидели бы это. Но интерес к блохам насильно не вызовешь. Жаль, что заинтересовавшихся задачей больше не нашлось.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 16:42 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864833 писал(а):
Жаль, что заинтересовавшихся задачей больше не нашлось.
Однако первую часть задачи мы решили. Вы утвержадаете, что у вас другое решение и другие формулы для коэффициентов. Тема висит давно других решений можно не ждать. Я предлагаю и вам сделать ход - показать в какой форме Вы записываете многочлен и какие формулы получаете.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 16:45 


05/09/12
2587
Пусть у нас имеется набор точек $s_i$ на равномерной сетке $t_i$. Для каждого интервала между узлами сетки требуется построить полином, проходящий через $4$ ближайших к этому интервалу узла. Этот полином единственный, но его коэффициенты зависят от того, что мы возьмем в качестве аргумента полинома. Если мы масштабируем период дискретизации к единице, то можем свести задачу к нахождению полинома от $x$, проходящего через произвольные значения $s_{i}, s_{i+1}, s_{i+2}, s_{i+3}$ при $x_{i} = -2, x_{i+1} = -1, x_{i+2} = 0, x_{i+3} = 1$. В классическом интерполяторе Фарроу третьего порядка выбрано именно такое масштабирование аргумента, поскольку это позволяет добиться уменьшения количества операций для расчета его коэффициентов, что впрочем не помешало еще оптимизировать алгоритм расчета при таком масштабировании (см. код в постах выше). Если применить другое масштабирование аргумента, например в диапазон $x_{i} = -1, x_{i+1} = 0, x_{i+2} = 1, x_{i+3} = 2$, то получатся другие формулы для коэффициентов и сами коэффициенты, что не помешает полиному остаться тем же самым (просто от другого аргумента), и также оптимизировать расчет коэффициентов для такого масштабирования.

Теперь о моем алгоритме. Рассмотрим задачу построения кусочно-полиномиальной функции (специально для ревнителей термина сплайн) на равномерной сетке по следующим условиям: на каждом интервале функция должна проходить через точки-края интервала $x_{i+1}, x_{i+2}$, а также иметь в этих краях вторые производные, совпадающие со вторыми производными, рассчитанными по параболам с центром в этих точках: то есть, для $x_{i+1}$ - по параболе, построенной по значениям в точках $x_{i}, x_{i+1}, x_{i+2}$, а для точки $x_{i+2}$ - соответственно в точках $x_{i+1}, x_{i+2}, x_{i+3}$. Несложно проверить (хотя и забавно узнать), что полином третьей степени, построенный по таким условиям, полностью совпадает с полиномом Лагранжа, проходящем через точки $x_{i}, x_{i+1}, x_{i+2}, x_{i+3}$. И это позволяет нам оптимизировать решение задачи построения полинома по четырем точкам следующим образом: при рассмотрении исходной задачи каждый следующий интервал из $4$ точек содержал $3$ точки из предыдущего интервала, но этим фактом напрямую нельзя было воспользоваться, потому что сама постановка задачи не предполагает каких-то явно выделенных конструкций, которые мы можем рассчитать для предыдущего интервала и применить к следующему. В альтернативной постановке у нас появляется явно подобная конструкция - вторая производная, рассчитанная в правой границе текущего интервала может быть использована в том же значении и качестве для левой границы следующего интервала и ее не надо рассчитывать заново. Плюс можно найти еще одну конструкцию, которую также можно рассчитать единожды, а использовать для обоих интервалов. На этом, собственно, и основан мой результат, оптимизирующий численный расчет исходной задачи. Если нужно, могу написать явные формулы, но они тривиальны и могут быть получены самостоятельно любым заинтересовавшимся.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 20:10 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Хорошая идея запоминания значений для использования в расчётах в следующие моменты времени. В тех формулах, которые я получил тоже можно запоминать $\frac 1 3 s_{k+2}$, делением на два получать $\frac 1 6 s_{k+2}$, которое через три такта будет использоваться как $\frac 1 6 s_{k-1}$, потом $\frac 1 2 s_{k+1}$ позже будет $\frac 1 2 s_k$ и $\frac 1 2 s_{k-1}$.

Про сплайн. Интерполирующий фрагмент будем строить в той же форме, которую уже использовали: $$\psi_k(t)=A_3\left(\frac{t-t_k}{T}\right)^3+A_2\left(\frac{t-t_k}{T}\right)^2+A_1\left(\frac{t-t_k}{T}\right)+A_0.$$ На каждом частном интервале $t\in[t_k,t_k+1]$ потребуем, чтобы график интерполирующего фрагмента проходил через точки с координатами $(t_k,s_k)$ и $(t_{k+1},s_{k+1})$. Потребуем также, чтобы производная фрагмента $$\psi'_k(t)=3A_3\frac{(t-t_k)^2}{T^3}+2A_2\frac{(t-t_k)}{T^2}+\frac{A_1}{T}$$ на границах интервала совпадала с оценками: $$\psi'_k(t_k)=\frac {1}{2T}(s_{k+1}-s_{k-1}),$$ $$\psi'_k(t_{k+1})=\frac {1}{2T}(s_{k+2}-s_{k}).$$ Из этих требований на точках $t_{k-1}=-1,t_k=0,t_{k+1}=1,t_{k+2}=2$ получаем систему уравнений: $$A_0=s_k$$ $$A_3+A_2+A_1+A_0=s_{k+1}$$ $$A_1=\frac{s_{k+1}-s_{k-1}}{2}$$ $$3A_3+2A_2+A_1=\frac{s_{k+2}-s_k}{2}$$ Решение системы даёт коэффициенты сплайна: $$A_0=s_k$$ $$A_1=\frac{s_{k+1}-s_{k-1}}{2}$$ $$A_2=s_{k-1}-\frac 5 2 s_k+2s_{k+1}-\frac 1 2 s_{k+2}$$ $$A_3=\frac 3 2 s_k-\frac 1 2 s_{k-1}-\frac 3 2 s_{k+1}+\frac 1 2 s_{k+2}$$ Особой разницы, конечно, при интерполяции мы не почувствуем, но сплайн первой степени гладкости. Тут тоже можно пооптимизировать на быстродействие. Графики порождающей фнукции для локальной полиномиальной интерполяции (синий) и полученного сплайна (красный):
Изображение

При восстановлении гармонического сигнала оба метода дадут хороший результат примерно пока его частота не превышает 15% частоты дискретизации. (Хороший результат в том смысле, что амплитуда интерполированной гармоники будет отличаться от амплитуды исходного сигнала не более чем на 1%) Однако, с этой точки зрения сплайн чуточку широкополоснее. Совсем чуточку.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 20:16 


05/09/12
2587
profrotter, искреннее вам спасибо, что составляете все множество моих собеседников в данной теме, и вдобавок рисуете такие красивые формулы и графики! Только пере тем, как я буду читать ваше сообщение вдумчиво, я хотел бы сказать: не относитесь пренебрежительно к моим словам. Если я говорю "полностью совпадает" - это значит "полностью совпадает", никаких "чуточку". Вы привели сплайн Катмулла-Рома, который я "открыл" (случайно, не зная такового) пару лет назад. Это действительно интересно, сравнить его с Лагранжем, более того - я это и делал. Но в данной задаче я имел в виду вторые производные. "Полностью совпадает" - никаких "чуточку".

-- 18.05.2014, 20:30 --

profrotter в сообщении #864949 писал(а):
Особой разницы, конечно, при интерполяции мы не почувствуем, но сплайн первой степени гладкости. Тут тоже можно пооптимизировать на быстродействие.
Я оптимизировал расчет коэффициентов для сплайна Катмулла-Рома (он же Эрмит по оценкам первых производных в краях по параболе), количество операций меньше, чем для Лагранжа, но точность хуже - проверял и численно (мою статью вы могли читать, ссылку на обсуждение не даю, вы не приемлите ссылок на другие форумы) и теоретически понятно - если брать оценки производных по пяти точкам, то результат лучше Лагранжа по точности и гладкий - но обо всем этом было в той моей статье.

-- 18.05.2014, 20:33 --

profrotter в сообщении #864949 писал(а):
В тех формулах, которые я получил тоже можно запоминать
А вот это - именно ответ на сабжевую задачу темы. Если вам (с использованием запоминаний) удастся в ваших формулах для коэффициентов полинома Лагранжа уложиться в меньшее количество операций, чем мне - вы победите не только общепризнанное "оптимизированное", но и мое решение.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 21:02 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864951 писал(а):
но точность хуже - проверял и численно (мою статью вы могли читать, ссылку на обсуждение не даю, вы не приемлите ссылок на другие форумы) и теоретически понятно - если брать оценки производных по пяти точкам, то результат лучше Лагранжа по точности и гладкий - но обо всем этом было в той моей статье.
Если Вы говорите о точности восстановления гармонического сигнала, то это неверно. На рисунках ниже приведены частотные характеристики интерполирующих фильтров. Как и ранее красный - для сплайна, синий - для локального полиномиального интерполятора первого порядка. В основной части графики почти совпадают и, как я писал, при восстановлении гармонического сигнала сплайн окажется чуточку широкополоснее - красная кривая идёт выше синей:
Изображение
А теперь смотрим ситуацию на втором периоде спектра:
Изображение

У синей кривой имеется высокий подъёмчик. При выходе из 15% от частоты дискретизации зоны вместе с уменьшением амплитуды через этот подъёмчик пробьются пульсации, в результате чего Лагранж -Фарроу и как там его ещё окажется хуже сплайна. На графике эти пульсации может быть сказываются неизбежными изломами. Разумеется я говорю о том сплайне, который приведён в этой теме. У нас никаких не 5, а 4 точки, если что.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение18.05.2014, 21:09 


05/09/12
2587
Я брал синус, сетку с разным периодом дискретизации, интерполировал синус для сеток разной частоты и начальной фазы различными методами, и строил график максимальной ошибки интерполяции от чистого синуса в зависимости от частоты сетки относительно частоты синуса. В логарифмическом масштабе по обеим осям это получаются почти прямые, с загибом около частоты Найквиста. Картинки для разных сплайнов и Лагранжей разного порядка в изобилии вы могли видеть в моей статье. Катмулл-Ром уступает по точности Лагранжу третьего порядка в этом смысле. Как говорит наш общий знакомый, это медицинский факт. Вот, кстати, он об этом же:
ewert в сообщении #615886 писал(а):
Для кубических многочленов Эрмита и Лагранжа порядок один и тот же.
..........
При этом, однако, многочлен Эрмита и сам по себе не проще, и, что гораздо хуже, требует знания производной, которого при аппроксимации произвольных функций нет. Если же использовать конечноразностные производные, то их приходится считать не менее чем по четырём точкам (если мы не хотим потерять порядок)
(выделение - мое). При расчете конечноразностных производных по трем точкам точность меньше, автор цитаты, полагаю, может это грамотно теоретически обосновать. Хотя, вам ссылки на авторитеты "не катят", я забыл. Хотя я с процитированным автором не согласен в том смысле, что расчет потребует существенно бОльшего количества операций, я оптимизировал разные алгоритмы и проводил сравнение. Но это уже за рамками $4$ точек, не будем далеко уходить.

 Профиль  
                  
 
 Re: Победить Фарроу - 2
Сообщение19.05.2014, 09:07 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
_Ivana в сообщении #864979 писал(а):
Я брал синус, сетку с разным периодом дискретизации, интерполировал синус для сеток разной частоты и начальной фазы различными методами, и строил график максимальной ошибки интерполяции от чистого синуса в зависимости от частоты сетки относительно частоты синуса. В логарифмическом масштабе по обеим осям это получаются почти прямые, с загибом около частоты Найквиста. Картинки для разных сплайнов и Лагранжей разного порядка в изобилии вы могли видеть в моей статье.
Я вам ещё тогда писал, что интерполирующий фильтр Вы так и не построили. Если бы он был построен, как в этой теме, то можно было бы найти его частотную характеристику $H(\omega)$. Далее, с учётом связи спекров дискретного и аналогового сигнала при восстановлении сигнала $s(t)=Acos(\omega t)$ при условии $\omega<\frac {\omega_d}{2}$ ($\omega_d$ - частота дискретизации) интерполирующую функцию можно представить в виде: $$\psi(t)=AH(\omega)\cos(\omega t)+AH(\omega_d-\omega)\cos((\omega_d-\omega)t)+AH(\omega_d+\omega)\cos((\omega_d+\omega)t)+$$$$+AH(2\omega_d-\omega)\cos((2\omega_d-\omega)t)+AH(2\omega_d+\omega)\cos((2\omega_d+\omega)t)+...$$ В общем случае имеют место нелинейные искажения гармонического сигнала. Изменяется амплитуда гармоники исходной частоты и добавляются высшие гармоники. Коэффициент гармоник: $$K_{\text{г}}=\frac{\sqrt{H^2(\omega_d-\omega)+H^2(\omega_d+\omega)+H^2(2\omega_d-\omega)+H^2(2\omega_d+\omega)+...}}{H(\omega)}$$ Для сравниваемых нами методов интерполяции зависимость коэффициента гармоник от частоты сигнала показана на рисунке:
Изображение

Неожиданно конечно, но для Лагранжа-Фарроу коэффициент гармоник оказался чуточку меньше. Я оказался не прав вот тут:
profrotter в сообщении #864974 писал(а):
У синей кривой имеется высокий подъёмчик. При выходе из 15% от частоты дискретизации зоны вместе с уменьшением амплитуды через этот подъёмчик пробьются пульсации, в результате чего Лагранж -Фарроу и как там его ещё окажется хуже сплайна.
Досадный фокус в том, что основной вклад в коэффициент гармоник вносит составляющая частоты $\omega_d-\omega$, в то время как я обращал внимание на составляющую частоты $\omega_d+\omega$.

Но это сравнение касается частот диапазона $\omega>0,15\omega_d$ (граница показана на рисунке пунктиром). В этой зоне данные методы интерполяции просто не должны применятся для восстановления сигнала с ограниченным спектом, в частности гармоническго сигнала. При выполнении условия $\omega<0,15\omega_d$ оба метода дадут практически одинаковый результат. Коэффициент гармоник не более 1%, неравномерность АЧХ не более 1%. Однако сплайн ещё и 1-гладкий.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group