matlab对信号进行低通滤波,用matlab设计低通滤波器论文

  matlab对信号进行低通滤波,用matlab设计低通滤波器论文

  Python尝试过做音频的LSB隐藏算法,但过程曲折。虽然结果还是有些瑕疵,毕竟不习惯音频信号处理,但是结果最终还是成功了。

  1.环境

  Windows10操作系统,pycharm编辑器,python3.9,第三方库:librosa,bitarray

  1.1 bitarray的安装

  安装Bitarray是为了解决英文字符串和二进制字符串之间的转换问题。

  Pip安装二进制文件

  1.2安装librosa

  这是一个Python模块,通常用于分析音频信号,但倾向于音乐。这包括用于构建音乐信息搜索(MIR)系统的基本要素。

  Pip安装库

  2.转码函数defstr 2 bitarray(s):s . replace(r n ,)ret=bitarray(。join)[蓝兔] int (1 hard)

  Bitarray2str))功能:可以将解密后的二进制字符串转码为明文。

  3.原则

  以上是图像的lsb隐藏算法,音频也差不多。

  总之,如果音频采样点是32位浮点型,替换不太重要的位置对音频影响不大,极难找到。例如,从0.005689更改为0.005680。

  4.算法为importlibrosafrommbitarrayimportbitarrayimportsoundfilesfimpportnumpyasnpbit _ float={ 00 3360.0001, 01 11 :00004 } float _ bit={ 8: 00 ,9:00 ,10:00 ,1: 00 83: 10 ,29:10 ,30:10 ,31:10 ,38336011 ,39360 11 对于key,valueinbit _ float . items(:if loan==value:returnkeydeflsb(音频文件,hidefile)): data,Sr=Librosa.load(音频文件)#隐藏文本infor= withopen)隐藏文件, Rb )ASF:infor=str 2 bitarray(f . read)。decode(utf-8))start=0 end=2 forIinrange(len(infor)))=bit 2 float(infor[start:end])start=2 # librosa . output . write _ example . wav ,data (SF.write ) samplerate=sr,sumplerate hidedfile(:data,Sr=librosa . load)audio file)hidedata,Sr1=librosa . load(hidedfile)infor= forIinrange)len)data):item=int(hidedata)(I))

  LSB)“音频载体_WAV格式”,“密文():加密函数

  UNLSB(“加密前的音频”、“加密后的音频”):解密函数

  4.1由于python没有指针的缺陷,没有好的办法对浮点采样点进行一些位操作。这里,字典bit _ float={00: 0.00001, 01: 0.00002, 10 是用推测方法定义的。

  每两位二进制转换后的浮点型加到原始采样点,提取时以原始采样点和加密采样点的差值作为判断标准。这个缺点很明显。为了在第一次解码中导出明文,需要与原载波进行比较。其次,因为浮点加法,所以得到的是近似值,不稳定。第三,如果不是某些比特的运算,信息利用率不高,嵌入容量低。

  为了解决浮点型加减法中近似计算的弊端,从隐藏信息采样点中减去原始采样点时,原始采样点为* 10,000,000。

  int()hidedata[I]-data[I]* 10000000)成整数,取8,9,10,11为约10,取18,19,20,21为20,28,29,30,21,为转换写字典。

  float _ bit={ 8:00、9:00、10:00、11336000、18336001、19336001、20336013:00 .

  4.2加密前后波形无明显差异。

  考试中的英语都是可以的。

  Librosa_test.py-系统安全文档资源-CSDN下载

matlab对信号进行低通滤波,用matlab设计低通滤波器论文