Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровой ФАПЧ по Незами
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
optimus
народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла
des00
1. это не фапч, а АПЧ
2. возьмите симулинк, он нагляднее. модель работчая.
petrov
Цитата(des00 @ Dec 22 2011, 08:27) *
1. это не фапч, а АПЧ


Разве это не ФАПЧ 2-го порядка и неудачный рисунок?
des00
Цитата(petrov @ Dec 22 2011, 06:11) *
Разве это не ФАПЧ 2-го порядка и неудачный рисунок?

если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.
optimus
Цитата(des00 @ Dec 22 2011, 14:24) *
если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.


Т.е. Фаза = 2*pi*(f+Фи)*Ts вместо Фаза = 2*pi*f*Ts + Фи?
Fast
Цитата(des00 @ Dec 22 2011, 15:24) *
если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.
вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ
Kluwert
Цитата(optimus @ Dec 22 2011, 07:03) *
народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается


А чего вас, молодежь, так тянет на импортные источники, в родном гос-ве уже книги перестали издавать?
Кстати сказать, схема на рисунке не рабочая: в нижней ветви петлевого фильтра стрелки явно куда-то не туда смотрят sm.gif

А по вашей программке, ну, начнем с того, где ФНЧ после умножителей? Я вижу вот это:
I[MsCount] += Signal[i]*sin(Faza);
Q[MsCount] += Signal[i]*cos(Faza);
и далее (в цикле)
Atan = fmod(atan(Q[MsCount]/I[MsCount]),2.*M_PI);
А ФНЧ-то где?

Кстати, на схеме действительно АПЧ, но в основе лежит именно ФАПЧ, т.к. система (очевидно) с астатизмом I порядка, следовательно, будет следить с точностью до начальной фазы.
des00
Цитата(Kluwert @ Dec 22 2011, 06:39) *
А по вашей программке, ну, начнем с того, где ФНЧ после умножителей?

LPF = Low Pass Filter


Цитата(Fast @ Dec 22 2011, 06:35) *
вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ

глянул незами, да это ФАПЧ, АПЧ по другому делается %)
petrov
Цитата(Kluwert @ Dec 22 2011, 16:39) *
Кстати, на схеме действительно АПЧ, но в основе лежит именно ФАПЧ, т.к. система (очевидно) с астатизмом I порядка, следовательно, будет следить с точностью до начальной фазы.


2-го, два интегратора в петле, без ошибок в установившемся режиме отслеживает скачёк частоты(линейно изменяющуюся фазу)
Kluwert
Цитата(des00 @ Dec 22 2011, 15:51) *
LPF = Low Pass Filter

Спасибо, я знаю, что такое LPF sm.gif Я имею в виду где он в программе реализован.
Я вижу только вот такое странное накопление
I[MsCount] += Signal[i]*sin(Faza);
с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i.

Может я чего не понимаю, но мне кажется странной такая реализация ФНЧ.
AlexeyT
Цитата(Kluwert @ Dec 22 2011, 15:56) *
Спасибо, я знаю, что такое LPF sm.gif Я имею в виду где он в программе реализован.
Я вижу только вот такое странное накопление
I[MsCount] += Signal[i]*sin(Faza);
с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i.

Может я чего не понимаю, но мне кажется странной такая реализация ФНЧ.



Суть здесь вот в чем: в качестве ФНЧ используются интеграторы со сбросом. Они накапливают результат умножения входного сигнала на отсчеты, генерируемые NCO в течение 1 мс.

Т.е. в течение 1 миллисекунды происходит накопление
I[MsCount] += Signal[i]*sin(Faza);
Q[MsCount] += Signal[i]*cos(Faza);

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

На рисунке так и показано - интеграторы со сбросом. LPF, который там изображен, не нужен, проверено.

так ни у кого нет работающего программного ФАПЧ?
Fast
у Петрова есть. рабочая модель на симулинке. кажется по Незами. искать.
у меня тоже есть, но не по незами, оптимизирована в составе дема и выдерать ее из контекста смысл нет

мне в этой схеме непонятна операция mod(2пи) , когда с выхода арктангенса и так всегда +/- пи
optimus
Цитата(Kluwert @ Dec 22 2011, 15:56) *
Спасибо, я знаю, что такое LPF sm.gif Я имею в виду где он в программе реализован.
Я вижу только вот такое странное накопление
I[MsCount] += Signal[i]*sin(Faza);
с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i.

Может я чего не понимаю, но мне кажется странной такая реализация ФНЧ.



// Теперь надо пропустить через ФНЧ полученные данные
for(int i = 15; i < SignalFileLength; i++)
{
DoubleTemp1 = 0;
for(int j = 0; j < 16; j++)
DoubleTemp1 += IChanel[i - j]*FilterCoeff[15 - j];
IChanel[i - 15] = DoubleTemp1;

DoubleTemp1 = 0;
for(int j = 0; j < 16; j++)
DoubleTemp1 += QChanel[i - j]*FilterCoeff[15 - j];
QChanel[i - 15] = DoubleTemp1;
alex_os
Цитата(Fast @ Dec 23 2011, 06:52) *
у Петрова есть. рабочая модель на симулинке. кажется по Незами. искать.
у меня тоже есть, но не по незами, оптимизирована в составе дема и выдерать ее из контекста смысл нет

мне в этой схеме непонятна операция mod(2пи) , когда с выхода арктангенса и так всегда +/- пи


Вроде после арктангенса фаза умножается на M (наверное это индекс модуляции) и что бы привести фазу к интервалу
[0..2pi] этот модуль нарисовали.
beaRTS
Цитата(optimus @ Dec 22 2011, 08:03) *
алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже.

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла

а что за Незами??? Гугл молчит, на сайте Твирпекс обычно всего много, а данное слово не нашел. Подскажите, пожалуйста, ссылку, сайт, сам файл, может, кто выложит
Serg76
здесь
beaRTS
спасибо! окунусь на выходных
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.