Цифровая обработка сигналов. Водяные знаки в аудиофайлах: учебное пособие / Е.Л. Столов.

Скрипт 13. Извлечение ЦВЗ из контейнера def isMaxMin(Crr,D): Val = 2. * Crr[D] -Crr[D-l] -Crr[D+l] if Val >100000: Out = 1 elif Val <-100000: Out = 0 else: Out = -1 return Out ################################# def getWtrBack(Source,LnFragm,Pos): J) ! Бит извлекается по смещению в корреляции Source представлен в плавающем формате 7 7 7 Ln = len(Source) Beg = 0 End = LnFragm Out = [] while True: Interv = Source[Beg:End] Crr = np.correlate(Interv,Interv[:-25], ’valid’) Sol = isMaxMin(Crr,Pos -1) if Sol != -1: Out.append(Sol) else: break Beg += LnFragm

RkJQdWJsaXNoZXIy MTExODQxMg==