Перейти к содержанию
    

Добрый день,

 

всем известна функция вычисления комплексного аргумента, если x+iy - это наше комплексное число, то arg(x,y) = atan2(y,x). Пусть у меня имеются аналоговые сигналы x,y а я хочу получить этот аргумент (то есть угол) тоже в аналоге, например, -Пи - это 0, а +Пи - это VCC.

 

Скажите, пожалуйста, как такая микросхема называется, ведь должна же она быть где-то востребована, не так ли?

 

PS: как сделать через два ADC и один DAC ноги контроллера - я знаю, но не хотел бы, хочу в аналоге.

 

Спасибо!

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PlotFourQuadrantInverseTangentExample_01

 

с какой точностью и насколько быстро?

и вот этот вот переход через У=0 при отрицательных Х как "в аналоге" выглядеть будет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Переход - да, именно так, как есть, скачком - переходом из -Пи в +Пи, хотя сами входные значения будут изменяться без скачка. На сколько быстро - где-то 50КГц плюс-минус лапоть, то есть может и 10КГц хватит, а может и 200КГц надо. С точностью - тоже нет четкого понимания, 1% по углу в большинстве случаев - за глаза, но аппетит может прийти во время еды и захочется чуток побольше точности.

 

То есть задавая вопрос я знаю решение через цифру, и, если не найду аналоговое решение, сделаю именно через цифру, но если есть понимание как такое называется, и оно более-менее доступно в мойзерах и фарнеллах, и легко разводится, но с радостью бы попользовал, чтоб МК не ставить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если 200кГц и 1% нужен в области где нет разрыва, это означает что около скачка полоса для того же 1% нужна будет в 100 раз больше.

https://www.analog.com/en/parametricsearch/11106

для 1% должно хватить двух умножителей atan = x * (a + b*x*x), или даже умножителя и выпрямителя, если сделать atan = x*(a+b*|x|)

ну или ad538, только он NRND да и стоит негуманно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, _pv!

 

Я-то думал, что есть что-то проще и не дорого, но похоже, что кроме как какого-то простого кортекса с DACом никакой более альтернативы, к сожалению, нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цапы встроенные не особо быстрые как правило, но для десятков кГц может и хватит, а вот на ad734, 10МГц и 0.1% получить можно пожалуй, но недешево, это да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Генератор -> Квадратурный модулятор (смеситель) -> ограничитель -> фазовый детектор

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, FatRobot said:

Генератор -> Квадратурный модулятор (смеситель) -> ограничитель -> фазовый детектор 

Простите, пожалуйста, но я не смог понять...

 

У меня-то частоты может и не быть, просто попало на синус значение 10, а на косинус 20, что это - около 26 градусов, atan2(10,20). Если бы несущая частота была бы, то да, сделал бы именно так, как Вы сказали!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какой этап обработки вы не смогли понять? генератор? возьмите любой, который есть в системе. он же будет опорным для фазового детектора 

по сути вам нужно превратить аргумент во что-то, что легко измеряется. в данном случае это будет временной интервал или скважность

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 hours ago, FatRobot said:

Генератор -> Квадратурный модулятор (смеситель) -> ограничитель -> фазовый детектор

несущую частоту, наверное, для 200кГц и 1% придётся в большие мегагерцы задрать, да и готовых модуляторов/детекторов для не сильно большой частоты наверное сложнее найти чем для совсем RF.

а например max1472(генератор) + BGX7101/LTC5599(модулятор) и какой-нибудь готовый детектор вроде MCK12140 в результате не особо-то и проще/дешевле аналоговой арифметики получится.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, FatRobot said:

какой этап обработки вы не смогли понять? генератор? возьмите любой, который есть в системе. он же будет опорным для фазового детектора 

по сути вам нужно превратить аргумент во что-то, что легко измеряется. в данном случае это будет временной интервал или скважность

так нету генератора-то, тю-тю! Просто два сигнала, которые могут, например, соответствовать одному и тому же углу целую минуту, но по амплитуде их может очень зверски колбасить, возможно даже 200КГц и выше. Но угол сам тоже может меняться, примерно до 200КГц, то есть изменение угла может быть от 0 градусов в минуту, до 40 градусов в микросекунду. И как тут через фазовый детектор задачу решать? Я может конечно не понимаю что-то, но вроде для такой задачи - Ваш вариант не пойдет, нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так поставьте генератор, если изначально его 'нету'.

насчет больших мегагерцев я тоже не вполне понимаю. несущая 200 кгц плюс 200 кгц х 100 для счета

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если на квадратурный модулятор подать постоянные сигналы, они просто сдвинут фазу несущей как раз на тот угол, который Вы через арктангенс и хотите получить.

ну а фазовый детектор опёртый на исходную несущую этот угол и покажет

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 часов назад, iiv сказал:

И как тут через фазовый детектор задачу решать?

Вы бы написали в ТТ какие квадранты нужны вообще, в аналоге то. Емнип можно получить или только 2 (4-й и 1-й)   на простом смесителе (исключающем ИЛИ, перемножителе)  или сразу 8 с неопределенностью по виткам фазы, как фишка ляжет.

также важен динамический диапазон сигналов X Y, если широкий (более 20дБ) - то с аналогом будут проблемы в точности результата из-за усилителя ограничителя.

Изменено пользователем µ₀N²

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про фазовый детектор - понял, спасибо!!! Да, действительно, если еще генератор добавить и квадратурным модулятором смешивать, то будет фаза. Тогда, похоже на компонентах будет конский ценник, так как если мне надо 200КГц и 1градус точности, то это около 40МГц у генератора и работа на этой частоте.

 

Похоже, что на МК сделать эту задачу будет и проще, и дешевле.

 

1 hour ago, µ₀N² said:

Вы бы написали в ТТ какие квадранты нужны вообще

Спасибо! Если я правильно понял вопрос, Вы имели ввиду именно о диапазонах получаемого угла. Нужен именно полный диапазон, от -180 до +180 градусов. Причем, при cos(x)=-1, sin(x)=0 меня устроит неопределенность, то есть или +VCC или GND.

 

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

Так как конструкционно у меня на соединение имеется только один провод, то протаскивать этот угол в цифре было как-то сложновато, поэтому-то я и хотел аналоговый сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...