есть оцифрованные ток и напряжение, как с максимальной точностью высчитать смещение фазы в области малых смещений?
в лоб перемножить и проинтегрировать - получим косинус сдвига фаз A1*A2*cos(fi)/2, который в области малых углов меняется так слабо, что потеряется среди шумов и погрешностей
искать перебором, перемножая с разными сдвигами в поисках максимума - очень уж экстенсивно. должен быть какой-то чисто математический изящный способ.
может от одного из сигналов взять производную, разницу между соседними отсчетами?
Примечание:
> А если не перемножить, а поделить?
а смысл? sin(w*t+fi)/sin(w*t) = cos(fi) + sin(fi)/tg(w*t) - выделяется тот же cos(fi) при интегрировании плюс дополниительные проблемы с делением на 0
Примечание:
в принципе если детектировать точно частоту, то можно сгенерить собственные sin() и cos() с произвольной фазой и получить для двух сигналов A1*cos(fi1), A1*sin(fi1), A2*cos(fi2), A2*sin(fi2) откуда и A1 и A2 и fi2-fi1 находятся точно. но тогда встает задача _точного_ детектирования частоты, поскольку малейшее отклонение приводит к биениям и нулю при интегрировании
Примечание:
> Но раз есть подозрение, что ошибки могут перекрывать само смещение, то никакой математический способ не поможет
если находить разницу фаз через косинус вблизи малых значений (или через синус вблизи pi/2), нужна точность измерений 0.02% для получения точности определения фазы в 1 градус. косинус же в четвертом знаке меняется при изменении на градус вблизи 0. при вычислении же через синус вблизи нуля достаточно точности 1%, в 50 раз точнее.
Примечание:
наилучший способ - через тангенс, совпадая по точности с синусом у нуля, при дальнейшем отклонении точность только растет
Примечание:
> Я опять чего-то не понял. Синус есмь косинус со смещением пи пополам. По синусоиде меняется или по косинусу -
> это зависит от того, что за точку отсчёта выбрали.
так я же точку отсчета не могу произвольно выбрать, есть 2 сигнала с малым смещением fi относительно друг друга. если их перемножить - вылезет постоянная составляющая в виде A1*A2*cos(fi), которую можно измерить. а хотелось бы получить sin(fi) или tg(fi), поскольку при той же точности определения амплитуд A1 и A2 значение fi я получу в 50 раз точнее.
свою точку отсчета я могу выбрать только если сам сооружу третий сигнал той же частоты единичной амплитуды и с какой хочу фазой, но для этого нужно точно воспроизвести частоту, а в случае несинусоидального сигнала - и форму
Примечание:
измерений порядка 500 на период. сколько угодно последовательных выборок по 4000 измерений, но не непрерывных между собой, с паузами
Примечание:
ps. 'глазами' на графике я вижу что можно разность фаз вычислить гораздо точнее по запаздыванию в точке перехода графиков через ноль. осталось придумать какой математической операции это соотвтетствует. просто замерить эти запаздывания мешают погрешности измерений, фактически теряется информация из 499 измерений и я опираюсь на единственную точку, на которую как раз может прийтись максимум ошибки, так что это явно неправильный метод
Примечание:
практика критерий истины. насочинял сигналов и потестил. автокорялляционный метод сдувается на десятки процентов ошибки при наличии любой помехи, при наличии синфазной помехи вообще врет в разы
квадратурный метод со 'сторонним' генератором образцовых sin() cos() на требуемой частоте (осталось придумать как ее в точности измерить на практике) дает замечательные результаты. при 1% рандомной помехе погрешность определения отношения амплитуд 0.03%, разности фаз 0.02% (pi=100%), при 100% помехи (к синалу добавлен rand() того же размаха!) 3% и 1.6% соответствено). корреляция - великая сила :)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.