ГОСТ Р 54712-2011
_1
10
1
coef_x
О =
sc/
s/1 * Сс<1с - с/2с’с/1
12) /(1 -sqrfctl12));
coef_x
1
= sc /st2
*
(ct2c
- сМе*с/1й)/(1- sgr/c/1
coef_2
= s/s/sM * cM/s;
coe/_3 = srs / s/2 *cfirs;
/*расчет уровней усиления/
Г
проблема: если
s b o r
состоит более чем из одной субполосы/
Г
усиление в субполосах может различаться!!!/
g a in _ 0
=
10
*
lg /1/(1-
s q r ( ^ c ) ) ) :
да/л=* д /7//1-
sqr(cOc))):
g a in _ 2
=
10
*
»g /1/(1-
s q r (c iU s ))); g
a in _ 3
=
10
*
lg /1/(1-
s q r (c t 2 r s ))):
te m p
=
s q r (s c )
2*/coe/_xO*cMc*sM
’s c ) - 2 ‘ (c o e t _ x ‘\ ‘c t 2 c ’s t 2 ’s c )+
+
2 ’(c o e f _ x 0 ’c o e f _ x ^ ‘ c t1 t2 ‘st^ ’s t2 ) + s q r (c o e f _ x Q ’s t l)+
+
s q r (c o e f _ x
1
‘s t2 );
g a in _ 0
1
=
10 ‘ lg
( s q r (s c )/ te m p ):
Г вычисление информации о выборе предсказателя/
m a x g a in
= 0;
m a x m o d e =
0;
i f (g a in _ 0
-
S I_ C O E F / n u m s b > m a x g a in ) {
m a x g a in
=
g a in
_ 0 -
S I_ C O E F / n u m s b :
m a x m o d e
= 1;
}
i f (g a in _ } - S I_ C O E F / n u m s b > m a x g a in ) {
m a x g a in = g a in _
1 -
S I_ C O E F / n u m s b :
m a x m o d e
=
2
;
}
i f (g a in _
01
-
2
‘S I_ C O E F / n u m s b > m a x g a in ) {
m a x g a in
=
ga/n_01
-
2 ‘S I_ C O E F / n u m s b :
m a x m o d e
=
3;
}
s w itc h (m a x m o d e ){
c a s e
0
:
te m p _ p r e d _ g a in )0 )
=
0
;
p r e d s i[0 ] =
O ’;
p r e d s i)
l)
=
O’;
b re a k :
c a s e
1
;
temp_pred_gam[0J
=
gain_
0;
predsi)
0/= *1’;
predsi]’\]
= O’;
pred_coeflsbgr][0}
= coe/_0;
break.
case 2 ;
t e m p _ p r e d _ g a m [0 )
= ga/n_1;
p r e d s i)
0/ = O’;
p r e d s if t ]
= ’1 ’;
p r e d _ c o e f )s b g r ][
1/ = coe/_1;
break.
case 3 ;
femp
_pred_gain[0
)
= gain_0
1;
predsi)
0/ = ’1
’;
predsift ]
=
‘1
’;
p r e d _ c o e f )s b g r ][0 ]
=
coe/_xO;
p r e d _ c o e i)s b g r j)\ )
=
coef_x1;
break;
}
i f (g a in _ 2 > S I_ C O E F / n u m s b ){
te m p _ p r e d _ g a in [’\ ] = g a in _ 2 ;
p r e d s i[2 ]
= ’1 ’;
p r e d _ c o e f)s b g r ][2 )
=
coe/_2;
e ls e )
69