|
Цифровой ФАПЧ по Незами, Реализация алгоритма |
|
|
|
Dec 22 2011, 04:03
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-02-11
Пользователь №: 62 754

|
народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается
Unit1.txt ( 4.28 килобайт )
Кол-во скачиваний: 366
|
|
|
|
|
Dec 22 2011, 12:23
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-02-11
Пользователь №: 62 754

|
Цитата(des00 @ Dec 22 2011, 14:24)  если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс. Т.е. Фаза = 2*pi*(f+Фи)*Ts вместо Фаза = 2*pi*f*Ts + Фи?
|
|
|
|
|
Dec 22 2011, 12:35
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(des00 @ Dec 22 2011, 15:24)  если мне память не изменяет, и судить по незами (надпись на рисунке AFC), то это АПЧ. сняли молуляцию с BPSK/QPSK и измерили частоту через тангенс. вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ
|
|
|
|
|
Dec 22 2011, 12:39
|
Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639

|
Цитата(optimus @ Dec 22 2011, 07:03)  народ кто-нибудь реализовывал алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже. Пробовал построить модель на С с входным сигналом синуса - частота не захватывается. Файл с сишным кодом прикладывается А чего вас, молодежь, так тянет на импортные источники, в родном гос-ве уже книги перестали издавать? Кстати сказать, схема на рисунке не рабочая: в нижней ветви петлевого фильтра стрелки явно куда-то не туда смотрят  А по вашей программке, ну, начнем с того, где ФНЧ после умножителей? Я вижу вот это: I[MsCount] += Signal[i]*sin(Faza); Q[MsCount] += Signal[i]*cos(Faza); и далее (в цикле) Atan = fmod(atan(Q[MsCount]/I[MsCount]),2.*M_PI); А ФНЧ-то где? Кстати, на схеме действительно АПЧ, но в основе лежит именно ФАПЧ, т.к. система (очевидно) с астатизмом I порядка, следовательно, будет следить с точностью до начальной фазы.
|
|
|
|
|
Dec 22 2011, 12:51
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Kluwert @ Dec 22 2011, 06:39)  А по вашей программке, ну, начнем с того, где ФНЧ после умножителей? LPF = Low Pass Filter Цитата(Fast @ Dec 22 2011, 06:35)  вроде как арктангенсом выделяют текущую фазу. и схема, соотв., ФАПЧ глянул незами, да это ФАПЧ, АПЧ по другому делается %)
--------------------
|
|
|
|
|
Dec 22 2011, 12:56
|
Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639

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

Группа: Участник
Сообщений: 45
Регистрация: 5-06-07
Пользователь №: 28 207

|
Цитата(Kluwert @ Dec 22 2011, 15:56)  Спасибо, я знаю, что такое LPF  Я имею в виду где он в программе реализован. Я вижу только вот такое странное накопление 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, который там изображен, не нужен, проверено. так ни у кого нет работающего программного ФАПЧ?
Сообщение отредактировал AlexeyT - Dec 22 2011, 16:14
|
|
|
|
|
Dec 23 2011, 04:36
|
Группа: Новичок
Сообщений: 3
Регистрация: 7-02-11
Пользователь №: 62 754

|
Цитата(Kluwert @ Dec 22 2011, 15:56)  Спасибо, я знаю, что такое LPF  Я имею в виду где он в программе реализован. Я вижу только вот такое странное накопление 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;
|
|
|
|
|
Dec 23 2011, 06:45
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Fast @ Dec 23 2011, 06:52)  у Петрова есть. рабочая модель на симулинке. кажется по Незами. искать. у меня тоже есть, но не по незами, оптимизирована в составе дема и выдерать ее из контекста смысл нет
мне в этой схеме непонятна операция mod(2пи) , когда с выхода арктангенса и так всегда +/- пи Вроде после арктангенса фаза умножается на M (наверное это индекс модуляции) и что бы привести фазу к интервалу [0..2pi] этот модуль нарисовали.
--------------------
ну не художники мы...
|
|
|
|
|
May 29 2012, 09:16
|
Местный
  
Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111

|
Цитата(optimus @ Dec 22 2011, 08:03)  алгоритм классического цифрового ФАПЧ из Незами (глава 3.9). Схема представлена ниже.
Unit1.txt ( 4.28 килобайт )
Кол-во скачиваний: 366а что за Незами??? Гугл молчит, на сайте Твирпекс обычно всего много, а данное слово не нашел. Подскажите, пожалуйста, ссылку, сайт, сам файл, может, кто выложит
Сообщение отредактировал beaRTS - May 29 2012, 09:17
--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|