DPLL (ФАПЧ)

Типо эксперимент, чтоб не думать мучительно, куда писать очередную фишку.

Postby lvd » 14 Sep 2011, 15:32

KOE wrote:А если подумать головой, а не копипастить нагугленное в автоматическом режиме?

Ок, думаем голвой. Есть окумулятор 32 бит, и прибавлятор к нему (тоже 32 бита).
Пусть частота опоры 100мгц, а прибавлятор=1. Тогда частота выхода будет 100мгц/2^32, так как окумулятор переполнится за 2^32 тактов.
далее прибавлятор=2, частота будет 100мгц*2/2^32 (так как окумулятор переполнится в 2 раза быстрее) и т.д. Имеем указанный шаг сетки частот.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby lvd » 14 Sep 2011, 15:37

KOE wrote:Ну блин ты в элементарные вещи не врубаешься? Возвращаюсь к вопросу о разрешении по частоте.KOE писал(а):Если по твоей методе считать, то для точности настройки 5 кГц нужна опора: 5000*2^32=очень дохуя.

Ты гонешь, по формуле следует шаг сетки частот, если тебюе не надо 0.02гц, а только 5кгц шаг то просто выбираешь из сетки частоты, ближайшие к твоему забору 5кгц и всё. Точность установки тогда будет те самые 0.02гц.

KOE wrote:Включи моск. Представь ситуацию. Генерируется 40.00000000 МГц. Период равен 25.000 нс. Переключаемся с 40.000 МГц на 40.000000020 МГц. Период стал равен 24.988 нс. Изменение периода составляет 12 пикосекунд (!). Каким образом ты мне рекомендуешь осуществить такую перестройку, если период между высерами ЦАПа жестко фиксирован и равен 11.63 наносекунды (86 МГц)?

Видимо ты не врубаешься в то, что такое ДДС. ДДС это по сути то же, что и звуковушка в твоем компе. Надеюсь, ты не сомневаешься в том, что имея звуковушку с частотой дискретизации 48кгц, ты можешь выводить ВООБЩЕ ЛЮБЫЕ частоты ниже найквиста? То есть с шагом хоть 0.(0)1гц (в предположении бесконечнобитного цапа).
ДДС - то же самое, только там между аккумулятором и ЦАПом встроена лукап тейбл синусов, такая, что проход акумулятора на 2^32 эквивалентно полному периоду синуса на выходе лукаптейбла (ессно на лукап заводятся не все 32 бита аккумулятора).
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 14 Sep 2011, 15:40

lvd wrote:В-3 шаг перестройки не более 10гц, если бы ты хотя бы включил свою 857, тебе это стало бы очевидно.

Если подумать, то станет очевидным, что точность 10Гц осуществляется за счет соответствующего изменения опоры с помощью PLL, а не с помощью DDS. Хотя хз, вкуривать лень.
lvd wrote:100мгц*2

100 МГц *2 != 100 МГц + 2.
lvd wrote:Имеем указанный шаг сетки частот.

Нет, не имеем. Шаг сетки частот по определению - минимальная разница между двумя соседними частотами в сетке.
Last edited by KOE on 14 Sep 2011, 16:17, edited 2 times in total.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby KOE » 14 Sep 2011, 15:42

lvd wrote:Видимо ты не врубаешься в то, что такое ДДС

Я-то как раз врубаюсь. Это ты утверждал, что с помощью ДДС реально получить перестройку 40 _+ 10 МГц с шагом в 0.02 Гц. Я как раз утверждаю, что нельзя.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby KOE » 14 Sep 2011, 15:44

lvd wrote:Ты гонешь, по формуле следует шаг сетки частот

Я не гоню, а считаю по данной тобой формуле.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 14 Sep 2011, 15:46

KOE wrote:потому как в ДДС сделать частотную модуляцию не получается.

Блин, я ведь апноту кидал, где на ддс сделана wide-fm модуляция.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby lvd » 14 Sep 2011, 15:54

Короче я понял, КОЕ стал как натуральный старпёр в каких-нить НИИ. Свежие (и элементарные) идеи до него не доходят (или он не хочет, чтоб доходили).

Простая программка.
Code: Select all
unsigned int a, step;
float angle, todac;
step = чегото;
a = 0;
while(1)
{
a = a + step;
angle = ((float)a) / ((float)2^32) * 2 * PI;
todac = sin(angle);
OutputToDac(todac);
}

Пусть функция OutputToDac выводит очередное рассчитанное значение на ЦАП, работающий с частотой дискретизации 100МГц (соотвно и цикл исполняется с частотой 100мгц). Какой частоты синус будет на цапе в зависимости от значения переменной step? Попробуй посчитать сам.

А между тем это именно то, как работает DDS.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 14 Sep 2011, 16:01

lvd wrote:ДДС это по сути то же, что и звуковушка в твоем компе. Надеюсь, ты не сомневаешься в том, что имея звуковушку с частотой дискретизации 48кгц, ты можешь выводить ВООБЩЕ ЛЮБЫЕ частоты ниже найквиста? То есть с шагом хоть 0.(0)1гц (в предположении бесконечнобитного цапа).

В предположении бесконечнобитного цапа - не сомневаюсь.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 14 Sep 2011, 16:03

KOE wrote:В предположении бесконечнобитного цапа - не сомневаюсь

А теперь делаем цап конечнобитным и что меняется? Появляется шум, а что исчезает и почему?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 14 Sep 2011, 16:06

lvd wrote:Появляется шум

А вместе с ним погрешность по установке частоты, которая растет с уменьшением битов. Я честно не считал, но думаю, что в реальности сделать перестройку на 10 МГц с шагом 0.02 Гц относительно 40 МГц в реальной жизни и с реальным ФНЧ на выходе ЦАП затруднительно. Ты не забывай, что найквист и Котельников работают с идеальным ФНЧ прямоугольной формы и без дискретизации по амплитуде. А на деле - 10..14 бит и ФНЧ малого порядка.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4682
Joined: 15 Apr 2007, 13:06
Group: Registered users

PreviousNext

Return to Электроника

Who is online

Users browsing this forum: No registered users and 42 guests

cron