Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровая ФАПЧ
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
PavPro
Доброго времени суток.
Знаю что данная тема поднималась на разных ветках форума.
Тем не менее нигде не смог найти ответ на ряд вопросов касающихся расчета цифровой ФАПЧ.
Ниже приводится алгоритм расчета контура ФАПЧ по Незами:

fclk = 10e6; % Частота дискретизации (Гц)
T = 1/fclk; % Время выборки (секунды)
M = 32; % Разрядность фазового аккумулятора NCO
fres = fclk/(2^M); % Разрешение по частоте NCO (Гц)
Ko = fres*2*pi; % Коэфф. усиления NCO (рад/сек * разряд)
Kd = 0.5; % Коэфф. усиления детектора (хрен знает в чем измеряется??)
Bn = 10e3; % Натуральная полоса пропускания ФАПЧ (Гц)
wn = Bn*2*pi; % Круговая полоса пропускания (рад/с)
zeta = 0.707; % Коэфф. демпфирования (затухания)
BL = 2*pi*Bn*(zeta+(1/(4*zeta))); % Шумовая полоса ФАПЧ
Kp = (T*(wn^2)/(2*Ko*Kd))*(1+(1/tan(T*wn/(4*zeta)))); % Пропорциональный коэфф.
Ki = T*(wn^2)/(Ko*Kd); % Интегральный коэфф.

Вопрос первый: правильно ли выполнен расчет в целом. Насколько можно доверять данной методике.
Дело в том что если считать по методике с http://www.dsplib.ru/content/dpll/dpll.html получаются совсем другие результаты
при одних и тех же изходных данных. Точнее числа получаются такими же, но они отличаются порядком запятой.
Тут как я понимаю, дело в масштабировании??

Вопрос второй. Как правильно выражается коэффициент фазового детектора?
В данном случае я принял равным Kd=0.5, изсходя из следующих соображений - при перемножении cos*sin в режиме слежения ФАПЧ,
амплитуда сигнала на выходе детектора становится ровно в половину меньше. Так ли это.
Заранее большое спасибо всем, кто поможет разобраться в данных вопросах!
petrov
Если тупо в формулы подставлять это практически всегда ошибка. Нужно уметь представлять ФАПЧ в виде эквивалентной линейной схемы без детектора и NCO, чтобы все коэффициенты петли учитывались, чтобы одинаковое поведение было с исходной ФАПЧ при ступенчатом воздействии.

Цитата(PavPro @ Aug 3 2012, 09:40) *
Вопрос второй. Как правильно выражается коэффициент фазового детектора?
В данном случае я принял равным Kd=0.5, изсходя из следующих соображений - при перемножении cos*sin в режиме слежения ФАПЧ,
амплитуда сигнала на выходе детектора становится ровно в половину меньше. Так ли это.


С символьной ФАПЧ всё посложнее коэффициент передачи детектора зависит от наличия символьных переходов, т. е. от ваших данных передаваемых, а также от коэффициента ската приподнятого косинуса.
PavPro
Цитата(petrov @ Aug 3 2012, 12:34) *
Если тупо в формулы подставлять это практически всегда ошибка. Нужно уметь представлять ФАПЧ в виде эквивалентной линейной схемы без детектора и NCO, чтобы все коэффициенты петли учитывались, чтобы одинаковое поведение было с исходной ФАПЧ при ступенчатом воздействии.



С символьной ФАПЧ всё посложнее коэффициент передачи детектора зависит от наличия символьных переходов, т. е. от ваших данных передаваемых, а также от коэффициента ската приподнятого косинуса.


Для расчета цифрового контура ФАПЧ: необходимо знать: полусу контура, время захвата, коэфф. усиления фазового детектора, ГУНа (NCO), и передаточную характеристику петлевого фильтра.
Для расчета передаточной характеристики фильтра необходимо расчитать Ki и Kp. Для расчета этих двух коэффициентов надо знать коэффициенты усиления детектора и ГУН. Причем эти коэфф.
надо брать реальные. В реальном устройстве (не математической модели работающей в Simulink) в качестве фазового детектора используется умножитель определенной разрядности, а в качестве
ГУН - используется NCO. Таким образом я неподставлял а бы что, тупо в формулы.

Можно ли по подробней узнать у Вас (можно ссылки на статьи) по поводу расчета коэфф. детектора символьной ФАПЧ. В книгах типа Скляра, приведена одна теория котурую мне крайне трудно интерпритировать в реальном железе.
petrov
Ну вот к примеру два NCO для символьной ФАПЧ, у одного 4 разряда берётся для управления интерполятором у другого 8, разрядности аккумуляторов разные а коэффициент передачи одинаковый, вы взяли какую-то абстрактную разрядность и подставили в формулы где под разрядность вообще что-то третье подразумевается. Как проверять результаты расчётов будете? Нету таких пошаговых инструкций которые индульгенцию дают. Глубже вникать надо и проверять результаты несколькими способами.
PavPro
Цитата(petrov @ Aug 3 2012, 13:44) *
Ну вот к примеру два NCO для символьной ФАПЧ, у одного 4 разряда берётся для управления интерполятором у другого 8, разрядности аккумуляторов разные а коэффициент передачи одинаковый, вы взяли какую-то абстрактную разрядность и подставили в формулы где под разрядность вообще что-то третье подразумевается. Как проверять результаты расчётов будете? Нету таких пошаговых инструкций которые индульгенцию дают. Глубже вникать надо и проверять результаты несколькими способами.

Ну видимо у этих NCO разная частота дискретизации. Поэтому и коэффициенты при разной разрядности получились одинаковыми.
Для линейного ГУН - коэффициент усиления, есть ничто иное как определенное изменение частоты при изменении напряжения на входе. К примеру при U1=0 В,
частота ГУН 40 кГц. При U2=3В частота ГУН стала 100 кГц. Коэфф. усиления тогда будет (100 кГц - 40 кГц)/3 = 20 кГц/В.
Теперь тоже самое можно представить для NCO. В моем случае NCO имеет разрядность фазы - 32 бита. Коэффициент усиления показывет нам во сколько раз изменится выходная частота NCO при приращении +1, на входе аккумулятора фазы. По сути дела это тоже самое что и разрешение по частоте NCO.
Так что никакой абстрактной разрядности у меня нет. Реальные числа - реальных устройств.
petrov
Не нужно в одну кучу валить кГц, разрядности и коэффициенты ФАПЧ, сделайте для начала модельку идеальную с плавающей точкой, а потом уже на фиксированную точку переходите.
PavPro
Цитата(PavPro @ Aug 3 2012, 14:00) *
Ну видимо у этих NCO разная частота дискретизации. Поэтому и коэффициенты при разной разрядности получились одинаковыми.
Для линейного ГУН - коэффициент усиления, есть ничто иное как определенное изменение частоты при изменении напряжения на входе. К примеру при U1=0 В,
частота ГУН 40 кГц. При U2=3В частота ГУН стала 100 кГц. Коэфф. усиления тогда будет (100 кГц - 40 кГц)/3 = 20 кГц/В.
Теперь тоже самое можно представить для NCO. В моем случае NCO имеет разрядность фазы - 32 бита. Коэффициент усиления показывет нам во сколько раз изменится выходная частота NCO при приращении +1, на входе аккумулятора фазы. По сути дела это тоже самое что и разрешение по частоте NCO.
Так что никакой абстрактной разрядности у меня нет. Реальные числа - реальных устройств.

На счет пошаговости тоже не совсем согласен. Для расчета линейных ФАПЧ существуют коммерчиские программы. Заполнил необходимые поля и получил результат. Пару раз пользовался таким пакетом от
Analog Devieces и все прекрасно работало.

Цитата(petrov @ Aug 3 2012, 14:16) *
Не нужно в одну кучу валить кГц, разрядности и коэффициенты ФАПЧ, сделайте для начала модельку идеальную с плавающей точкой, а потом уже на фиксированную точку переходите.

Я не валю все в одну кучу. Я просто четко как мне кажется расписал, что такое есть коэфф. усиления для NCO при заданной разрядности аккумулятора фазы и заданной частоте отсчетов.
А кГц я привел для сравнения, как тоже самое выражается для аналового линейного ГУН.
petrov
Цитата(PavPro @ Aug 3 2012, 14:28) *
На счет пошаговости тоже не совсем согласен. Для расчета линейных ФАПЧ существуют коммерчиские программы. Заполнил необходимые поля и получил результат. Пару раз пользовался таким пакетом от
Analog Devieces и все прекрасно работало.


Я пару раз пользовался готовыми модемами, вообще ничего делать не надо, всё работает, их наверное боги делают.


Цитата(PavPro @ Aug 3 2012, 14:28) *
Я не валю все в одну кучу. Я просто четко как мне кажется расписал, что такое есть коэфф. усиления для NCO при заданной разрядности аккумулятора фазы и заданной частоте отсчетов.


Помимо NCO у вас будет ещё куча мест с арифметическими операциями, на какой-нибудь 14-ти разрядной шине будет значение 11957, это не значит что коэффициенты ФАПЧ другие какие-то и все разрядности нужно тянуть в формулы, просто в уме держим запятую, всё соответствует модели в плавучке, только точность поменьше.


PavPro
Цитата(petrov @ Aug 3 2012, 14:42) *
Я пару раз пользовался готовыми модемами, вообще ничего делать не надо, всё работает, их наверное боги делают.




Помимо NCO у вас будет ещё куча мест с арифметическими операциями, на какой-нибудь 14-ти разрядной шине будет значение 11957, это не значит что коэффициенты ФАПЧ другие какие-то и все разрядности нужно тянуть в формулы, просто в уме держим запятую, всё соответствует модели в плавучке, только точность поменьше.


Ладно. Совсем моим уважением к Вам, видимо мы с Вами друг друга не понимаем. Вместо конкретных ответов, я получаю только общие ответы типа не так считаешь, валишь все в одну кучу и т. п.
Тема закрыта.
R.A.K.
Могу предложить немного дубовый, но работоспособный вариант sm.gif

Cоставить выражение передаточной характеристики петли ФАПЧ и методом научного тыка подобрать Kp и Ki, которые обеспечивают желаемую форму АЧХ.
Для варианта с фиксированной точкой, если использовать Kp и Ki только в виде степени двойки, подбор делается за несколько итераций (т.е. за несколько минут sm.gif ).
Если что - могу подробней.

Попутно хотелось бы заметить, что проблемы в рассчете ФАПЧ начинаются, в основном, в связи с требованиями к полосе захвата/удержания. Здесь, имхо, самый затык.
PavPro
Цитата(R.A.K. @ Aug 3 2012, 21:20) *
Могу предложить немного дубовый, но работоспособный вариант sm.gif

Cоставить выражение передаточной характеристики петли ФАПЧ и методом научного тыка подобрать Kp и Ki, которые обеспечивают желаемую форму АЧХ.
Для варианта с фиксированной точкой, если использовать Kp и Ki только в виде степени двойки, подбор делается за несколько итераций (т.е. за несколько минут sm.gif ).
Если что - могу подробней.

Попутно хотелось бы заметить, что проблемы в рассчете ФАПЧ начинаются, в основном, в связи с требованиями к полосе захвата/удержания. Здесь, имхо, самый затык.

Да, был бы Вам очень признателен если бы Вы описали суть метода или дали ссылку где об этом можно почитать. Хотя конечно, хотелось бы иметь четкое понимание расчета контура цифровой ФАПЧ. Но в той литературе которая мне попадалась изложена в основном теория, которая имеет мало отношения к реальной жизни. Книга Незами в этом плане редкое исключение.
R.A.K.
Суть метода кратко описана здесь (я брал его себе за основу, но потом творчески переработал для такого варианта ФАПЧ, который, опять таки, пришлось немного творчески переработать sm.gif ).
Опишите, если можно, аппаратную реализацию своей ФАПЧ (особенно фазового детектора). Без этого немного трудно корректно составить уравнение ПХ и, т.с., в целом притянуть этот метод рассчета на Ваш случай.
PavPro
Цитата(R.A.K. @ Aug 3 2012, 21:58) *
Суть метода кратко описана здесь (я брал его себе за основу, но потом творчески переработал для такого варианта ФАПЧ, который, опять таки, пришлось немного творчески переработать sm.gif ).
Опишите, если можно, аппаратную реализацию своей ФАПЧ (особенно фазового детектора). Без этого немного трудно корректно составить уравнение ПХ и, т.с., в целом притянуть этот метод рассчета на Ваш случай.

Спасибо Вам огромное. Сейчас как раз изучаю материал на который Вы мне дали сслылки.
В моем случае в качестве фазового детектора используется умножитель (разрядность 14-бит по входу) (по выходу усекается до 14 бит). Затем производится масштабирование результата перемножения. Промасштабированный результат подается на петлевой фильтр, структура которого полностью соответствует той,
что приводится здесь-http://www.dsplib.ru/content/dpll/dpll.html. Результат фильтрации подается ну сумматор который управляет NCO. Соответственно косинус NCO - является выходом ФАПЧ. Аналогичная блок схема приведена в книге Незами по цифровым системам связи и в книге Беста по ФАПЧ. Если что могу привести более подробную схему с указанием разрядности всех узлов и результатами масштабирования. Да все вычисления проводятся в дополнительном кодеЮ кроме разумеется фазового аккумулятора NCO. На него я подаю результат в смещенном коде.
ysmat
не могу интуитивно понять зачем в цифровой фапч нужен фильтр
в петле
если ФД линеен то достаточно ли будет просто добавить его промаштабированый выход к аккумулятору
в следующей выборке ФД выдаст величину близкую к 0
сооответственно поправки вносяться только тогда когда есть разница в фазе
тогда и затухающих колебаний своственных аналоговым петлям быть не должно
ведь синхронизация происходит за одну выборку
winipuh
Цитата(ysmat @ Apr 8 2013, 18:55) *
не могу интуитивно понять зачем в цифровой фапч нужен фильтр в петле

Вы, часом, не про ПИ-звено? Или Вы именно про фильтр (ФНЧ)?

Цитата(ysmat @ Apr 8 2013, 18:55) *
если ФД линеен то достаточно ли будет просто добавить его промаштабированый выход к аккумулятору
Нет. sm.gif
ysmat
Цитата(winipuh @ Apr 8 2013, 19:33) *
Вы, часом, не про ПИ-звено? Или Вы именно про фильтр (ФНЧ)?

Нет. sm.gif


вот схема
Нажмите для просмотра прикрепленного файла
фнч у меня есть он предназначен для того чтоб срезать
двойную частоту
входная частота 2,65 mgц ее девиация 200 кgц
частота клока выборок 66 mgц

winipuh
Цитата(ysmat @ Apr 8 2013, 21:35) *
вот схема

Круто! sm.gif
А выход то где? Где выходной клок?
ysmat
Цитата(winipuh @ Apr 8 2013, 20:49) *
Круто! sm.gif
А выход то где? Где выходной клок?

выход идет с фд в момент девиации на нем должен быть выброс
сигнализирующий о изменении фазы входного сигнала
а клок я не рисовал эта системная частота с которой работает плис
по сути частота семплов
winipuh
Цитата(ysmat @ Apr 8 2013, 22:00) *
выход идет с фд в момент девиации на нем должен быть выброс
сигнализирующий о изменении фазы входного сигнала
а клок я не рисовал эта системная частота с которой работает плис
по сути частота семплов

Признаюсь честно - я ни черта не понял sm.gif.
Просто когда речь заходит о цифровой ФАПЧ, то в голове у меня другая картинка рисуется...

Вы не могли бы поподробнее рассказать как работает Ваша ФАПЧ и, главное, для чего она работает.

Что это за блок "CORDIC PLL"? Общие представления о cordic имеются, что такое ARCT CORDIC тоже понятно. А вот что такое CORDIC PLL - нет sm.gif

А заодно объясните, как она решает (и может ли решать) "типичные" задачи для ФАПЧ:
1) Фильтрация дрожания фазы входного сигнала (джиттера).
2) Захват частоты, а главное - удержание частоты при потере входного сигнала.
ysmat
Цитата(winipuh @ Apr 8 2013, 21:18) *
Признаюсь честно - я ни черта не понял sm.gif.
Просто когда речь заходит о цифровой ФАПЧ, то в голове у меня другая картинка рисуется...

Вы не могли бы поподробнее рассказать как работает Ваша ФАПЧ и, главное, для чего она работает.

Что это за блок "CORDIC PLL"? Общие представления о cordic имеются, что такое ARCT CORDIC тоже понятно. А вот что такое CORDIC PLL - нет sm.gif

А заодно объясните, как она решает (и может ли решать) "типичные" задачи для ФАПЧ:
1) Фильтрация дрожания фазы входного сигнала (джиттера).
2) Захват частоты, а главное - удержание частоты при потере входного сигнала.

идею я взял вот тут демодулятор с фапч
CORDIC PLL генератор dds sin cos то я перепутал вместо dds написал pll
по поводу второго пункта даже не знаю надо проверить
apxeolog
я наверное не в тему, но может быть кто нибудь поделится ссылкой на незами? уже много раз встречал упоминание о нем, но не могу найти где скачать можно.
winipuh
Цитата(apxeolog @ Apr 10 2013, 10:19) *
кто нибудь поделится ссылкой на незами?

топик по сабжу, или здесь
Castiel
Уважаемые форумчане, я студент, совершенно ничего не понимающий по сабжу, кроме как сюда мне обратиться некуда, поэтому просьба пинать несильно sm.gif
Делаю лабу по созданию системы восстановления несущего колебания для QAM 256, но колебание не восстанавливается, скорее всего потому, что не могу рассчитать пропорциональный и интегральный коэффициенты. Методичка: Страница 64 отсюда ; скрины прилагаются. Кто-нибудь может подсказать, в какую сторону мне копать? Заранее благодарен за помощь)







des00
Цитата(Castiel @ Apr 11 2014, 18:29) *
Делаю лабу по созданию системы восстановления несущего колебания для QAM 256, но колебание не восстанавливается, скорее всего потому, что не могу рассчитать пропорциональный и интегральный коэффициенты. Методичка: Страница 64 отсюда ; скрины прилагаются. Кто-нибудь может подсказать, в какую сторону мне копать? Заранее благодарен за помощь)

Методичка хорошая, но вы упустили из виду
Код
The Costas loop is not designed to handle QAM16. It only works for BPSK, QPSK, and 8PSK.

читать здесь http://gnuradio.4.n7.nabble.com/Costas-loo...ck-td44109.html
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.