Перейти к содержанию
    

Модель ФАПЧ matlab

Доброго времени суток.

На основе литературы я составил для начало простую модель ФАПЧ на нулевой частоте, зависающую только от расстройки ( разности частот генераторов )

 

Написал простую модель на matlab для закрепления теории и дальнейшего усложнения (см. приложение). Коротко о модели: модель построена на нулевой частоте и зависит только от разности частот и полосы удержания (входные параметры). При исследовании полос удержания и захвата появляется ошибка следующего вида.

Исследую полосу удержания. Начальные условия - частоты генераторов равны (ГУН и эталонного т.е. расстройка по частоте 0 ). Меняю расстройку от малых значений до больших , пока система не выйдет из синхронизма. На графике 1 проиллюстрированы мгновенные значения частоты. Видно, что есть ошибка. Система вошла в синхроннизм, но графики частот не совпадают. и отличаются на некий коэффициент (наклон прямой на 2 ).

 

Аналогичная картина, при исследовании полосы захвата. Меняя расстройку от больших к малым значениям , ищу точку входа системы в синхронизм. По графикам (см. прил. 2) частоты опять различны...и снова та же ошибка..если построить кривую с другим наклоном, то все хорошо . Откуда берется эта другая кривая....в идеале , как я думаю, около отсчета 8*10^4 частоты станут равными (синий график и красный) и после переходного процесса система в этой точке должна войти в синхронизм, а она входит в непонятной мне точке и выходит , хотя я моделирую до расстройки 0 , т.е. еще в полосе удержания.

 

 

Мне не понятно, где я так косячу...может кто-то заметит ошибку?

 

код .....Комменты есть...

%>   @brief     ФАПЧ с передаточной характеристикой фильтра равной 1
%>   @param     [in] - inputArray, разность частот в герцах, вектор
%>   @param     [in] - pass      , полоса удержания системы ФАПЧ в герцах
%>   @details   тестовая программная модель исследования ФАПЧ первого
%>              порядка. Допущены следующие упрощения. Коэффициент передачи
%>              фильтра равен 1, ФД реализован без перемножения
%>   @return    frq -   частота круговая в радианах 
%>   @return    nco -   фаза ГУН
%>   @return    control - выход с управляющего элемента
%>   @return    filter - вместо фильтра усилитель компенсирующий 1/2 ФД
%>   @note      Пример вызова 
%>              [frq,nco, control, filter, match] = test_frst (ones( 1 , 80000) * 502, 7);


function  [frq,control, filter, match] = test_frst_p ( inputArray, pass)

Fs  = 1E4;          % частота дискретизации
Ts  = 1/Fs;         % период дискретизации
Fnco= 0;            % Частота Генератора

% коэффициенты
Kf = 2;                   % Коэффициент передачи ФД
Scu = ( pass )*2*pi   % Коэфициент передачи управляющего элемента
F = Ts/2;              % Коэфф.интегратора

% Начальные условия 
phaseDetector(1) = 0;
filter(1) = 0;
control(1) = 0;
match(1) = 0;
%

for n = 2 : length( inputArray )
   phaseDetector(n) = Kf* 1/2 * cos ( 2*pi*inputArray(n)*(n)*Ts - control( n -1 ) ); %фазовый детектор
   filter(n)       = phaseDetector(n);                           %фильтр 
   control(n)      = F*Scu*2*( filter(n)  )+control(n-1);  % интегратор (управляющий элемент)
   %------------ для графиков переменные
   match(n)        = 2*pi*inputArray(n)*(n)*Ts - control(n -1); % разность частот 
   %эталонного и частоты генератора + управляющего расстройка
   frq(n) =  Fnco*2*pi + Scu*filter (n);   %частота ГУН
end

 

вызов функции в командной строке:

[frq, control, filter, match] = test_frst_p ( -10:0.0001:0, 2 );
% -10:0.0001:0 - вектор частот в герцах
%2 полоса в герцах

 

 

т.е. ошибка такая. Система входит синхронизм не в тех точках и так же выходит .....

post-88917-1469707857_thumb.jpg

post-88917-1469707890_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видно, что есть ошибка. Система вошла в синхроннизм, но графики частот не совпадают. и отличаются на некий коэффициент (наклон прямой на 2 ).

 

Не очень наглядно, в матлаб получше инструменты есть. Если ФАПЧ 1-го порядка с одним интегратором, то она без ошибки может отслеживать лишь ступенчатое воздействие, т. е. скачёк фазы, скачёк частоты - линейное воздействие будет с константной ошибкой, изменение частоты - квадратичное воздействие будет отслеживаться c линейной ошибкой.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Написал простую модель на matlab для закрепления теории и дальнейшего усложнения (см. приложение). Коротко о модели: модель построена на нулевой частоте и зависит только от разности частот и полосы удержания (входные параметры). При исследовании полос удержания и захвата появляется ошибка следующего вида.

Исследую полосу удержания. Начальные условия - частоты генераторов равны (ГУН и эталонного т.е. расстройка по частоте 0 ). Меняю расстройку от малых значений до больших , пока система не выйдет из синхронизма. На графике 1 проиллюстрированы мгновенные значения частоты. Видно, что есть ошибка. Система вошла в синхроннизм, но графики частот не совпадают. и отличаются на некий коэффициент (наклон прямой на 2 ).

лень код смотреть.

Порядок петли какой?

Разберитесь сначала почему есть ошибка при наличии синхронизации. Уберите движение частоты, пусть будет статический режим, но введите начальную ошибку (по фазе только, если ФАПЧ 1 го порядка, по частоте, если 2го). Через время, определяемой полосой должен настать синхронизм. Оценка частоты в петле совпадает с той частотой что в сигнале? Если нет - проблема. Что при этом в дискриминаторе? Должен быть 0.

 

Апдейт.

Судя по комментариям ФАПЧ первого порядка. Она следит за частотой с постоянной ошибкой. Она не отслеживает частоту, она отслеживает фазу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...