Троичный АЦП

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Shaos wrote: Теперь осталось понять как заставить работать троичный вариант...
После долгих размышлений и экспериментов я пришел к выводу, что троичный АЦП надо строить совершенно иначе, а вышеприведенный подход в случае уравновешенной троичной системы уже не работает :(
Guest

Re: Троичное АЦП

Post by Guest »

По поводу 4 битов - ежу понятно что АЦП по такой схеме с большой точностью работать не будет (идеальных инверторов с бесконечным входным сопротивлением, как и идеально точных резисторов в природе не существует)
Потрясающе!

Расскажи мне тогда как влияет входное сопротивление инвертора на наращивание разрядности? (Можешь для начала открыть любую документацию и посмотреть его типовое значение.)
Мне будет очень интересно почитать новые откровения от Shaos.
С резисторами ты подумал минут так 45 и попал пальцем в небо.
Еще один наводящий вопрос: какая точность резисторов требуется для восьми разрядов? Корректна ли такая формулировка? Почему?

Два следующих вопроса:

1) чего не хватает в оригинальной схеме?

2) какие типовые методы обойти указанные выше недостатки?
Я посчитал коэффициенты сопротивлений и написал...
Долго считал? Сочувствую - непросто конечно. Дифференциальные уравнения второго порядка в частных производных. И что получил?
(1) (2) (4) (8) (16) - замечательно!
Главное с ответом в статье сходится.
После долгих размышлений и экспериментов я пришел к выводу, что троичный АЦП надо строить совершенно иначе...
Может поделишься размышлениями? Или ты пришел к выводу что делитель напряжения в троичной системе превращается в резонансный контур?
А заклинание на языке Java при этом говорить не надо?
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Зачем дифференциальные уравнения? Просто по теореме Мильмана посчитал, что:
U3 = inv(U)
U2 = inv(2/3*U + 1/3*U3)
U1 = inv(4/7*U + 2/7*U3 + 1/7*U2)
U0 = inv(8/15*U + 4/15*U3 + 2/15*U2 + 1/15*U1)
И кстати тут скорее не деление напряжения, а суммирование напряжений с учётом весовых коэффициентов. Причем сложение идет с инвертированными значениями - т.е. вычитание. Каждый из очередных полученных разрядов вычитается при получении следующих. Вот исходник на Java:

Code: Select all

public class ADC2
{
 static double co[] = new double[4];
 static double u[] = new double[5];

 static double ti(double u)
 {
  if(u > +2.5) return 0;
  return 5;
 }

 static double fun(int n, double u1) 
 { 
  double sum = 0;
  double res = 0;
  u[4] = u1; // trick
  for(int i=0;i<n;i++) sum+=co[i];
  for(int i=0;i<n;i++) res+=co[n-i-1]*u[4-i]/sum;
  return res; 
 }
 
 public static void main(String arg[])
 {
  co[0] = 1;
  co[1] = 2;
  co[2] = 4;
  co[3] = 8;
  double U = 0;
  double Us = 0.05;
  while(U<=5.0)
  {
   u[3] = ti(fun(1,U));
   u[2] = ti(fun(2,U));
   u[1] = ti(fun(3,U));
   u[0] = ti(fun(4,U));
   String uval = "";
   for(int i=3;i>=0;i--)
   {
     uval += " "+u[i];
   }
   System.out.println("U=" + U + " ADC =" + uval);
   U += Us;
  }
 }
}
С уравновешенной троичной логикой такой фокус не пройдет - там можно сделать похоже, но иначе (пока не догадался как, но скоро должен).

P.S. Alik, тебе еще не надоело делать вид что ты знаешь ответы на все вопросы и что вокруг тебя одни идиоты? Чем упорнее ты будешь доказывать окружающим что ты самый умный, тем сильнее они будут подозревать обратное ;)

P.P.S. Корректировать чужие цитаты нехорошо - это я о "посчитал коэффициенты сопротивлений"
Guest

Re: Троичное АЦП

Post by Guest »

Shaos, посмотри на этот диалог об АЦП еще раз:

Сначала ты дал ссылку на схему
http://www.trinary.cc/Tutorial/Interface/Analog.htm
которая неинтересна только потому, что требует больших аппаратных затрат и реализует последовательное приближение по аналогии с двоичным.
Далее в ответ на мою схему следует реплика: "А какое отношение это имеет к АЦП?"
Потом ты пишешь о несовместимости характеристик. Как будто уже есть заказ на построение 10000 троичных АЦП с абсолютно одинаковыми параметрами.
Тебе, как выясняется "...больше по душе троичный инвертор на оптопарах". Да, хорошие приборы, но как интегрировать их в микросхему - непонятно.
Со ссылкой на твой преподавательский опыт, ты подробно пишешь о порогах троичного инвертора, хотя дальше идет фраза: "По поводу центральной точки - я понятия не имею почему ты её к земле не подцепил".
Переходим к моим вопросам на понимание принципа работы такого АЦП именно на КМОП-инверторах.
Ты не ответил ни на один из них.
Могу повторить:
1) Какая точность резисторов требуется для восьми разрядов? Корректна ли такая формулировка? Почему?
2) Чего не хватает в оригинальной схеме?
3) Какие типовые методы обойти указанные выше недостатки?

Чтобы ответить хоть что-нибудь ты приводишь программу на языке Java, который я не изучал и обвиняешь меня в высокомерии.

По поводу всего этого мне только остается надпомнить тебе басню "Лебедь, Щука и Рак"
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

По поводу всего этого мне только остается надпомнить тебе басню "Лебедь, Щука и Рак"
А после твоей нецензурщины на этом форуме мне только остается забанить тебя раз и навсегда.

Прощай Alik, мы тебя никогда не забудем...

P.S. А тем временм я прикинул схему троичного АЦП на операционниках, работающую по аналогичному принципу.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Shaos wrote:
P.S. А тем временм я прикинул схему троичного АЦП на операционниках, работающую по аналогичному принципу.
А вот и схема:

Image

Это модуль троичного АЦП, который генерирует один трит и аналоговую ошибку, которую надо передать на вход следующего модуля. Как видно один модуль АЦП состоит из двух компараторов и двух операционников. В окончательной схеме по-видимому надо добавить еще по одному операционнику на трит - чтобы буферизировать выходы (ну или можно двухтранзисторные буфера приделать). Схема нарисована и отлажена в программе MULTISIM.
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: Троичное АЦП

Post by Mac Buster »

Очень красиво :-) Один вопрос: а где там что ? :-)
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Mac Buster wrote: Очень красиво :-) Один вопрос: а где там что ? :-)
Ну вобщем аналоговый сигнал подается слева внизу - там где генератор синусоиды нарисован. Сигнал подается на инвертирующий операционный усилитель с коэффициентом усиления 1. Потом идём на троичный инвертор на двух компараторах и двух диодах (слева вверху) с порогами срабатывания -U/3 и +U/3. Выход троичного инвертора подается на суммирующий операционный усилитель с инверсией, считающий по следующей формуле:

Uout = -3*(-Uin) - 2*Uinv3 = 3*Uin - 2*Uinv3

где -Uin - инвертированный входной сигнал, а Uinv3 - выход троичного инвертора (троично инветрирующий аналогово инвертированный входной сигнал).

Выход троичного инвертора (точка между двумя диодами, с которой идет сигнал на вольтметр) является выходом вычисленного трита.

Выход вычисляющего операционника Uout можно считать ошибкой вычисления, нормализованной до всего диапазона -U...+U. Эту ошибку вычисления можно подавать на следующий точно такой же модуль в качестве входного сигнала для вычисления следующего трита и получения следующей ошибки, подаваемой далее и т.д.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Кстати на тех же принципах можно сделать 3-тритный сумматор - ЦАПы на одном операционнике для оцифровки слагаемых, затем складывающий операционник (у него можно также сделать настраиваемые коэффициенты сложения) и после него - АЦП для получения 3-тритного результата и одного флага переноса.
kvt

Re: Троичное АЦП

Post by kvt »

Можно ли сравнить сложность двоичного и троичного АЦП? Исходя из схемы выше у меня сложилось впечатление, что троичный АЦП потребует примерно в 2 раза больше компонент, чем двоичный.
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: Троичное АЦП

Post by Mac Buster »

Это не совсем верный подход, т.к. кроме количества элементов следует учесть количество соединений и качество преобразования.
kvt

Re: Троичное АЦП

Post by kvt »

Можно ли оценить количество соединений и количество элементов для, скажем 8-ми битного двоичного ацп и 5-ти тритного троичного ацп? Качество у них грубо можно считать одинаковым.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

исходя из первоначальной "двоичной" схемы можно увидеть, что для двоичного АЦП используется один операционник на один двоичный разряд, а в троичной схеме - 2 операционника и 2 компаратора на один троичный разряд - что вроде бы многовато, однако схема троичного АЦП может быть упрощена путём объединения суммирующего операционника предыдущего разряда и инвертирующего операционника следующего разряда в один - правда в этом случае через один потребуется организовать схему троичной инверсии (отрицания), или ещё один вариант упрощения - сделать АЦП последовательным, когда одна и таже схема, изображённая на рисунке, будет считать каждый из разрядов последовательно, сохраняя разряды (а также промежуточное значение ошибки) на конденсаторах
kvt

Re: Троичное АЦП

Post by kvt »

Если я правильно понимаю сложность троичного ацп все равно значительно превосходит двоичный.

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

Возможно даже не надо сравнивать сложность процессоров. В книге Ч. Петзольда "КОД - тайный язык информатики" подробно расписывается устройство двоичного сумматора. Для создания 8-ми разрядного сумматора требуется 144 гейта (примеры в книге базирутся на обычных реле). Можно ли оценить сложность троичного сумматора на 5 разрядов?
sva

Re: Троичное АЦП

Post by sva »

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