水印鲁棒性的分析matlab程序,数字音频水印MATLAB程序

数字音频水印MATLAB程序

利用logistic映射产生混沌序列x(n)

a=3.571

x{1}=0.2

while 0

x{n+1}=a.*x{n}.*(1-x{n})

n=n+1

end

disp(x)

结果n=102

再对x(n)进行量化得0-1序列

于明文序列y(n)进行模2加,得到密文序列。

采样函数:linspace(0,0.8906,50)

先将47168bit的宿主音频等步长分段,分为1000段,然后混沌序列选择其中的102段,对每段进行3及小波分解,挑选出绝对值最大的系数,运用嵌入公式。

进行3及小波分解及重构图象的程序

问题:如何量化,进行模2加。

二进制如何按位进行加法。

%%%%%%%%%%%%%%%%%%%%生成水印程序

%读取声音文件

FILE='D:\audio\in\1.wav';

[y,Fs,bits]=wavread(FILE);

%绘制出原始声音信号图

figure(1);

subplot(3,1,1);plot(y);

title(

%用db4小波对读入的声音文件进行3级小波分解

[c,l]=wavedec(y,3,'db4');

%提取3级小波分解的低频系数和高频系数

ca3=appcoef(c,l,'db4',3);

cd3=detcoef(c,l,3);

cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);

x=ca3;

lx=length(x);

subplot(3,1,2);plot(x);

s=max(abs(x))*0.2;

i=find(abs(x)>s);%插入位置

lx=length(x(i));

%产生水印信号,sin

mark=[0.001:0.001:7.901];

mm=[0.01:0.01:79.01];

mark=sin(mm);

randn('seed',10);

mark=randn(1,lx);

figure(2);

subplot(3,1,1);plot(mark);

ss=mark;

rr=ss*0.02;

%水印信号嵌入

x(i)=x(i).*(1+rr');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值