ViKo 1 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Вопрос, скорее, для обсуждения разных вариантов. Лучшим по точности будет, очевидно, восстановление sinc функциями. Но как это сделать в реальности, микроконтроллером, а не в MATLAB? Кубическая интерполяция будет сильно ломать сигнал. Может, как-то полином 5 степени использовать? 7-й? А нет ли способа чисто синус найти подходящий? Какие еще есть способы? И еще, если взять 10 точек на период, что здесь можно применить? Задачка выглядит намного более легкой. Значит, и способ найдется попроще. Критерий "похожести", наверное - задать величину среднеквадратического отклонения интерполированного сигнала от оригинала. Не знаю, какое конкретное значение выбрать. Нужно, чтобы было "похоже" визуально. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Вопрос, скорее, для обсуждения разных вариантов. Лучшим по точности будет, очевидно, восстановление sinc функциями. Но как это сделать в реальности, микроконтроллером, а не в MATLAB? Кубическая интерполяция будет сильно ломать сигнал. Может, как-то полином 5 степени использовать? 7-й? А нет ли способа чисто синус найти подходящий? Какие еще есть способы? И еще, если взять 10 точек на период, что здесь можно применить? Задачка выглядит намного более легкой. Значит, и способ найдется попроще. Критерий "похожести", наверное - задать величину среднеквадратического отклонения интерполированного сигнала от оригинала. Не знаю, какое конкретное значение выбрать. Нужно, чтобы было "похоже" визуально. :laughing: попробуйте это там бесплатно дается возможность пользоваться про версией после регистрации... PS Мне помогло... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Нужно, чтобы было "похоже" визуально. :laughing: Да отфильтовать просто надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Да отфильтовать просто надо. ... цифровым НЧ фильтром, в идеале с бесконечной крутизной перехода между пропусканием и подавлением. А иначе полезут те же артефакты. попробуйте это Спасибо! Пользуюсь MATLAB-ом, он на все способен. В нем буду прикидывать. Вернее, кое-что уже имею, нужно вспомнить, посмотреть. То есть, инструмент имеется. Нужны конкретные алгоритмы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ivan55 0 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Может это поможет? по сути выполняет функции ФНЧ тока без операций умножения Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба ... цифровым НЧ фильтром, в идеале с бесконечной крутизной перехода между пропусканием и подавлением. А иначе полезут те же артефакты. Спасибо! Пользуюсь MATLAB-ом, он на все способен. В нем буду прикидывать. Вернее, кое-что уже имею, нужно вспомнить, посмотреть. То есть, инструмент имеется. Нужны конкретные алгоритмы. В отличии от матлаба по ссылке выводит формулу (линейную, квадратичную и кажется полиномиальную) сразу. Показывая графики... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Нужно, чтобы было "похоже" визуально. :laughing: Какой-то не инженерный критерий.... :) Уж очень субъективный. См. прикрепленный файл. Ведь похож? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба фит полинома пятой степени по шести точкам выглядит очень похоже на синус. и считается довольно просто, по сравнению со сплайнами не надо по всем данным от начала до конца бегать чтобы производным граничные условия задать. просто для каждого отрезка делать полином 5 степени от +-3 точек влево/вправо. а еще можно наверное усреднять все 5 полиномов которые содержат данный отрезок между двумя точками, возможно будет ещё красивее, а может и нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Какой-то не инженерный критерий.... :) Уж очень субъективный. См. прикрепленный файл. Ведь похож? :) Нет, не похож. И кубически интерполированный тоже не похож. Вот когда синус из двух парабол склеивали, было похоже. Я критерий указал. Величина ошибки. Но ведь она, наверное, будет зависеть от того, как точки упали на синус? фит полинома пятой степени по шести точкам выглядит очень похоже на синус. и считается довольно просто, по сравнению со сплайнами не надо по всем данным от начала до конца бегать чтобы производным граничные условия задать. просто для каждого отрезка делать полином 5 степени от +-3 точек влево/вправо. Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Нет, не похож. И кубически интерполированный тоже не похож. Вот когда синус из двух парабол склеивали, было похоже. Я критерий указал. Величина ошибки. Но ведь она, наверное, будет зависеть от того, как точки упали на синус? Тогда методом Ньютона. Я бы тут лучше задался вопросом каким способом считать оценку несовпадения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Пойдем с конца. Если известен период, то симулировать синус с желаемой погрешностью визуализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Вот, так должно подойти. "Фит" - это что? Может, есть ссылки на расчеты такой интерполяции? в общем случае, когда точек больше чем степень полинома - наименьшие квадраты: 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; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Пойдем с конца. Если известен период, то симулировать синус с желаемой погрешностью визуализации. Нет, период не известен. Даже, что синус, тоже притянуто за уши. Просто в документации будет записано "полоса частот такая-то". Если для максимальной частоты у меня выходит 5 выборок АЦП на период, желаю продемонстрировать, что наблюдается "синус". в общем случае, когда точек больше чем степень полинома - наименьшие квадраты: http://mathworld.wolfram.com/LeastSquaresF...Polynomial.html Опять Wolfram. Что это за зверь такой? ну а вообще просто система из N уравнений для нахождения коэффициентов: Этот путь понятен. Ходил. У меня есть свой матлабовский файл с полиномами разных степеней. Стряхну пыль, посимулирую. А другие варианты есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Тогда задача меняется: Имеется сигнал с максимальной полосой Fmax. С частотой дискретизации Fs делаются выборки на протяжении не менее периода (или сколько?), причем на максимальной частоте это будет 5 выборок. Далее необходимо выполнить визуализацию сигнала с обеспечение гладкости воспроизведения. Желательно определиться с числом точек для визуализации. Вот тут начинается самое интересное - если на максимальной частоте визуализированный сигнал д.б. похож на синус, то на что он должен быть поход на частоте Fmax/2? P.S. Я делал "гладкость" простым способом, как раньше по лекалу делали. Соединяем три точки, проводим только через две. Как правило достаточно параболы + простой фильтр. Но это не для 5 точек на период, конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Выборок - куча. Для Fmax/2, понятно, будет 10 выборок на период. Здесь так же будет, через 3-ю и 4-ю точки из 1 - 6 проводим кривую 5-й степени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться