Eps i lon = 0 . 0 5 # FragLen = 10 # ms ############################ def h a r t lT r a n s f ( I n ) : Ln = l e n ( I n ) F = n p . f f t . f f t ( I n ) re turn n p . r e a l ( 0 . 5 / n p . s q r t (L n ) * ( ( l . - l j ) * F \ + ( l + l j ) * c o n j ( F ) ) ) ###################### def p u t B i t s ( I n t e r v , B i t s , E p s i l o n ) : Lnlnterv = l e n ( I n t e r v ) FInterv = h a r t lT r a n s f ( I n t e r v ) A1 = ab s (F In t e rv [1 ] ) A2 = ab s (F In t e rv [2 ] ) PowerOldRest = sum(FInterv * FInterv ) - \ A1 *A1 - A2 *A2 i f B i t s [ 0 ] == ’O’ : FInterv [1] = changeMod(FInterv [ l ] , Ep s i lon ) e l s e : FInterv [1] = changeMod(FInterv[ 1 ] , -Ep s i lon ) i f B i t s [1] == >0»: FIn terv [2] = changeMod(FInterv[ 2 ] .Ep s i lon ) e l s e : FInterv [2] = changeMod(FInterv[ 2 ] , -Ep s i lon ) B1 = ab s (F In t e rv [1 ] ) B2 = ab s (F In t e rv [2 ] ) D i f f = (A1*A1 +A2 *A2 -B1 *B1 -B2 *B2) \ / PowerOldRest +1. Coe = n p . s q r t ( a b s ( D i f f ) ) F In t e r v [0] *= Coe f o r X in xrange ( 3 , L n ln t e r v ) : FInterv [X] *= Coe Res = h a r t lT r an s f (F In t e r v ) I n t e r v [ : ] = R e s [ : ] ####################################### de f r e s t o r e B i t s ( I n 0 r i g , I nM o d i ) : Out = [0 , 0 ]
RkJQdWJsaXNoZXIy MTExODQxMg==