資源簡介
在matlab中,基于離散余弦變換的音頻水印
代碼片段和文件信息
%水印嵌入*********************************************************************************************(1)
%1同步信號(hào),在音頻起始點(diǎn)嵌入10個(gè)幅值相同的點(diǎn)
[xfsnbits]=wavread(‘E:\wave1\0000.wav‘);
lenx=length(x);
w=wavread(‘E:\wave1\0000.wav‘);
y=[0.02;?0.02?;0.02;?0.02?;0.02;?0.02?;0.02;?0.02?;0.02?;0.02];
%input?m
m=1000;
k=fix(lenx/10/m)*10;
w1=w(1:m);
%input?a
a=50;
%2分段處理
for?i=1:k:m*k
???%3離散余弦變換
????x1=dct(x(i:i+k-1));
???%排序找出中頻系數(shù)mid?用公式mid‘=mid(1+a*w)
???[x11index]=sort(x1);
???j=fix(i/k)+1;???
???for?t=1:3
??????%4修改中頻系數(shù)
??????x1(index(t+1))=x11(t+1)*(1+a*w(j));
??????%紀(jì)錄被改變的系數(shù)和序號(hào)
??????recordx(jt)=x11(t+1);
??????recordi(jt)=index(t+1);
??????%5離散余弦逆變換
??????x(i:i+k-1)=idct(x1);
???end
end
%6合并得到嵌入水印后的音頻信號(hào)
x=[y;x];
%將嵌入水印后的音頻信號(hào)保存
wavwrite(xfsnbits‘E:\wave1\00000.wav‘);
%水印提取*********************************************************************************************(2)
- 上一篇:GM11模型matlab程序
- 下一篇:HMM的Matlab代碼
評(píng)論
共有 條評(píng)論