Обнаружение фазы между прямоугольными и синусоидальными сигналами

9

У меня есть схема, которая имеет цифровой вход прямоугольной волны (генерируется PLD, 1,8 В) и выход синусоидальной волны (0,5 - 3,5 В). Оба сигнала имеют частоту 100 кГц, однако фаза различна.

Что является хорошим способом определения разности фаз между этими двумя сигналами? Фазовые детекторы, которые я видел до сих пор, предназначены для всех цифровых или всех аналоговых сигналов? Есть ли один для схемы со смешанными сигналами, как у меня?

Обновить

Для моего применения достаточно знать разность фаз с 1 градусом. Частоты всегда заблокированы относительно друг друга и никогда не меняются. Прямоугольная волна приводит в движение аналоговую электронику, а аналоговые волны создают синусоидальную волну, в которой есть AM-модулированный сигнал. Однако амплитуда сигнала очень низкая по сравнению с амплитудой несущей. Из-за производственной изменчивости аналоги (включая некоторые индукторы, намотанные вручную) имеют высокую изменчивость фазы от единицы к единице, и я пытаюсь придумать метод автонастройки для DSP, который обрабатывает выходную синусоидальную волну.

udushu
источник
2
Насколько точно нужно знать разность фаз? И нужно ли вам делать это как разовый эксперимент или как часть текущей функции вашей схемы? Являются ли эти две части фактически синхронизированными по частоте (или получают их частоту из общего задания), или они обе номинально равны 100 кГц?
Фотон

Ответы:

11

Обнаружение фазы является самым простым для цифровых сигналов; это в основном ворота XOR. Я бы преобразовал синус в прямоугольную волну. Подайте компаратору синусоидальный сигнал на один вход, а усредненный синусоидальный сигнал (ФНЧ) - на другой, чтобы компаратор выдал прямоугольную волну с коэффициентом заполнения 50%. Затем используйте цифровой фазовый детектор.

stevenvh
источник
Я рассмотрел использование компаратора для создания синусоиды из прямоугольной волны, но проблема в том, что амплитуда синусоиды может варьироваться в диапазоне от 0,5 до 3,5 В. Это производственная изменчивость, и я ничего не могу с этим поделать. Тем не менее, обнаружение пересечения нуля может быть решением в этом случае ... Может быть, стоит подумать.
Удушу
1
@udushu - Усредняющий ФНЧ решает это. Он позаботится о различной амплитуде и смещении постоянного тока.
Стивенвх
@stevenvh, я не думаю, что LPF достаточно, чтобы гарантировать, что амплитуда входного сигнала не влияет на измерение фазы. Компараторы имеют свойство, называемое дисперсией, которое означает, что задержка распространения изменяется при изменении входной амплитуды. Похоже, что компаратор, который может удовлетворить потребности ОП в фазовой ошибке (около 40 нс) без дальнейшей компенсации, также должен иметь достаточно низкую дисперсию; но это будет важно проверить при выборе компаратора для этого использования.
Фотон
@ThePhoton - У вас есть точка, но OP еще не упомянул его точность в 1 °, когда я ответил. OTOH есть компараторы с дисперсией намного меньше 100 пс, что на несколько порядков лучше, чем 1 °.
Стивенв
@ThePhoton - Кажется, что нулевой перекрестный компаратор является решением. Спасибо всем за обсуждение.
удушу
4

Поскольку вы говорите, что DSP обрабатывает синусоидальную волну, вы можете использовать комплексное преобразование Фурье для измерения фазы (вам нужно только оценить DFT на известной частоте).

Это на самом деле тесно связано с тем, что Керд предложил о микшировании - одноточечный DFT - это тип микшера, за которым следуют интеграторы или фильтры нижних частот. Разница в том, что, делая это в сложной области (или используя микшер IQ в аналоговой), вы можете определить угол комплексного выхода. Используя только реальные компоненты или только один микшер, вы не можете сказать, что опережение от запаздывания и амплитудной чувствительности было бы более сложной задачей.

Крис Страттон
источник
Жаль, что я не мог. Это решило бы много проблем, которые у меня сейчас есть. К сожалению, DSP, который я должен использовать, не имеет ничего общего с мощностью, необходимой для выполнения DFT в реальном времени на сигнале 100 кГц.
Удушу
Вам нужно только вычислить один частотный интервал, а не обычные # bins = # выборки, которые люди связывают с преобразованием Фурье. Кроме того, как часто вы должны измерять фазу? Если нечасто, то реальный вопрос заключается в том, может ли ваша система сэмплировать и хранить с такой скоростью, а не может ли она обрабатывать ее.
Крис Страттон
DSP в настоящее время настроен на выборку с частотой 20 кГц, и дискретизируется только демодулированный сигнал, а не несущая с частотой 100 кГц. Я не думаю, что скромный dsPIC33, который я использую, сможет вообще сэмплировать сигнал 100 кГц.
Удушу
@udushu быстрый поиск предполагает, что dsPIC может справиться с мегасэмплом / секунду. Но если аналоговая полоса пропускания достаточна, и вы знаете частоту, вы также можете преднамеренно отбирать и использовать псевдонимы.
Крис Страттон
0

Предполагая, что амплитуды обоих входных сигналов постоянны (если бы они не могли быть сделаны постоянными с помощью схемы АРУ), вы можете использовать микшер (мультипликатор) в качестве фазового детектора:

Если сигналы находятся в фазе, выходной сигнал будет положительным.
Если сигналы сдвинуты по фазе на 180 °, выходной сигнал будет отрицательным.
Для других разностей фаз выход будет где-то между этими значениями.

Например, обнаружение фазы упоминается в техническом описании как одно из применений аналогового умножителя IC AD633 .

творог
источник