_pv 74 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Опять Wolfram. Что это за зверь такой? Mathematica. В закромах лежит, попробуйте, имхо куда лучше матлаба. Этот путь понятен. Ходил. У меня есть свой матлабовский файл с полиномами разных степеней. Стряхну пыль, посимулирую.А другие варианты есть? ну брать те же несколько соседних точек и теми же наименьшими квадратами, но уже правда нелинейными, натягивать на них синус, а не полином. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 19 октября, 2016 Опубликовано 19 октября, 2016 · Жалоба Сшивание синусоиды параболой по 6-ти точкам ( 5 точек уже явно неудовлетворительно ): http://shot.qip.ru/00gZ9L-1OPovQH3t/ По 9-ми точкам вполне удовлетворительно, с т.з. визуализации: http://shot.qip.ru/00gZ9L-5OPovQH3v/ P.S. Еще косинусная интерполяция: float CosInterpolate(float v1, float v2, float a) { float angle = a * PI; float prc = (1.0f - cos(angle)) * 0.5f; return v1*(1.0f - prc) + v2*prc; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 20 октября, 2016 Опубликовано 20 октября, 2016 (изменено) · Жалоба Нет, период не известен. Даже, что синус, тоже притянуто за уши. Просто в документации будет записано "полоса частот такая-то". Если для максимальной частоты у меня выходит 5 выборок АЦП на период, желаю продемонстрировать, что наблюдается "синус". Для демонстрации "синуса" нужно ИМХО смотреть на спектр сигнала и на количество и соотношение гармоник: какие, сколько, каково соотношение между ними и т.д. Из наблюдения за колебанием во временной области ничего разумного заключить нельзя. Поэтому, сделать Фурье, для максимальной частоты будет хорошо наблюдаемая гармоника в районе fs/5, что и требуется показать. Изменено 20 октября, 2016 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба для максимальной частоты будет хорошо наблюдаемая гармоника в районе fs/5, что и требуется показать. Так я и предложил эмуляцию на крайних частотах :cranky: P.S. Т.е. должны быть два режима: измерительный (в диапазоне нормальных частот), когда все по честному и тестово-демонстрационный, в диапазоне крайних частот, когда делается симуляция по 1..3 крайним тестовым частотам, значения которых оговорены в ПМ. P.P.S. И это не обман Заказчика, поскольку мы, на основе реальных измерений, алгоритмически выявляем крайние частоты и показываем их наличие в удобной и понятной для всех визуальной форме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба Удобная и понятная для всех визуальная форма - это спектр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба Удобная и понятная для всех визуальная форма - это спектр. Да, но у ТС похоже что-то вроде генератора частот с визуализацией сигнала во временной области. Мы не знаем всех ньюансов ТЗ, а потому и гадать не будем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба Нелинейное вписывание. Он же фит. Почему нужно полином-5 вписывать? Почему синус не вписать? Вычислительно сложно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба В свое время вот эту статью нашел (здесь в форуме и автор был, и ссылку на эту статью я давал). Также несколько других, представляющих интерес. По этим статьям в MATLAB экспериментировал. Сейчас пересмотрел. Вижу, что интерполяция сплайном Эрмита по 6 точкам, как в статье, дает примерно такой же результат, как интерполяция полиномом 5 степени. Но проще. TSerg, гадание, зачем это нужно, не понадобится, если заглянуть в мой профиль. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба гадание, зачем это нужно, не понадобится, если заглянуть в мой профиль Дефки? Голые? Вижу, что интерполяция сплайном Эрмита по 6 точкам Косинусом проще и не хуже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 20 октября, 2016 Опубликовано 20 октября, 2016 · Жалоба Передискретизация у вас довольно большая, поэтому никакой бесконечной крутизны и длинного ФНЧ не требуется, увеличиваем частоту дискретизации ещё в два раза добавлением нулей, давим праразитный спектральный образ полуполосным ФНЧ, отсюда экономия вычислений на полифазной реализации и нулевых коэффициентах полуполосного фильтра, затем простым дробным параболическим интерполятором Фарроу любые точки вычисляем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 октября, 2016 Опубликовано 21 октября, 2016 · Жалоба Частота выборок в 5 раз больше частоты сигнала - это большая передискретизация? Мне не нужно в реальном времени фильтровать. Поэтому все эти полифазные фильтры, хитроумные перетрахивания операторов (Фарроу) не нужны. Нужны формулы, а как их использовать, найдем способ. Косинусом проще и не хуже. Вычислить косинус посложнее полинома 7 степени будет. С чего вдруг стало проще? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 21 октября, 2016 Опубликовано 21 октября, 2016 · Жалоба Если реальное время не является критичным, можно использовать DFT интерполяцию. Пример: sine_interp_test.7z Здесь разумеется проявляются краевые эффекты, поэтому выводить лучше значения в интервале [N_guard...N_dft-N_guard]. Ну это уже детали реализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 21 октября, 2016 Опубликовано 21 октября, 2016 · Жалоба Частота выборок в 5 раз больше частоты сигнала - это большая передискретизация? Да. Фильтр простой будет, скажем 5 умножений на константы на входной частоте дискретизации, зависит от требований к подавлению. Мне не нужно в реальном времени фильтровать. Поэтому все эти полифазные фильтры, хитроумные перетрахивания операторов (Фарроу) не нужны. Нужны формулы, а как их использовать, найдем способ. Не имеет значения, в реальном, не в реальном, зачем лишние вычисления, параболический Фарроу - простой способ любой отсчёт вычислить промежуточный, но требует побольше чем 5 отсчётов на период, увеличиваем в два раза до 10, половина отсчётов остаётся исходная, нужно вычислить только вторую половину между исходными отсчётами, а это всего лишь ФНЧ симметричный с чётным количеством коэффициентов, который даёт задержку в пол такта исходной частоты дискретизации, единственное требование к которому - АЧХ константная вплоть до вашей крайней частоты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 октября, 2016 Опубликовано 21 октября, 2016 · Жалоба Так а почему сразу по 10 выборкам не интерполировать, если этот Фарроу требует больше 5 выборок? И почему он столько требует? А, понял. Ломать сильно будет. Ну так на одном Фарроу теория не остановилась. Параболический - кубическая парабола, естественно? То есть, поскольку кубическим полиномом интерполяция не блещет качеством, вы предлагаете интерполировать в 2 этапа. Что же не полиномом 5-й степени? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 21 октября, 2016 Опубликовано 21 октября, 2016 · Жалоба Так а почему сразу по 10 выборкам не интерполировать... Вы 5 на период задали в исходной постановке. И почему он столько требует? Потому что простой, чем меньше передискретизация тем сложнее интерполятор для вычисления произвольной точки между исходными отсчётами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться