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

Простейшие вопросы в области инженерной разработки

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

Postby jane_wild on 17 Oct 2017, 15:35

Ребята помогите разобраться пожалуйста.
Есть две синусоиды, нужно вычислить сдвиг фаз между ними в градусах. Поскольку сбор ведется обычным DAQ (USB 6153) Возникает сопутствующий вопрос как при вычислении учитывать погрешность (задержку) DAQ Ведь мне почемуто кажется что sample rate а также количество каналов имеет значение. Плюс еще нужно учитывать с каких каналов приходят эти синусоиды. Конкретно получен 2D array с 10 каналов. Первый и третий 1D массивы содержат синусоидальный сигнал сдвинутый на какойто угол (около 5 - 10) градусов. Как узнать более точное значение?
Заранее спасибо... Нет Спасибище!
User avatar
jane_wild
beginner
beginner
 
Posts: 38
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2013
Karma: 0

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

Postby Borjomy_1 on 17 Oct 2017, 16:40

Подключите на два входа один сигнал и измерьте его фазу. Это значение потом и учитывайте.
Borjomy_1
expert
expert
 
Posts: 1764
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby jane_wild on 17 Oct 2017, 18:07

Borjomy_1 wrote:Подключите на два входа один сигнал и измерьте его фазу. Это значение потом и учитывайте.

Так это то понятно, дело в том что частота дискретизации, количество каналов и номера входов (куда подается синосоидальный сигнал) меняются в реальном времени (во время выполнения). Поэтому нужно математическое вычисление...
User avatar
jane_wild
beginner
beginner
 
Posts: 38
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2013
Karma: 0

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

Postby IvanLis on 17 Oct 2017, 22:49

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

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

На счет
jane_wild wrote:Так это то понятно, дело в том что частота дискретизации, количество каналов и номера входов (куда подается синосоидальный сигнал) меняются в реальном времени (во время выполнения).

Номера каналов возможно. А вот переконфигурировать каждый раз количество каналов и частоту дискретизации - утопия (да и вряд ли Вы это делаете).

jane_wild wrote:Поэтому нужно математическое вычисление...

Дорогу осилит идущий. Так что копайте.
Но мне кажется нужно определиться с частотой опроса и количеством каналов, а уже потом определять задержку между каналами, а соответственно и сдвиг, можно использовать рекомендации Borjomy_1 .

Ну и не забудьте учитывать частоту опроса, чем меньше отсчетов на период сигнала, тем меньше точность измерения фазы.
User avatar
IvanLis
professor
professor
 
Posts: 4461
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 692
hardware VIP bloggers teachers

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

Postby jane_wild on 18 Oct 2017, 05:30

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

Прошу извинить ошиблась - циферки переставила, правильно вот так NI 6351
Номера каналов возможно. А вот переконфигурировать каждый раз количество каналов и частоту дискретизации - утопия (да и вряд ли Вы это делаете).

Главная программа, insert в свою subPanel - фронтальную панель с UI, этакий независимый модуль, в xxx.ini файле которого прописана конфигурация. т.е. номера, последовательность и количество каналов а так же scales соответствующие этим каналам. Кроме того прописаны sаmples rate, частота обновления UI и.. да много еще чего.. Базируясь на этой информации главная программа создает task. Естественно чем больше задействовано каналов, тем меньше частота дискретизации. Я заинтересована держать максимально высокую - так синусоиды на относительно высоких частотах, скажем 5000 Hz получаются красивее. Вообщем сменила Part number - выгрузился один и загрузился другой модуль, соответственно завершилась старая task и создалась новая.
Вообщем структура такая что 90 % кода написано в главной программе. Остальные 10% это класс с интерфейсом юзера.... который нажимая на кнопочки посылает команды главной программе, которая в свою очередь уже общается с железом.
А тут понадобилось определить на какой угол RVDT сдвигает синусоиду на различных частотах, вот и колдую.
Я так понимаю что нужно пытатся играть с zero crossing (синусоиды всегда проходят через ноль) Т.е смотреть дельту между двумя переходами через ноль обеих синусоид. В теории вроде как понятно на практике пока не очень, к тому же как учитывать погрешность самого DAQ
User avatar
jane_wild
beginner
beginner
 
Posts: 38
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2013
Karma: 0

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

Postby Borjomy_1 on 18 Oct 2017, 09:01

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

Если использовать спектральный анализ, в частности Amplitude & Phase Spectr, то можно очень точно посчитать фазу сигнала, точность будет зависеть только от общего количества точек в наборе. Для этого считаются спектры каналов и вычитаются фазы соответствующих гармоник.
Last edited by Borjomy_1 on 18 Oct 2017, 09:12, edited 1 time in total.
Borjomy_1
expert
expert
 
Posts: 1764
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby Borjomy_1 on 18 Oct 2017, 09:10

Основная проблема обеспечения максимальной точности при измерении амплитуды и фазы сигнала спектральными инструментами лежит в области определения периода сигнала. Необходимо, чтобы периоды точно укладывались в анализируемый массив. Тогда погрешности измерения фазы будут беспрецендентно низкими, независимо от того, насколько частота дискретизации отличается от частоты сигнала.
Если вы сравниваете фазы двух моногармонических сигналов, то это требование не такое жесткое. Главное, чтобы условия вычислений были одинаковые.
В любом случае точность будет на порядок-другой выше, чем ловить фазу по переходам через ноль, поскольку в измерениях этой фазы участвуют все точки массива, а не две.
Borjomy_1
expert
expert
 
Posts: 1764
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby Blackman on 18 Oct 2017, 18:02

1. Примеры определения фазы
viewtopic.php?f=81&t=9365&p=75363&hilit=Vitekkz88#p75363
2. Оценка (максимальная) систематической погрешности сдвига фазы для 2x последовательных виртуальных каналов задачи для любых физических каналов указанного устройства при частоте сигнала 50 Гц не более 0.18 град. Более точное значение можно посчитать используя значение свойства DAQmx More:AI Convert:Rate.
3. Для генерации периодических сигналов лучше использовать Continuos mode с включенным режимом регенерации.
4. Пример проекта LABVIEW (шаблон) Continuous and Measurement Logging мог бы решить и другие возникающие проблемы)
Blackman
leader
leader
 
Posts: 674
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 167

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

Postby jane_wild on 18 Oct 2017, 18:29

1. Примеры определения фазы
viewtopic.php?f=81&t=9365&p=75363&hilit=Vitekkz88#p75363

Спасибо добрый человек, Вы мне очень помогли :thank:
User avatar
jane_wild
beginner
beginner
 
Posts: 38
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2013
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 18 guests

cron