Дискриминатор частоты с временным сдвигом квадратурных компонент — различия между версиями
Dneprov (обсуждение | вклад) |
Dneprov (обсуждение | вклад) |
||
Строка 34: | Строка 34: | ||
В модели задержка сигнала полагалась известной: <math>\rho(\varepsilon_{\tau,k}), \rho(\varepsilon_{\tau,k-1}) = 1</math>. | В модели задержка сигнала полагалась известной: <math>\rho(\varepsilon_{\tau,k}), \rho(\varepsilon_{\tau,k-1}) = 1</math>. | ||
+ | |||
+ | |||
+ | Дискриминационная характеристика при различных временах накопления: | ||
+ | <center><gallery mode="packed" widths="400px" heights="400px"> | ||
+ | Файл:20151028_DhChd_new.png|Дискриминационная характеристика при T=1 мс | ||
+ | Файл:20151028_DhChd_newT5ms.png|Дискриминационная характеристика при T=5 мс | ||
+ | </gallery></center> | ||
+ | |||
+ | == Флуктуационная характеристика == | ||
+ | |||
+ | Получены зависимости СКО шума на выходе дискриминатора от <math>q_{c/n_0}</math> для различных времен накопления. Теоретические кривые пунктирной линией. | ||
+ | |||
+ | [[File:20132504 CKO(q,T) ChD.png|300x300px|frame|center|]] <br /> | ||
+ | |||
+ | Дисперсия эквивалентных шумов на '''входе''' дискриминатора при нулевой расстройке <br /> | ||
+ | |||
+ | <math>D_{\widetilde{\eta}_\omega} = \frac{1}{q_{c/n_0}T^3}(1+\frac{1}{2q_{c/n_0}T}).</math> | ||
+ | |||
+ | Интересно сравнить дисперсию шумов на входе у разных дискриминаторов. На данный момент у нас есть | ||
+ | |||
+ | == Листинг модели == | ||
+ | Ниже представлен листинг модели, с которой сняты картинки. | ||
{{Hider | {{Hider | ||
|title = Листинг модели | |title = Листинг модели | ||
Строка 163: | Строка 185: | ||
|hidden = yes | |hidden = yes | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Категория:Дискриминаторы]] | [[Категория:Дискриминаторы]] | ||
[[Категория:Оценивание частоты]] | [[Категория:Оценивание частоты]] |
Версия 17:40, 29 октября 2015
Содержание |
Описание дискриминатора
Дискриминатор использует отсчеты коррелятора с текущего и предыдущего такта работы.
,
где
,
,
,
.
Особенности работы
Отметим, что возможна различная интерпретация работы дискриминатора. На рисунке представлено два возможных варианта, условно названных "Перекрытие" и "Перекрытие отсутствует". Поясним рисунок. Пусть в некоторый момент времени доступны отсчеты с выхода коррелятора и отсчеты из предыдущей эпохи . На их основе можно сформировать отсчет дискриминатора . Далее возможны варианты. В случае, если работа идет с "перекрытием", следующий отсчет дискриминатора будет сформирован из новых отсчетов коррелятора и уже использованных в предыдущем шаге . Таким образом, каждое вычисление отсчета дискриминатора использует отсчеты коррелятора, уже использованные в расчете предыдущего значения дискриминатора. Поэтому шум выхода дискриминатора в данном случае оказывается коррелированным, а его СПМ отличается от СПМ белого шума. В случае работы без "перекрытия" для расчета соседних значений выхода дискриминатора каждый раз используются разные корреляционные суммы. В этом случае, шум дискриминатора будет некорреллированным с равномерной СПМ. Однако, темп работы такого дискриминатора ниже в 2 раза: ему нужно "дождаться" следующей пары отсчетов.
Формулы для крутизны и дисперсии шумов на выходе/входе ЧД (приведены далее) позволяют моделировать его в виде стат. эквивалента
, где
Стоит отметить, что моделирование по этим формулам нужно проводить для случая "перекрытие отсутствует", т. к. в случае с "перекрытием" необходимо будет моделировать корреллированность шумов во временных отсчетах дискриминатора.
Дискриминационная характеристика
Сделано допущение, что .
где , - амплитуда сигнала , - количество отчетов, накапливаемых в корреляторе, - разность истинного и опорного параметров.
Крутизна дискриминационной характеристики .
В модели задержка сигнала полагалась известной: .
Дискриминационная характеристика при различных временах накопления:
Флуктуационная характеристика
Получены зависимости СКО шума на выходе дискриминатора от для различных времен накопления. Теоретические кривые пунктирной линией.
Дисперсия эквивалентных шумов на входе дискриминатора при нулевой расстройке
Интересно сравнить дисперсию шумов на входе у разных дискриминаторов. На данный момент у нас есть
Листинг модели
Ниже представлен листинг модели, с которой сняты картинки.
clc
close all
plotDX = 1; %считаем ДХ
plotFX = 0; %считаем дисперсию шумов
if plotDX
N = 3000;
stdn_IQ = 8;
Tc = 0.005;
qcno_dB = 45;
qcno = 10^(qcno_dB/10);
wdop_real = 2*pi*100;
wdop_oporn = [wdop_real-2*pi*(1/Tc):2*pi*(2/Tc)/500:wdop_real + 2*pi*(1/Tc)];
UdFLL = zeros(1, length(wdop_oporn));
A_IQ = stdn_IQ * sqrt(2 * qcno * Tc);
Sd = A_IQ^2*Tc;
for k = 1:N
for j = 1:length(wdop_oporn)
n_I_old = 1*stdn_IQ * randn(1,1);
n_I = 1*stdn_IQ * randn(1,1);
n_Q_old = 1*stdn_IQ * randn(1,1);
n_Q = 1*stdn_IQ * randn(1,1);
phi_real = [pi/3 pi/3 + Tc*wdop_real(1)];
phi_oporn =[pi/4 pi/4 + Tc*wdop_oporn(j)];
m_I_old = A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*cos(phi_real(1) - phi_oporn(1) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_I = A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*cos(phi_real(2) - phi_oporn(2) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_Q_old = - A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*sin(phi_real(1) - phi_oporn(1) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_Q = - A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*sin(phi_real(2) - phi_oporn(2) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
I_old = m_I_old + n_I_old;
I = m_I + n_I;
Q_old = m_Q_old + n_Q_old;
Q = m_Q + n_Q;
UdFLL(1, j) = UdFLL(1,j) + I*Q_old - Q*I_old;
end
if ~mod(k, N/10)
fprintf('Progress %d%%\n', k*100/N)
end
end
UdFLL_mean = A_IQ^2*(sinc((wdop_real(1)-wdop_oporn)*Tc/2 /pi)).^2.*sin((wdop_real(1)-wdop_oporn)*Tc);
UdFLL = UdFLL/N;
figure
plot((wdop_real-wdop_oporn)/2/pi,[UdFLL; UdFLL_mean; Sd*(wdop_real-wdop_oporn)]);
ylim([1.1*min(UdFLL_mean) 1.1*max(UdFLL_mean)])
grid on;
xlabel('\Delta f, Гц')
ylabel('M[u_{Д}]')
title(['q = ' num2str(qcno_dB) ' дБГц, T = ' num2str(Tc) ' c'])
end
if plotFX
N = 5000;
stdn_IQ = 8;
Tc = 0.02;
qcno_dB = [10:1:50];
wdop_real = [2*pi*100];
wdop_oporn = [2*pi*100];
D_etta_FLL = zeros(1,length(qcno_dB));
CKO_etta_FLL_teor = nan(1,length(qcno_dB));
for i = 1:length(qcno_dB)
fprintf('qcno_dB = %.0f\n', qcno_dB(i));
qcno = 10^(qcno_dB(i)/10);
A_IQ = stdn_IQ * sqrt(2 * qcno * Tc);
UdFLL = nan(1, N);
for k = 1:N
for j = 1:length(wdop_oporn)
n_I_old = 1*stdn_IQ * randn(1,1);
n_I = 1*stdn_IQ * randn(1,1);
n_Q_old = 1*stdn_IQ * randn(1,1);
n_Q = 1*stdn_IQ * randn(1,1);
phi_real = [pi/3 pi/3 + Tc*wdop_real(1)];
phi_oporn =[pi/4 pi/4 + Tc*wdop_oporn(j)];
m_I_old = A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*cos(phi_real(1) - phi_oporn(1) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_I = A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*cos(phi_real(2) - phi_oporn(2) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_Q_old = - A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*sin(phi_real(1) - phi_oporn(1) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
m_Q = - A_IQ * sinc((wdop_real(1)-wdop_oporn(j))*Tc/2 /pi)*sin(phi_real(2) - phi_oporn(2) + (wdop_real(1)-wdop_oporn(j))*Tc/2);
I_old = m_I_old + n_I_old;
I = m_I + n_I;
Q_old = m_Q_old + n_Q_old;
Q = m_Q + n_Q;
UdFLL(1, k) = I*Q_old - Q*I_old;
end
end
D_etta_FLL(1,i) = mean((UdFLL - mean(UdFLL)).^2);
CKO_etta_FLL(1,i) = sqrt(D_etta_FLL(1,i));
CKO_etta_FLL_teor(1,i) = sqrt((A_IQ^2*Tc)^2*(1/(qcno*Tc^3))*(1 + 1/(2*qcno*Tc)));
end
figure
plot(qcno_dB, CKO_etta_FLL, 'r*', qcno_dB, CKO_etta_FLL_teor, 'g')
xlabel('q_c/n0, дБГц')
ylabel('\sigma_{вых} ЧД')
grid on
end