Страница 1 из 1

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

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

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

Добавлено: 17 окт 2017, 16:40
Borjomy_1
Подключите на два входа один сигнал и измерьте его фазу. Это значение потом и учитывайте.

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

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

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

Добавлено: 17 окт 2017, 22:49
IvanLis
Я что-то описания не нашел на Ваше устройство.

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

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

Ну и не забудьте учитывать частоту опроса, чем меньше отсчетов на период сигнала, тем меньше точность измерения фазы.

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

Добавлено: 18 окт 2017, 05:30
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

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

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

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

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

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

Добавлено: 18 окт 2017, 18:02
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 мог бы решить и другие возникающие проблемы)

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

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