############################# def s h i f t S p e c ( I n t e r v , D i r ) : # Внедрение бита в фазу Ln = l e n ( I n t e r v ) FInterv = n p . f f t . f f t ( I n t e r v ) Phs = F I n t e r v [1] / a b s (F In t e r v [1 ] ) i f Dir == ’ 1 ’ : Phs = l j / P h s e l s e : Phs = - l j /Phs F I n t e r v [1] *= Phs FInterv[Ln -1] = c o n j (F I n t e r v [1 ] ) re turn np . r e a l ( n p . f f t . i f f t ( F I n t e r v ) ) ########################## def c r e a t e ln t e r v (D a tN , LenOfGrag, LenOfFrag) # Список интервалов из файла # DatN должен быть в формате f l o a t A l l l n t e r v = [] f o r X in xrange ( 0 , l en (Da tN ) , LenOfFrag) In t e rv = DatN[X:X+LenOfFrag] A l l l n t e r v . append(Interv) re turn A l l l n t e r v ####################################### def r e s t o r eB i t s ( I nM o d i ) : # Восстановление бита FModi = n p . f f t . f f t ( I nM o d i ) Phs = FModi[1] / abs(FModi[ 1 ] ) i f abs(Phs - l j ) < 0 .01 : Val = 1 e l i f abs(Phs + l j ) <0 .01: Val = 0 e l s e :
RkJQdWJsaXNoZXIy MTExODQxMg==