Часть четвертую я слушал необычайно долго (по сравнению с предыдущей) и вроде бы уже точно определился в части необходимости «взять перерыв», однако... все же с успехом дослушал ее до конца. И не то что бы «все надоело вконец», просто слегка назрела необходимость «смены жанра», да а тов.Родин все по прежнему курсант и... вроде (несмотря ни на что) ничего (в плане локации происходящего) совсем не меняется...
Как и в частях предыдущих —
подробнее ...
разрыв (конец части третьей и начало части четверной) был посвящен очередному ЧП и (разумеется, кто бы мог подумать)) очередному конфликту с новым начальственным мразматиком в погонах)). Далее еще один (почти уже стандартный) конфликт на пустом месте (с кучей гопников) и дикая куча проблем (по прошествии))
Удивила разве что встреча с «перевоспитавшейся мразью» (в роли сантехника) и вся комичность ситуации «а ля любовник в ванной»)) В остальном же вроде все как всегда, но... ближе к середине все же наступили «долгожданные госы» и выпуск из летного училища... Далее долгие взаимные уговоры (нашего героя) выбрать «место потеплее», но он (разумеется) воспрининял все буквально и решил «сунуться в самое пекло».
Данный выбор хоть и бы сделан «до трагедии» (не буду спойлерить), но (ради справедливости стоит сказать, что) приходится весьма к месту... Новая «локация», новые знакомые (включая начальство) и куча работы (вольно, невольно помогающяя «забыть утрату»). Ну «и на закуску» очередная (почти идиотская) ситуация в которой сам же ГГ (хоть и косвенно, но) виноват (и опять нажравшись с трудом пытается вспомнить происходящее). А неспособность все внятно (и резко) проъяснить сразу — мгновенно помогает получить (на новом месте службы) репутацию «мразоты» и лишь некий намек (на новый роман) несколько скрашивает суровые будни «новоиспеченного лейтенанта».
В конце данной части (как ни странно) никакого происшествия все же нет... поскольку автор (на этот раз) все же решил поделиться некой «весьма радостной» (но весьма ожидаемой) вестью (о передислокации полка, в самое «пекло мира»)).
Часть третья продолжает «уже полюбившийся сериал» в прежней локации «казармы и учебка». Вдумчивого читателя ожидают новые будни «замыленных курсантов», новые интриги сослуживцев и начальства и... новые загадки «прошлого за семью печатями» …
Нет, конечно и во всех предыдущих частях ГГ частенько (и весьма нудно) вспоминал («к месту и без») некую тайну связанную с родственниками своего реципиента». Все это (на мой субъективный взгляд)
подробнее ...
несколько мешало общему ходу повествования, но поскольку (все же) носило весьма эпизодический характер — я собственно даже на заморачивался по данному поводу....
Однако автор (на сей раз) все же не стал «тянуть кота за подробности» и разрешил все эти «невнятные подозрения и домыслы» в некой (пусть и весьма неожиданной) почти шпионской интриге)) Кстати — данный эпизод очень напомнил цикл Сигалаева «Фатальное колесо»... но к чести автора (он все же) продолжил основную тему и не ушел «в никуда».
Далее — «небрежно раздавленная бабочка Бредберри» и рухнувший рейс. Все остальное уже весьма стандартно (хоть и весьма интересно): новые залеты, интриги и особенности взаимоотношения полов «в условиях отсутствия увольнений» и... встреча «новых» и «бывших» подруг ГГ (по принципу «то ничего и пусто, то все не вовремя и густо»)) Плюсом идет «встреча с современником героя» (что понятно сразу, хоть это и подается как-то, как весьма незначительный факт) и свадьма в стиле «колхоз-интертеймент представляет» и «...ах, эта свадьба пела и плясала-а-а-а...» (в стиле тов.П.Барчука см.«Колхоз»)).
Концовка (как в прочем и начало книги) «очередное ЧП» (в небе или не земле). И ведь знаю что что-то обязательно будет... И вроде уже появилось желание «пойти немного отдохнуть» после части третьей... Ан нет!)) Автор самым циничным образом «все же заставил» поставить следующую часть (я то все слушаю в формате аудио) на прослушку. Так что слушаем дальше (благо пока есть «что поесть»))
eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function radiobutton5_Callback(hObject, eventdata, handles)
global tipcan
if get (handles.radiobutton5,'value') == 1
set(handles.radiobutton6,'value',0);
set(handles.uipanel13,'visible','off');
set(handles.uipanel12,'visible','on');
tipcan=2;
end
function radiobutton6_Callback(hObject, eventdata, handles)
global tipcan
if get (handles.radiobutton6,'value') == 1
set(handles.radiobutton5,'value',0);
set(handles.uipanel13,'visible','on');
set(handles.uipanel12,'visible','off');
tipcan=1;
end
function listbox6_Callback(hObject, eventdata, handles)
global Tm
contents = get(hObject,'Value');
switch contents
case 1
Tm=1;
case 2
Tm = 2;
case 3
Tm = 3;
case 4
Tm = 4;
case 5
Tm = 5;
otherwise
end
function listbox6_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function listbox7_Callback(hObject, eventdata, handles)
global kan
contents = get(hObject,'Value');
switch contents
case 1
kan=2;
case 2
kan = 1;
otherwise
end
function listbox7_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function listbox10_Callback(hObject, eventdata, handles)
global Sez
contents = get(hObject,'Value');
switch contents
case 1
Sez=1;
case 2
Sez = 2;
case 3
Sez = 3;
otherwise
end
function listbox10_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function listbox11_Callback(hObject, eventdata, handles)
global Tp
contents = get(hObject,'Value');
switch contents
case 1
Tp=1;
case 2
Tp = 2;
case 3
Tp = 3;
case 4
Tp = 4;
otherwise
end
function listbox11_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function pushbutton1_Callback(hObject, eventdata, handles)
global Pvh1vt
global Lm1z
global Pvh1med
global L2z
global L2
global Pvh2
global h02
global Zap2
global h0t1
global Lz
global h01
global L1
global Zap1
global Rpred
global Lbz
global L0
global Lmz
global Pvh2medvt
global tipcan
global n
global TIPp
global Tm
global kan
global Sez
global Tp
global L0r
global L2med
global Pvh2vt
global m
global h0t2
global Pcht1
global Nk
global Pch2
global Lk
f = str2num(char(get(handles.edit1,'String')))
P=str2num(char(get(handles.edit2,'String'))); Pfr=str2double(char(get(handles.edit3,'String')));
Gr=str2num(char(get(handles.edit4,'String')));
a=str2double(char(get(handles.edit5,'String')));
h=str2num(char(get(handles.edit6,'String')));
Ugr=str2num(char(get(handles.edit7,'String')));
Fe=str2double(char(get(handles.edit8,'String')));
Pfp=str2double(char(get(handles.edit9,'String')));
Gp=str2num(char(get(handles.edit10,'String')));
Ugp=str2num(char(get(handles.edit13,'String')));
dfk=str2num(char(get(handles.edit22,'String')));
nk=str2num(char(get(handles.edit21,'String')));
m=str2num(char(get(handles.edit23,'String')));
V=str2num(char(get(handles.edit24,'String')));
R=150;
dF=40;
Fk=nk*3100-1250;
Po=1e-4;
Tpr=99.0;
if Sez==1
disp('Введите климатические потери для района работы радиолинии в соответствии с картой')
Lk=str2num(char(get(handles.edit14,'String'))) ;
elseif Sez==2
Lk=str2num(char(get(handles.edit14,'String')));
end
l=30000/f; L0=22+20*log10(R*1e5/l);
L0r=22+20*log10(R*1e5/l)-Gr-Gp-Pfr-Pfp; disp(['L0r=', num2str(L0r),' дБ (потери в свободном пространстве при реальных антеннах)']);
Lmed=62.92*exp(-((l+18.19)/174)^2)+(0.07608*l^(-0.4984)+0.06596)*R; sig=5.116*exp(-((R-205.7)/577.5)^2);
if Sez==2
Lmed=Lmed-12;
sig=4.676*exp(-((R-124.9)/332.4)^2)+3.165*exp(-((R-382)/508.3)^2);
elseif Sez==3
Lmed=Lmed-6;
sig=6.118*exp(-((R-158.6)/547.8)^2); end
if tipcan==2
[Lbz]=Lbzam(Tpr,n);
sig1=0.177*exp(0.2585*sig)-23.48*exp(-0.2856*sig); F=0;
for x=0:0.5:30;
F=1/2+1/2*erf(log(10^(x/20))/(10^(sig1/20)));
if F>=Tpr/100
break;
end
end
Lmz=x;
Lz=Lbz+Lmz;
if Tm==1
B=10*log10(-4/n*log(2^n*Po
elseif Tm==2
B=10*log10(-2/n*log(2^n*Po));
elseif Tm==3 || Tm==4 || Tm==5
B=10*log10(-1/n*log(2^n*Po));
end
disp(['Lbz=', num2str(Lbz),' дБ (потери от быстрых замираний)']);
disp(['Lmz=', num2str(Lmz),' дБ (потери от медленных замираний)']);
elseif tipcan==1
B=35;
if sig<3
sig=3;
elseif sig>7
sig=7;
end
sigma=fix(sig);
[ Lz1 ] = Lzam(Tpr, n, sigma);
sigma=fix(sig)+1;
if sigma>7
Lz2=Lz1;
else
[ Lz2 ] = Lzam(Tpr, n, sigma);
end
sigdr=sig-fix(sig);
Lz=Lz1+(Lz2-Lz1)*sigdr;
end
disp(['Lz=', num2str(Lz),' дБ (потери от медленных и быстрых замираний)']);
delta=Ugr+Ugp+0.056*sqrt(h);
if abs(R-300)<abs(R-250)
R1=300;
elseif abs(R-250)<abs(R-200)
R1=250;
elseif abs(R-200)<abs(R-150)
R1=200;
elseif abs(R-150)<abs(R-100)
R1=150;
else
R1=100;
end
if R1==100
a1=10.09;
b1=0.2266;
c1=-10.33;
d1=-1.994;
elseif R1==150
a1=9.399;
b1=0.1913;
c1=-9.604;
d1=-1.576;
elseif R1==200
a1=7.04;
b1=0.2457;
c1=-7.011;
d1=-1.612;
elseif R1==250
a1=7.807;
b1=0.1683;
c1=-7.757;
d1=-1.013;
elseif R1==300
a1=7.073;
b1=0.2235;
c1=-7.159;
d1=-1.404;
end
Lp=a1*exp(b1*delta)+c1*exp(d1*delta);
X=h*100/l;
if X<12
if abs(R-400)<abs(R-300)
R2=400;
elseif abs(R-300)<abs(R-200)
R2=300;
elseif abs(R-200)<abs(R-150)
R2=200;
elseif abs(R-150)<abs(R-100)
R2=150;
else
R2=100;
end
if R2==100
a1=1.983e15;
b1=-54.05;
c1=9.514;
a2=18.74;
b2=-6.452;
c2=11.95;
elseif R2==150
a1=1.661e15;
b1=-45.48;
c1=8.023;
a2=14.88;
b2=-3.284;
c2=8.104;
elseif R2==200
a1=1.439e9;
b1=-52.15;
c1=12.28;
a2=3.78;
b2=3.267;
c2=3.428;
elseif R2==300
a1=7835;
b1=-4.066;
c1=3.974;
a2=-7425;
b2=-3.92;
c2=3.917;
elseif R2==400
a1=8.829e13;
b1=-47.8;
c1=9.207;
a2=-4457;
b2=-6.454;
c2=3.497;
end
Lh=a1*exp(-((X-b1)/c1)^2)+a2*exp(-((X-b2)/c2)^2); else
Lh=0;
end
La=0.07*exp(0.055*(Gr+Gp));
Ldop=Lmed+Lz+Lp+Lh+La+Lk;
L1m=L0r+Ldop;
Lm1m=L1m-Lz;
Lm1c=Lm1m+4.676*exp(-((R-124.9)/332.4)^2)+3.165*exp(-((R-3828)/508.3)^2);
Lm1g=Lm1c-14.96*exp(-((R-74.66)/492.7)^2
if Tp==4
Lm1z=Lm1g;
elseif Tp==3 ||Tp==1
Lm1z=Lm1m;
else
Lm1z=Lm1c;
end
L1=Lm1z+Lz;
disp(['L1=', num2str(L1),' дБ (полное затухание)']);
Pvh1=10*log10(P)-L1;
Pvh1vt=10^(Pvh1/10); \
disp(['Pvh1=', num2str(Pvh1),' дБ (мощность сигнала на входе приемника)']);
disp(['Pvh1=', num2str(Pvh1vt),' вт (мощность сигнала на входе приемника)']);
if kan==1|| tipcan==1 \
disp(['L1med=', num2str(Lm1z),' дБ (медианные потери для заданного периода оценки)']);
Pvh1med=10^((10*log10(P)-Lm1z)/10);
disp(['Pvh1med=', num2str(Pvh1med),' вт (медианная мощность сигнала на входе приемника)']);
Pch1=4e-21*10^(Fe/10)*Nk*3100;
Pcht1=6975e-24*10^(Fe/10)*(Fk/dfk)^2/Pvh1vt;
h0t1=10*log10(1e-3/Pcht1);
h01=1e-3/Pcht1;
disp(['h01=', num2str(h01),'(отношение с/ш на входе детектора)']);
disp(['h0t1=', num2str(h0t1),' дБ (отношение с/ш на выходе тлф канала)']);
disp(['Pcht1=', num2str(Pcht1),' Вт (мощность шума в тлф канале, в точке, где Рс=1мВт)']);
disp(['Pch1=', num2str(Pch1),' Вт (мощность шума на входе приемника при частотном
Последние комментарии
40 минут 55 секунд назад
12 часов 42 минут назад
13 часов 47 минут назад
2 дней 10 часов назад
2 дней 12 часов назад
3 дней 9 часов назад