Вычисление сдвига фаз между синусоидами

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Вычисление сдвига фаз между синусоидами

Сообщение jane_wild »

Ребята помогите разобраться пожалуйста.
Есть две синусоиды, нужно вычислить сдвиг фаз между ними в градусах. Поскольку сбор ведется обычным DAQ (USB 6153) Возникает сопутствующий вопрос как при вычислении учитывать погрешность (задержку) DAQ Ведь мне почемуто кажется что sample rate а также количество каналов имеет значение. Плюс еще нужно учитывать с каких каналов приходят эти синусоиды. Конкретно получен 2D array с 10 каналов. Первый и третий 1D массивы содержат синусоидальный сигнал сдвинутый на какойто угол (около 5 - 10) градусов. Как узнать более точное значение?
Заранее спасибо... Нет Спасибище!
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Вычисление сдвига фаз между синусоидами

Сообщение Borjomy_1 »

Подключите на два входа один сигнал и измерьте его фазу. Это значение потом и учитывайте.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Вычисление сдвига фаз между синусоидами

Сообщение jane_wild »

Borjomy_1 писал(а):Подключите на два входа один сигнал и измерьте его фазу. Это значение потом и учитывайте.
Так это то понятно, дело в том что частота дискретизации, количество каналов и номера входов (куда подается синосоидальный сигнал) меняются в реальном времени (во время выполнения). Поэтому нужно математическое вычисление...
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Вычисление сдвига фаз между синусоидами

Сообщение IvanLis »

Я что-то описания не нашел на Ваше устройство.

Посмотрите, если максимальная частота дискретизации зависит от количества задействованных каналов, то значит сигнал на АЦП коммутируется с разных каналов поочередно.
Тогда получается, что одному и тому же номеру отсчета разных каналов, соответствует различное время измерения. Сдвиг будет зависеть от количества задействованных каналов, частоты дискретизации и алгоритма коммутации.

На счет
jane_wild писал(а):Так это то понятно, дело в том что частота дискретизации, количество каналов и номера входов (куда подается синосоидальный сигнал) меняются в реальном времени (во время выполнения).
Номера каналов возможно. А вот переконфигурировать каждый раз количество каналов и частоту дискретизации - утопия (да и вряд ли Вы это делаете).
jane_wild писал(а):Поэтому нужно математическое вычисление...
Дорогу осилит идущий. Так что копайте.
Но мне кажется нужно определиться с частотой опроса и количеством каналов, а уже потом определять задержку между каналами, а соответственно и сдвиг, можно использовать рекомендации Borjomy_1 .

Ну и не забудьте учитывать частоту опроса, чем меньше отсчетов на период сигнала, тем меньше точность измерения фазы.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Вычисление сдвига фаз между синусоидами

Сообщение jane_wild »

Я что-то описания не нашел на Ваше устройство
Прошу извинить ошиблась - циферки переставила, правильно вот так NI 6351
Номера каналов возможно. А вот переконфигурировать каждый раз количество каналов и частоту дискретизации - утопия (да и вряд ли Вы это делаете).
Главная программа, insert в свою subPanel - фронтальную панель с UI, этакий независимый модуль, в xxx.ini файле которого прописана конфигурация. т.е. номера, последовательность и количество каналов а так же scales соответствующие этим каналам. Кроме того прописаны sаmples rate, частота обновления UI и.. да много еще чего.. Базируясь на этой информации главная программа создает task. Естественно чем больше задействовано каналов, тем меньше частота дискретизации. Я заинтересована держать максимально высокую - так синусоиды на относительно высоких частотах, скажем 5000 Hz получаются красивее. Вообщем сменила Part number - выгрузился один и загрузился другой модуль, соответственно завершилась старая task и создалась новая.
Вообщем структура такая что 90 % кода написано в главной программе. Остальные 10% это класс с интерфейсом юзера.... который нажимая на кнопочки посылает команды главной программе, которая в свою очередь уже общается с железом.
А тут понадобилось определить на какой угол RVDT сдвигает синусоиду на различных частотах, вот и колдую.
Я так понимаю что нужно пытатся играть с zero crossing (синусоиды всегда проходят через ноль) Т.е смотреть дельту между двумя переходами через ноль обеих синусоид. В теории вроде как понятно на практике пока не очень, к тому же как учитывать погрешность самого DAQ
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Вычисление сдвига фаз между синусоидами

Сообщение Borjomy_1 »

Ну и не забудьте учитывать частоту опроса, чем меньше отсчетов на период сигнала, тем меньше точность измерения фазы.
Если использовать спектральный анализ, в частности Amplitude & Phase Spectr, то можно очень точно посчитать фазу сигнала, точность будет зависеть только от общего количества точек в наборе. Для этого считаются спектры каналов и вычитаются фазы соответствующих гармоник.
Последний раз редактировалось Borjomy_1 18 окт 2017, 09:12, всего редактировалось 1 раз.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Вычисление сдвига фаз между синусоидами

Сообщение Borjomy_1 »

Основная проблема обеспечения максимальной точности при измерении амплитуды и фазы сигнала спектральными инструментами лежит в области определения периода сигнала. Необходимо, чтобы периоды точно укладывались в анализируемый массив. Тогда погрешности измерения фазы будут беспрецендентно низкими, независимо от того, насколько частота дискретизации отличается от частоты сигнала.
Если вы сравниваете фазы двух моногармонических сигналов, то это требование не такое жесткое. Главное, чтобы условия вычислений были одинаковые.
В любом случае точность будет на порядок-другой выше, чем ловить фазу по переходам через ноль, поскольку в измерениях этой фазы участвуют все точки массива, а не две.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Вычисление сдвига фаз между синусоидами

Сообщение Blackman »

1. Примеры определения фазы
http://labviewportal.org/viewtopic.php? ... z88#p75363
2. Оценка (максимальная) систематической погрешности сдвига фазы для 2x последовательных виртуальных каналов задачи для любых физических каналов указанного устройства при частоте сигнала 50 Гц не более 0.18 град. Более точное значение можно посчитать используя значение свойства DAQmx More:AI Convert:Rate.
3. Для генерации периодических сигналов лучше использовать Continuos mode с включенным режимом регенерации.
4. Пример проекта LABVIEW (шаблон) Continuous and Measurement Logging мог бы решить и другие возникающие проблемы)
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Вычисление сдвига фаз между синусоидами

Сообщение jane_wild »

1. Примеры определения фазы
viewtopic.php?f=81&t=9365&p=75363&hilit=Vitekkz88#p75363
Спасибо добрый человек, Вы мне очень помогли :thank:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»