KVkanal
(Расчет параметров для моделирования КВ радиоканала)
Исходный код программы
clc; clear; close all;
% расчет отношения сигнал/шум на входе приемника в КВ диапазоне
% ввод исходных данных
D=2600; % км – дальность связи
f=11.75; % МГц – рабочая частота
Ec=1.28; % мкВ/м – напряженность поля сигнала в точке приема
a=7.1; % град. – угол прихода сигнала
A=2; % применяемая антенна: A=1 – ближе к полуволновому вибратору; A=2 – ближе к волновому вибратору.
Tp=300; % град. К – абсолютная температура входных цепей приемника
Ta=40; % град. К – эффективная температура антенны
df=3000; % Гц – полоса пропускания приемника (тракта ПЧ)
dU=1; % мкВ – чувствительность приемника
Fama=45; % дБ – медианное значение коэффициента атмосферного шума
dFama=6; % дБ – стандартное отклонение Fama
A0=3; % дБ – превышение напряжения огибающей над медианным значением
M=1; % категория среды в месте приема: 1 – жилой район, 2 – сельская местность.
Ra=300; % Ом – волновое сопротивление антенны
Rf=200; % Ом – волновое сопротивление фидера
% решение задачи
k=1.38e-23; % дж/град. – постоянная Больцмана
l=300/f; % длина волны излучения
a1=a*pi/180; % рад. – угол прихода сигнала
if A==1
F=2*sin(pi*sin(a1)); % функция направленности для полуволновой антенны ВГД в вертикальной плоскости
Fmax=2; % максимальное значение диаграммы направленности
Kp=8; % коэффициент пересчета мощности помехи из эквивалентной антенны в реальную
Ap=' (антенна полуволновой вибратор) ';
else
F=4*sin(pi*sin(a1)); % функция направленности для волновой антенны ВГД в вертикальной плоскости
Fmax=4; % максимальное значение диаграммы направленности
Kp=80; % коэффициент пересчета мощности помехи из эквивалентной антенны в реальную
Ap=' (антенна волновой вибратор) ';
end
hd=l*Fmax/pi; % действующая высота симметричного вибратора
hde=l/pi; % действующая высота эквивалентной антенны
% расчет мощности сигнала
Ea=Ec*hd*F; % мкВ – эдс сигнала, наводимая в антенне
U=Ea*Rf/(Ra+Rf); % мкВ – амплитуда входного сигнала
P=U^2/Rf; % мкВт – мощность входного сигнала
% тепловой шум
Pha=4e6*k*Ta*df; % мкВт – мощность шума антенны
Php=4e6*k*Tp*df; % мкВт – мощность шума входных цепей приемника
Ph=Pha+Php; % мкВт – мощность теплового шума на входе приемника
% эфирный шум (атмосферные помехи)
Faa=Fama+dFama; % дБ – коэффициент атмосферного шума
Epd=Faa+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – напряженность поля помехи в точке приема для заданного df
Epm=10^(Epd/20); % мкВ/м – медианное изначение напряженности поля помехи в точке приема
ka=10^(A0/20); % коэффициент
Ep=Epm*(1+ka); % действующее изначение напряженности поля помехи в точке приема
Epa=Ep*hde; % мкВ – эдс помехи, наводимая в эквивалентной антенне
Upa=Kp^(1/2)*Epa*Rf/(Ra+Rf); % мкВ – амплитуда атмосферной помехи на выходе реальной антенны
Upam=Upa/(1+ka); % медианное изначение напряжения атмосферной помехи на выходе реальной антенны
siga=Upam*ka; % стандартное отклонение напряжения атмосферной помехи на выходе реальной антенны от медианного значения
sigax=2*siga; % стандартное отклонение моделируемого процесса с нормальным распределением
moax=4*(Upam-siga/(2*pi)^(1/2)); % мат. ожидание моделируемого процесса
Pap=Upa^2/Rf; % мкВт – мощность атмосферной помехи
Pp=(Ph+Pap); % мкВт – мощность атмосферной и тепловой помех на входе приемника
h02a=P/Pp; % раз отношение с/ш на входе приемника
Pad=10*log10(Pp/P); % дБ требуемый уровень помехи относительно сигнала для имитации канала связи
L=D/cos(a1); % км – длина пути луча
t=L/300; % сек. – время прохождения пути
disp([' Входной сигнал', Ap]);
disp(['U=', num2str(U),' мкВ (амплитуда входного сигнала)']);
disp(['P=', num2str(P),' мкВт (мощность входного сигнала)']);
disp(['Ph=', num2str(Ph),' мкВт (мощность тепловой помехи)']);
disp(['L=', num2str(L),' км (длина пути, пройденного лучем)']);
disp(['t=', num2str(t),' мсек. (время прохождения пути)']);
disp(' Атмосферная помеха. Логнормальное распределение.');
disp(['Pap=', num2str(Pap),' мкВт (мощность атмосферной помехи)']);
disp(['h02a=', num2str(h02a),' раз (отношение с/ш)']);
if U<dU
disp([' Амплитуда входного сигнала меньше чувствительности приемника']);
else
disp(['sigax=', num2str(sigax),' (требуемое стандартное отклонение моделируемого процесса)']);
disp(['moax=', num2str(moax),' (требуемое мат. ожидание моделируемого процесса)']);
disp(['Pad=', num2str(Pad),' дБ (требуемая мощность атмосферной помехи относительно мощности входного сигнала для имитации канала связи)']);
end
% галактический шум
if f>10 || f==10
Famg=52.25-10.296*log(f); % дБ – медианное значение коэффициента галактического шума
dFamg=1.56;
Fag=Famg+1.56; % дБ – коэффициент галактического шума
Epgd=Fag+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – напряженность поля помехи в точке приема для заданного df
Epgm=Famg+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – медианное значение напряженности поля помехи в точке приема для заданного df
dEpg=dFamg+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – стандортное отклонение от медианного значения напряженности поля помехи в точке приема для заданного df
kg=10^(dEpg/20)/10^(Epgm/20); % коэффициент
Epg=10^(Epgd/20); % мкВ/м – напряженность поля помехи в точке приема
Epga=Epg*hde; % мкВ – эдс помехи, наводимая в эквивалентной антенне
Upg=Kp^(1/2)*Epga*Rf/(Ra+Rf); % мкВ – амплитуда галактической помехи на выходе реальной антенны
Ppg=Upg^2/Rf; % мкВт – мощность галактической помехи
Upgm=Upg/(1+kg); % медианное изначение напряжения галактической помехи на выходе реальной антенны
sigg=Upgm*kg; % стандартное отклонение напряжения галактической помехи на выходе реальной антенны от медианного значения
siggx=2*sigg; % стандартное отклонение моделируемого процесса с нормальным распределением
mogx=4*(Upgm-sigg/(2*pi)^(1/2)); % мат. ожидание моделируемого процесса
h02g=P/Ppg; % раз отношение с/ш на входе приемника
Pgd=10*log(1/h02g); % дБ требуемый уровень помехи относительно сигнала для имитации канала связи
disp(' Галактический шум. Нормальное распределение.');
disp(['Ppg=', num2str(Ppg),' мкВт (мощность галактической помехи)']);
disp(['h02g=', num2str(h02g),' раз (отношение с/ш)']);
disp(['siggx=', num2str(siggx),' (требуемое стандартное отклонение моделируемого процесса)']);
disp(['mogx=', num2str(mogx),' (требуемое мат. ожидание моделируемого процесса)']);
disp(['Pgd=', num2str(Pgd),' дБ (требуемая мощность галактической помехи относительно мощности входного сигнала для имитации канала связи)']);
else
Ppg=0;
Famg=0;
dFamg=0;
disp(['Ppg=', num2str(Ppg),' ( галактическая помеха отсутствует)']);
end
% промышленный шум
if M==1
Famp=71.52-11.987*log(f); % дБ – медианное значение коэффициента промышленного шума для жилого района
dFamp=8.18; % дБ – стандартное отклонение коэффициента промышленного шума для жилого района
Fap=Famp+8.18; % дБ – коэффициент промышленного шума для жилого района
Mp=' (жилой район) ';
elseif M==2
Famp=66.19-11.987*log(f); % дБ – медианное значение коэффициента промышленного шума для сельской местности
dFamp=7.27; % дБ – стандартное отклонение коэффициента промышленного шума для сельской местности
Fap=Famp+7.27; % дБ – коэффициент промышленного шума для сельской местности
Mp=' (сельская местность) ';
end
Eppd=Fap+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – напряженность поля помехи в точке приема для заданного df
Eppm=Famp+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – медианное значение напряженности поля помехи в точке приема для заданного df
dEpp=dFamp+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – стандортное отклонение от медианного значения напряженности поля помехи в точке приема для заданного df
kp=10^(dEpp/20)/10^(Eppm/20); % коэффициент
Epp=10^(Eppd/20); % мкВ/м – напряженность поля помехи в точке приема
Eppa=Epp*hde; % мкВ – эдс помехи, наводимая в эквивалентной антенне
Upp=Kp^(1/2)*Eppa*Rf/(Ra+Rf); % мкВ – амплитуда промышленной помехи на выходе реальной антенны
Ppp=Upp^2/Rf; % мкВт – мощность промышленной помехи
Uppm=Upp/(1+kp); % медианное изначение напряжения промышленной помехи на выходе реальной антенны
sigp=Uppm*kp; % стандартное отклонение напряжения промышленной помехи на выходе реальной антенны от медианного значения
sigpx=2*sigp; % стандартное отклонение моделируемого процесса с нормальным распределением
mopx=4*(Uppm-sigp/(2*pi)^(1/2)); % мат. ожидание моделируемого процесса
h02p=P/Ppp; % раз отношение с/ш на входе приемника
Ppd=10*log10(1/h02p); % дБ требуемый уровень помехи относительно сигнала для имитации канала связи
disp([' Промышленная помеха. Нормальное распределение.', Mp]);
disp(['Ppp=', num2str(Ppp),' мкВт (мощность промышленной помехи)']);
disp(['h02p=', num2str(h02p),' раз (отношение с/ш)']);
disp(['sigpx=', num2str(sigpx),' (требуемое стандартное отклонение моделируемого процесса)']);
disp(['mopx=', num2str(mopx),' (требуемое мат. ожидание моделируемого процесса)']);
disp(['Ppd=', num2str(Ppd),' дБ (требуемая мощность промышленной помехи относительно мощности входного сигнала для имитации канала связи)']);
% суммарная помеха
h02s=P/(Pp+Ppg+Ppp); % раз отношение с/ш на входе приемника по упрощенной формуле
c=4.343;
a1=exp(Fama/c+dFama^2/(2*c^2)); % частные промежуточные коэффициенты
a2=exp(Famg/c+dFamg^2/(2*c^2));
a3=exp(Famp/c+dFamp^2/(2*c^2));
at=a1+a2+a3; % промежуточный коэффициент
bt=a1^2*(exp(dFama^2/(2*c^2))-1)+a2^2*(exp(dFamg^2/(2*c^2))-1)+a3^2*(exp(dFamp^2/(2*c^2))-1); % промежуточный коэффициент
sigmt=c*(log(1+bt/at^2))^1/2; % стандартное отклонение коэффициента шума от медианного значения
Famt=c*(log(at)-sigmt^2/(2*c^2)); % медианное значение коэффициента шума
Fat=Famt+sigmt;% действующее значение коэффициента шума
Eptd=Fat+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – действующее значение напряженности поля помехи в точке приема для заданного df
Eptm=Famt+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – медианное значение напряженности поля помехи в точке приема для заданного df
dEpt=sigmt+20*log10(f)+10*log10(df)-99; % дБ/мкВ/м – стандортное отклонение от медианного значения напряженности поля помехи в точке приема для заданного df
kt=10^(dEpt/20)/10^(Eptm/20); % коэффициент
Ept=10^(Eptd/20); % мкВ/м – действующее значение напряженности поля помехи в точке приема для заданного df
Epta=Ept*hde; % мкВ – эдс суммарной помехи, наводимая в эквивалентной антенне
Upt=Kp^(1/2)*Epta*Rf/(Ra+Rf); % мкВ – амплитуда суммарной помехи на выходе реальной антенны
Ppt=Upt^2/Rf; % мкВт – мощность суммарной помехи
Uptm=Upt/(1+kt); % медианное изначение напряжения суммарной помехи на выходе реальной антенны
sigt=Uptm*kt; % стандартное отклонение напряжения суммарной помехи на выходе реальной антенны от медианного значения
sigtx=sigt; % стандартное отклонение моделируемого процесса с нормальным распределением
motx=2*(Uptm-sigt/(2*pi)^(1/2)); % мат. ожидание моделируемого процесса
h02t=P/Ppt;
Ptd=10*log10(1/h02t); % дБ требуемый уровень помехи относительно сигнала для имитации канала связи
disp(' Суммарная помеха. Полунормальное распределение.');
disp(['h02s=', num2str(h02s),' раз (отношение с/ш по упрощенной формуле)']);
disp(['Ppt=', num2str(Ppt),' мкВт (мощность суммарной помехи)']);
disp(['h02t=', num2str(h02t),' раз (отношение с/ш по формуле для суммарной помехи)']);
disp(['sigtx=', num2str(sigtx),' (требуемое стандартное отклонение моделируемого процесса)']);
disp(['motx=', num2str(motx),' (требуемое мат. ожидание моделируемого процесса)']);
disp(['Ptd=', num2str(Ptd),' дБ (требуемая мощность суммарной помехи относительно мощности входного сигнала для имитации канала связи)']);