honeycomb0 0 4 октября, 2016 Опубликовано 4 октября, 2016 (изменено) · Жалоба С горем пополам удалось реализовать модель ФАПЧ (кстати прекрасно описанной на dsplib.ru) для простой, как мне казалось задачи - просто "схватиться" за фазу входной медленой (30Гц) синусойды и сихронизировать с ней NCO на той же частоте (другими словами просто "скопировать сигнал"). Удачно подобрал коэффициенты для моей задачи, получившийся ФАПЧ устраивает всем, кроме одного - модель используют double тип данных, а моя конечная цель - реализовать ФАПЧ на полностью целочисленной арифметике. На данный момент, все мои попытки конвертировать получившиюся модель на integer математику, как и ожидалось, неудачны. Проблема в том, что коэффициенты петлевого фильтра нещадно малы - я отчаяно пытаюсь их маштабировать, но на выходе ФАПЧ выходит каша... Хотел узнать, ведь наверняка кто-то сталкивался с подобной проблемой, может подтолкнете меня в нужное направление? Ведь каким-то образом данная задача реализовывалась на ПЛИС? Спасибо Изменено 4 октября, 2016 пользователем honeycomb0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alex_os 0 4 октября, 2016 Опубликовано 4 октября, 2016 · Жалоба Насколько малы коэффициенты? Про fixed point в курсе? https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%...%82%D0%BE%D0%B9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honeycomb0 0 4 октября, 2016 Опубликовано 4 октября, 2016 · Жалоба В курсе, но вот незадача: ki = 5.9164e-009, kp = 1.5384e-005. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 4 октября, 2016 Опубликовано 4 октября, 2016 · Жалоба в чем проблема коэффициенты умножить на, скажем 10 в 9 или около того, а результат на выходу петлевого фильтра затем разделить? И коэффициенты не подбирать надо, а расчитывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honeycomb0 0 4 октября, 2016 Опубликовано 4 октября, 2016 (изменено) · Жалоба Насчет подбора, я полностью соглашусь. Однако я должен признать свою полную несостоятельность на этом поприще. Я перерыл много материала по теме, везде подробно описано как устроена ФАПЧ, приведена передаточная хар-ка петли, выведены основные параметры (резонансная частота петли, коэффициенты фазового детектора, коэффициент ГНУ, демпинг фактор и др.), мне даже стали понятны критерии стабильности всей ФАПЧ - однако как расчитать коэффициенты я так и не понял. Они все связаны между собой, и никак не получается систематизировать их отношения и рассматривать как отдельно взятую еденицу. Я ищу этот рецепт, но пока результат никакой, рецепта найти не удалось. Повсеместно гоняю ФАПЧ в симуляторе, однако уже становится понятным что результат этой затеи плачевен... Изменено 4 октября, 2016 пользователем honeycomb0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stealth-coder 2 4 октября, 2016 Опубликовано 4 октября, 2016 · Жалоба В курсе, но вот незадача: ki = 5.9164e-009, kp = 1.5384e-005. А что Вас смущает? Fixed point 1.31 позволяет представить ki в виде числа 13 (13 * 1/(2^31) = 6.053597e-009), если такая точность не устраивает, возьмите побольше разрядность, 1.63 позволит представить точнее чем double :))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
semperante 0 5 октября, 2016 Опубликовано 5 октября, 2016 · Жалоба А посмотрите вот этот Матлаб пример для HDL кодера. Здесь в модуле Fine Frequency Compensation - PLL как раз реализована в fixed point. HDL Optimized QPSK Receiver with Captured Data https://www.mathworks.com/help/comm/example...ommqpskrxhdl-25 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honeycomb0 0 7 октября, 2016 Опубликовано 7 октября, 2016 · Жалоба Спасибо за наводки, буду смотреть-разбираться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться