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

Интерполировать синус по 5 точкам на период

Вопрос, скорее, для обсуждения разных вариантов. Лучшим по точности будет, очевидно, восстановление sinc функциями. Но как это сделать в реальности, микроконтроллером, а не в MATLAB? Кубическая интерполяция будет сильно ломать сигнал. Может, как-то полином 5 степени использовать? 7-й? А нет ли способа чисто синус найти подходящий? Какие еще есть способы?

И еще, если взять 10 точек на период, что здесь можно применить? Задачка выглядит намного более легкой. Значит, и способ найдется попроще.

Критерий "похожести", наверное - задать величину среднеквадратического отклонения интерполированного сигнала от оригинала. Не знаю, какое конкретное значение выбрать. Нужно, чтобы было "похоже" визуально. :laughing:

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


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

Вопрос, скорее, для обсуждения разных вариантов. Лучшим по точности будет, очевидно, восстановление sinc функциями. Но как это сделать в реальности, микроконтроллером, а не в MATLAB? Кубическая интерполяция будет сильно ломать сигнал. Может, как-то полином 5 степени использовать? 7-й? А нет ли способа чисто синус найти подходящий? Какие еще есть способы?

И еще, если взять 10 точек на период, что здесь можно применить? Задачка выглядит намного более легкой. Значит, и способ найдется попроще.

Критерий "похожести", наверное - задать величину среднеквадратического отклонения интерполированного сигнала от оригинала. Не знаю, какое конкретное значение выбрать. Нужно, чтобы было "похоже" визуально. :laughing:

попробуйте это

там бесплатно дается возможность пользоваться про версией после регистрации...

 

PS Мне помогло...

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


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

Нужно, чтобы было "похоже" визуально. :laughing:

 

Да отфильтовать просто надо.

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


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

Да отфильтовать просто надо.

... цифровым НЧ фильтром, в идеале с бесконечной крутизной перехода между пропусканием и подавлением. А иначе полезут те же артефакты.

 

Спасибо! Пользуюсь MATLAB-ом, он на все способен. В нем буду прикидывать. Вернее, кое-что уже имею, нужно вспомнить, посмотреть.

То есть, инструмент имеется. Нужны конкретные алгоритмы.

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


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

Может это поможет? по сути выполняет функции ФНЧ тока без операций умножения

 

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


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

... цифровым НЧ фильтром, в идеале с бесконечной крутизной перехода между пропусканием и подавлением. А иначе полезут те же артефакты.

 

 

Спасибо! Пользуюсь MATLAB-ом, он на все способен. В нем буду прикидывать. Вернее, кое-что уже имею, нужно вспомнить, посмотреть.

То есть, инструмент имеется. Нужны конкретные алгоритмы.

В отличии от матлаба по ссылке выводит формулу (линейную, квадратичную и кажется полиномиальную)

сразу. Показывая графики...

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


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

Нужно, чтобы было "похоже" визуально. :laughing:

 

Какой-то не инженерный критерий.... :)

Уж очень субъективный. См. прикрепленный файл.

Ведь похож? :)

post-15243-1476877145_thumb.png

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


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

фит полинома пятой степени по шести точкам выглядит очень похоже на синус.

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

 

просто для каждого отрезка делать полином 5 степени от +-3 точек влево/вправо.

 

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

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


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

Какой-то не инженерный критерий.... :)

Уж очень субъективный. См. прикрепленный файл.

Ведь похож? :)

Нет, не похож. И кубически интерполированный тоже не похож. Вот когда синус из двух парабол склеивали, было похоже.

Я критерий указал. Величина ошибки. Но ведь она, наверное, будет зависеть от того, как точки упали на синус?

 

фит полинома пятой степени по шести точкам выглядит очень похоже на синус.

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

просто для каждого отрезка делать полином 5 степени от +-3 точек влево/вправо.

Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции?

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


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

Нет, не похож. И кубически интерполированный тоже не похож. Вот когда синус из двух парабол склеивали, было похоже.

Я критерий указал. Величина ошибки. Но ведь она, наверное, будет зависеть от того, как точки упали на синус?

 

Тогда методом Ньютона.

Я бы тут лучше задался вопросом каким способом считать оценку несовпадения.

 

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


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

Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции?

в общем случае, когда точек больше чем степень полинома - наименьшие квадраты:

http://mathworld.wolfram.com/LeastSquaresF...Polynomial.html

 

ну а вообще просто система из N уравнений для нахождения коэффициентов:

y(x1) = y1;

y(x2) = y2;

...

y(xn) = yn;

 

 

y(x) = a0 + a1*x +... an*x^n;

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


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

Пойдем с конца.

Если известен период, то симулировать синус с желаемой погрешностью визуализации.

Нет, период не известен. Даже, что синус, тоже притянуто за уши. Просто в документации будет записано "полоса частот такая-то". Если для максимальной частоты у меня выходит 5 выборок АЦП на период, желаю продемонстрировать, что наблюдается "синус".

 

в общем случае, когда точек больше чем степень полинома - наименьшие квадраты:

http://mathworld.wolfram.com/LeastSquaresF...Polynomial.html

Опять Wolfram. Что это за зверь такой?

ну а вообще просто система из N уравнений для нахождения коэффициентов:

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

А другие варианты есть?

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


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

Гость TSerg

Тогда задача меняется:

Имеется сигнал с максимальной полосой Fmax. С частотой дискретизации Fs делаются выборки на протяжении не менее периода (или сколько?), причем на максимальной частоте это будет 5 выборок.

Далее необходимо выполнить визуализацию сигнала с обеспечение гладкости воспроизведения.

Желательно определиться с числом точек для визуализации.

 

Вот тут начинается самое интересное - если на максимальной частоте визуализированный сигнал д.б. похож на синус, то на что он должен быть поход на частоте Fmax/2?

 

P.S.

Я делал "гладкость" простым способом, как раньше по лекалу делали. Соединяем три точки, проводим только через две.

Как правило достаточно параболы + простой фильтр. Но это не для 5 точек на период, конечно.

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


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

Выборок - куча.

Для Fmax/2, понятно, будет 10 выборок на период.

Здесь так же будет, через 3-ю и 4-ю точки из 1 - 6 проводим кривую 5-й степени.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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