Jump to content

    

Цифровой ФАПЧ по Незами

народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается

 

post-62754-1324526280_thumb.jpg

 

Unit1.txt

Share this post


Link to post
Share on other sites

1. это не фапч, а АПЧ

2. возьмите симулинк, он нагляднее. модель работчая.

Share this post


Link to post
Share on other sites
1. это не фапч, а АПЧ

 

Разве это не ФАПЧ 2-го порядка и неудачный рисунок?

Share this post


Link to post
Share on other sites
Разве это не ФАПЧ 2-го порядка и неудачный рисунок?

если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.

Share this post


Link to post
Share on other sites
если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.

 

Т.е. Фаза = 2*pi*(f+Фи)*Ts вместо Фаза = 2*pi*f*Ts + Фи?

Share this post


Link to post
Share on other sites
если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс.
вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ

 

Share this post


Link to post
Share on other sites
народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается

 

А чего вас, молодежь, так тянет на импортные источники, в родном гос-ве уже книги перестали издавать?

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

 

А по вашей программке, ну, начнем с того, где ФНЧ после умножителей? Я вижу вот это:

I[MsCount] += Signal*sin(Faza);

Q[MsCount] += Signal*cos(Faza);

и далее (в цикле)

Atan = fmod(atan(Q[MsCount]/I[MsCount]),2.*M_PI);

А ФНЧ-то где?

 

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

Share this post


Link to post
Share on other sites
А по вашей программке, ну, начнем с того, где ФНЧ после умножителей?

LPF = Low Pass Filter

 

 

вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ

глянул незами, да это ФАПЧ, АПЧ по другому делается %)

Share this post


Link to post
Share on other sites
Кстати, на схеме действительно АПЧ, но в основе лежит именно ФАПЧ, т.к. система (очевидно) с астатизмом I порядка, следовательно, будет следить с точностью до начальной фазы.

 

2-го, два интегратора в петле, без ошибок в установившемся режиме отслеживает скачёк частоты(линейно изменяющуюся фазу)

 

Share this post


Link to post
Share on other sites
LPF = Low Pass Filter

Спасибо, я знаю, что такое LPF :) Я имею в виду где он в программе реализован.

Я вижу только вот такое странное накопление

I[MsCount] += Signal*sin(Faza);

с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i.

 

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

Share this post


Link to post
Share on other sites
Спасибо, я знаю, что такое LPF :) Я имею в виду где он в программе реализован.

Я вижу только вот такое странное накопление

I[MsCount] += Signal*sin(Faza);

с длиной аж SignalLength, причем слева индексируется переменной MsCount, а справа - i.

 

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

 

 

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

 

Т.е. в течение 1 миллисекунды происходит накопление

I[MsCount] += Signal*sin(Faza);

Q[MsCount] += Signal*cos(Faza);

 

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

 

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

 

так ни у кого нет работающего программного ФАПЧ?

Edited by AlexeyT

Share this post


Link to post
Share on other sites

у Петрова есть. рабочая модель на симулинке. кажется по Незами. искать.

у меня тоже есть, но не по незами, оптимизирована в составе дема и выдерать ее из контекста смысл нет

 

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

Share this post


Link to post
Share on other sites
Спасибо, я знаю, что такое LPF :) Я имею в виду где он в программе реализован.

Я вижу только вот такое странное накопление

I[MsCount] += Signal*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;

Share this post


Link to post
Share on other sites
у Петрова есть. рабочая модель на симулинке. кажется по Незами. искать.

у меня тоже есть, но не по незами, оптимизирована в составе дема и выдерать ее из контекста смысл нет

 

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

 

Вроде после арктангенса фаза умножается на M (наверное это индекс модуляции) и что бы привести фазу к интервалу

[0..2pi] этот модуль нарисовали.

Share this post


Link to post
Share on other sites
алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже.

 

post-62754-1324526280_thumb.jpg

 

Unit1.txt

а что за Незами??? Гугл молчит, на сайте Твирпекс обычно всего много, а данное слово не нашел. Подскажите, пожалуйста, ссылку, сайт, сам файл, может, кто выложит

Edited by beaRTS

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this