|
Интерполировать синус по 5 точкам на период, Как сделать просто и точно (дешево и сердито)? |
|
|
|
Oct 19 2016, 10:23
|

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

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

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(ViKo @ Oct 19 2016, 13:23)  Вопрос, скорее, для обсуждения разных вариантов. Лучшим по точности будет, очевидно, восстановление sinc функциями. Но как это сделать в реальности, микроконтроллером, а не в MATLAB? Кубическая интерполяция будет сильно ломать сигнал. Может, как-то полином 5 степени использовать? 7-й? А нет ли способа чисто синус найти подходящий? Какие еще есть способы? И еще, если взять 10 точек на период, что здесь можно применить? Задачка выглядит намного более легкой. Значит, и способ найдется попроще. Критерий "похожести", наверное - задать величину среднеквадратического отклонения интерполированного сигнала от оригинала. Не знаю, какое конкретное значение выбрать. Нужно, чтобы было "похоже" визуально.  попробуйте этотам бесплатно дается возможность пользоваться про версией после регистрации... PS Мне помогло...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 19 2016, 11:38
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(ViKo @ Oct 19 2016, 14:12)  ... цифровым НЧ фильтром, в идеале с бесконечной крутизной перехода между пропусканием и подавлением. А иначе полезут те же артефакты.
Спасибо! Пользуюсь MATLAB-ом, он на все способен. В нем буду прикидывать. Вернее, кое-что уже имею, нужно вспомнить, посмотреть. То есть, инструмент имеется. Нужны конкретные алгоритмы. В отличии от матлаба по ссылке выводит формулу (линейную, квадратичную и кажется полиномиальную) сразу. Показывая графики...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 19 2016, 11:39
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(ViKo @ Oct 19 2016, 13:23)  Нужно, чтобы было "похоже" визуально.  Какой-то не инженерный критерий....  Уж очень субъективный. См. прикрепленный файл. Ведь похож?
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 19 2016, 12:07
|

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

|
Цитата(Tpeck @ Oct 19 2016, 14:39)  Какой-то не инженерный критерий....  Уж очень субъективный. См. прикрепленный файл. Ведь похож?  Нет, не похож. И кубически интерполированный тоже не похож. Вот когда синус из двух парабол склеивали, было похоже. Я критерий указал. Величина ошибки. Но ведь она, наверное, будет зависеть от того, как точки упали на синус? Цитата(_pv @ Oct 19 2016, 14:46)  фит полинома пятой степени по шести точкам выглядит очень похоже на синус. и считается довольно просто, по сравнению со сплайнами не надо по всем данным от начала до конца бегать чтобы производным граничные условия задать. просто для каждого отрезка делать полином 5 степени от +-3 точек влево/вправо. Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции?
|
|
|
|
Guest_TSerg_*
|
Oct 19 2016, 12:19
|
Guests

|
Пойдем с конца. Если известен период, то симулировать синус с желаемой погрешностью визуализации.
|
|
|
|
|
Oct 19 2016, 12:19
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(ViKo @ Oct 19 2016, 19:07)  Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции? в общем случае, когда точек больше чем степень полинома - наименьшие квадраты: 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;
|
|
|
|
|
Oct 19 2016, 12:33
|

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

|
Цитата(TSerg @ Oct 19 2016, 15:19)  Пойдем с конца. Если известен период, то симулировать синус с желаемой погрешностью визуализации. Нет, период не известен. Даже, что синус, тоже притянуто за уши. Просто в документации будет записано "полоса частот такая-то". Если для максимальной частоты у меня выходит 5 выборок АЦП на период, желаю продемонстрировать, что наблюдается "синус". Цитата(_pv @ Oct 19 2016, 15:19)  в общем случае, когда точек больше чем степень полинома - наименьшие квадраты: http://mathworld.wolfram.com/LeastSquaresF...Polynomial.htmlОпять Wolfram. Что это за зверь такой? Цитата ну а вообще просто система из N уравнений для нахождения коэффициентов: Этот путь понятен. Ходил. У меня есть свой матлабовский файл с полиномами разных степеней. Стряхну пыль, посимулирую. А другие варианты есть?
|
|
|
|
Guest_TSerg_*
|
Oct 19 2016, 12:39
|
Guests

|
Тогда задача меняется: Имеется сигнал с максимальной полосой Fmax. С частотой дискретизации Fs делаются выборки на протяжении не менее периода (или сколько?), причем на максимальной частоте это будет 5 выборок. Далее необходимо выполнить визуализацию сигнала с обеспечение гладкости воспроизведения. Желательно определиться с числом точек для визуализации.
Вот тут начинается самое интересное - если на максимальной частоте визуализированный сигнал д.б. похож на синус, то на что он должен быть поход на частоте Fmax/2?
P.S. Я делал "гладкость" простым способом, как раньше по лекалу делали. Соединяем три точки, проводим только через две. Как правило достаточно параболы + простой фильтр. Но это не для 5 точек на период, конечно.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|