1 简介
提出了一种基于离散小波变换(DWT)和离散余弦变换(DCT) 的音频信息隐藏的新算法.首先,对载体音频信号整体进行小波分解,将其低频小波系数分段后进行离散余弦变换;其次根据人耳听觉的频率掩蔽效应,选择出对人 耳听觉容差最大的直流系数组成序列并分段;最后通过修改各段统计特征来嵌入水印.实验表明,嵌入水印后的语音信号不仅具有良好的不可感知性,而且对诸如加 噪,低通滤波,重采样,重量化,回声,MP3压缩,样点裁剪,时域线性延伸和缩短等的攻击具有很强的鲁棒性.
2 部分代码
figure(2);
%读入原水印图片
I=imread('a.png');
I=im2bw(I);
%读取原始语音
audio = audioread('open-cc.wav');
A=audio(1:160000);
%读取含水印音频
[A1,fs]=audioread('new.wav');
AL=length(A1);
%绘制音频图:
subplot(211);plot(A1);
axis([0,160000,-1,1]);
title('含水印音频信号');
%{
%加入攻击
Dist = A1-A;
sum=0;
for i=1:AL
DAA1=Dist(i)*Dist(i);
sum=sum+DAA1;
end
psnr = 10*log10(maxAA/sum);
%1 误码率BER
eber=0;
for i=1:10
for j=1:10
if I(i,j)==J(i,j)
else
eber=eber+1;
end
end
end
ber=eber/100;
%2 归一化系数NC
IJ = I.*J;
II = I.*I;
JJ=J.*J;
sumII=0;
sumIJ=0;
sumJJ=0;
for i=1:10
for j=1:10
sumII=sumII+II(i,j);
sumIJ=sumIJ+IJ(i,j);
sumJJ=sumJJ+JJ(i,j);
end
end
nc=sumIJ/(sqrt(sumII)*sqrt(sumJJ));
3 仿真结果
4 参考文献
[1]陈寅秋. 基于奇异值分解和小波变换的音频数字水印研究[D]. 湖南师范大学, 2008.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。**完整代码获取关注微信公众号天天matlab**