Модель статистических эквивалентов квадратурных сумм
Материал из SRNS
Модель статистических эквивалентов квадратурных сумм | |
---|---|
Описание | Модель расчета стат. эквивалентов коррелятора |
Автор(ы) | Korogodin (Korogodinобсуждение) |
Последняя версия | 1.0 (12.10.2011) |
Загрузить | no link |
Хранилище | no link |
Категории | Коррелятор |
Описание модели
Расчет статистических эквивалентов в Matlab.
Листинг
Tc = 0.001; % Интервал накопления в корреляторе, s
qcno_dB = 45; % Отношение сигнал/шум, dBHz
stdn_IQ = 8; % СКО шума квадратур
nI = stdn_IQ*randn(1,1); % // I-comp noise
nQ = stdn_IQ*randn(1,1); % // Q-comp noise
% EpsTau - расстройка по задержке
% EpsW - расстройка по частоте на начальный момент накопления
% EpsPhi - расстройка по фазе на начальный момент накопления
[A_IQ qcno] = qcno_change(qcno_dB, stdn_IQ(k), Tc);
A_IQ_eff(k) = A_IQ(k)*sinc(EpsW*Tc/2 /pi)*ro(EpsTau);
mI = A_IQ_eff(k) * cos(EpsW*Tc/2 + EpsPhi);
mQ = - A_IQ_eff(k) * sin(EpsW*Tc/2 + EpsPhi);
I = mI + nI;
Q = mQ + nQ;
qcno_dB = 45; % Отношение сигнал/шум, dBHz
stdn_IQ = 8; % СКО шума квадратур
nI = stdn_IQ*randn(1,1); % // I-comp noise
nQ = stdn_IQ*randn(1,1); % // Q-comp noise
% EpsTau - расстройка по задержке
% EpsW - расстройка по частоте на начальный момент накопления
% EpsPhi - расстройка по фазе на начальный момент накопления
[A_IQ qcno] = qcno_change(qcno_dB, stdn_IQ(k), Tc);
A_IQ_eff(k) = A_IQ(k)*sinc(EpsW*Tc/2 /pi)*ro(EpsTau);
mI = A_IQ_eff(k) * cos(EpsW*Tc/2 + EpsPhi);
mQ = - A_IQ_eff(k) * sin(EpsW*Tc/2 + EpsPhi);
I = mI + nI;
Q = mQ + nQ;
Где функция qcno_change
:
%/**
%Расчет амплитуды квадратур для статистических эквивалентов
%@param qcno_dB - отношение qcno = Ps/No в дБГц
%@param stdn_IQ - СКО шума квадратур
%@param Tc - интервал когерентного накопления
%*/
function [A_IQ qcno] = qcno_change(qcno_dB, stdn_IQ, Tc)
qcno = 10.^(qcno_dB/10);
A_IQ = stdn_IQ .* sqrt(2 * qcno * Tc);
end
%Расчет амплитуды квадратур для статистических эквивалентов
%@param qcno_dB - отношение qcno = Ps/No в дБГц
%@param stdn_IQ - СКО шума квадратур
%@param Tc - интервал когерентного накопления
%*/
function [A_IQ qcno] = qcno_change(qcno_dB, stdn_IQ, Tc)
qcno = 10.^(qcno_dB/10);
A_IQ = stdn_IQ .* sqrt(2 * qcno * Tc);
end
Функция ro
:
%/**
%Вычисление значения автокорреляционной функции ДК
%@param x - рассогласование по задержке в тех же единицах, в которых задана глобальная переменная TauChip (длительность одного чипа ДК)
%*/
function f=ro(x)
global TauChip
f = (abs(x) < TauChip).*(1 - abs(x)/TauChip);
end
%Вычисление значения автокорреляционной функции ДК
%@param x - рассогласование по задержке в тех же единицах, в которых задана глобальная переменная TauChip (длительность одного чипа ДК)
%*/
function f=ro(x)
global TauChip
f = (abs(x) < TauChip).*(1 - abs(x)/TauChip);
end