www.pudn.com > ypsy.rar > test.m


%读入声音文件 
FILE='e:\msg.wav'; 
Y=wavread(FILE); 
%绘制原始声音图像 
subplot(4,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(4,1,2); 
plot(x); 
title('低频系数图形'); 
%找出低频系数中大于0.2倍最大值的序列 
s=max(abs(x))*0.2; 
i=find(abs(x)>s); 
%产生随机高斯信号作为水印信号 
lx=length(x(i)); 
randn('seed',10); 
mark=randn(1,lx); 
%绘制水印信号波形 
subplot(4,1,3); 
plot(mark); 
title('水印信号'); 
%调整水印强度 
ss=mark; 
rr=ss*0.02; 
%嵌入水印信号 
x(i)=x(i).*(1+rr'); 
%小波重构,生成带水印信号的声音信号 
c1=[x',cd3',cd2',cd1']; 
s1=waverec(c1,l,'db4'); 
%绘制加入水印的声音信号 
subplot(4,1,4); 
plot(s1); 
title('含水印的声音信号');