ральное число К и каждое значение ЦВЗ повторяется К раз. Например, пусть К = 3. а у [ т] имеет вид 1.1, - 1 . 1 . В результате растяжения получается новая последовательность ц ' [т] = 1.1. 1.1.1. 1. —1. —1. —1.1. 1. 1. Обозначим длину новой последовательности через N и создадим с помощью ЛПМ псевдослучайную последовательность е[п]. состоящую из ± 1 с нулевым средним и имеющую длину N. Перемножим последовательности у'[о\(\іі) и обозначим получившуюся последовательность через d[n}. Именно эта последовательность используется для модификации контейнера в (2.3). Формула (2.4) теперь принимает следующий вид: 5 [n]d[n] = f[n]d[n] + N ■coef. По построению /[;г]е/[?>] часто меняет знак, и можно надеяться. что сумма этих элементов будет мала. Э го обстоятельство позволит доказать наличие ЦВЗ. Код, реализующий данный алгоритм, помещен в скрипт 8. Скрипт 8. Реализация алгоритма модуляции ЦВЗ ConvPoly = n p . i n t _ ( [ 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 1 ] ) ConvState = n p . i n t _ ( n p . o n e s (11 ) ) ConvState [1 :4 ] = 0 [Fr.Dat] = r e a d ( ’ka .wav’ ) Wtr = ’Я автор этого произведения. Оно принадлежит мне ’ Coef = 5 Pos =55100 # позиция, с которой начинается знак B i t = b i t a r r a yO B i t . frombytes(Wtr) WtrBits = B i t . t oO lO К = 1 # коэфф растяжения ########################## def d i l a t e ( I n ,K ) : ) ; > Растяжение последовательности >>> i f К == 1:
RkJQdWJsaXNoZXIy MTExODQxMg==