基于MATLAB的数字音频水印技术程序
更新时间:2023-11-19 14:28:01 阅读量: 教育文库 文档下载
基于MATLAB的数字音频水印技术
****************************水印生成程序**************************** %读取声音文件
FILE='D:\\audio\\in\\1.wav'; [y,Fs,bits]=wavread(FILE);
%绘制出原始声音信号图 figure(1);
subplot(3,1,1);plot(y);
%用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');
%小波重构,生成加入了水印信号的声音信号 c1=[x',cd3',cd2',cd1']; s1=waverec(c1,l,'db4'); figure(1);
subplot(3,1,2);
plot(s1); whos('s1'); disp('');
%把加入了水印信号的声音作为sample2.wav保存 file1='sample2.wav';
wavwrite(s1,Fs,bits,file1); figure(1);
subplot(3,1,3); diff1=s1-y'; plot(diff1);
****************************水印恢复程序**************************** %读取原始声音信号 FILE='s00.wav';
[y,Fs,bits]=wavread(FILE);
%用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);
%读取含有水印的信号 FILE1='sample2.wav';
[y1,Fs1,bits1]=wavread(FILE1);
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c1,l1]=wavedec(y1,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca31=appcoef(c1,l1,'db4',3); cd31=detcoef(c1,l1,3); cd21=detcoef(c1,l1,2); cd11=detcoef(c1,l1,1); x=ca3;x1=ca31;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark1=z(i)./x(i)'; mark1=mark1/0.02;
figure(2);
subplot(3,1,2); plot(mark1);
diff=mark1-mark; figure(2);
subplot(3,1,3); plot(diff);
****************************压缩攻击**************************** FILE='sam96.wav';
[y7,Fs,bits]=wavread(FILE); [c1,l1]=wavedec(y7,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca31=appcoef(c1,l1,'db4',3); cd31=detcoef(c1,l1,3); cd21=detcoef(c1,l1,2); cd11=detcoef(c1,l1,1); x=ca3;x1=ca31;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark1=z(i)./x(i)'; mark1=mark1/0.02; figure(3);
subplot(3,1,1); plot(mark1);
% axis([0 8000 -1 1]); FILE='sam128.wav';
[y7,Fs,bits]=wavread(FILE); [c1,l1]=wavedec(y7,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca31=appcoef(c1,l1,'db4',3); cd31=detcoef(c1,l1,3); cd21=detcoef(c1,l1,2); cd11=detcoef(c1,l1,1); x=ca3;x1=ca31;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark1=z(i)./x(i)';
mark1=mark1/0.02; figure(3);
subplot(3,1,2); plot(mark1);
axis([0 8000 -1 1]); FILE='sam160.wav';
[y7,Fs,bits]=wavread(FILE); [c1,l1]=wavedec(y7,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca31=appcoef(c1,l1,'db4',3); cd31=detcoef(c1,l1,3); cd21=detcoef(c1,l1,2); cd11=detcoef(c1,l1,1); x=ca3;x1=ca31;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark1=z(i)./x(i)'; mark1=mark1/0.02; figure(3);
subplot(3,1,3); plot(mark1);
axis([0 8000 -1 1]);
****************************低通滤波**************************** [b,a]=butter(10,10000/Fs); y2=y1;
y5=filtfilt(b,a,y2); figure(4);
freqz(b,a,128,10000) figure(5); subplot(3,1,1) plot(y5);
subplot(3,1,2) plot(y);
subplot(3,1,3) plot(y-y5);
file1='sample3.wav';
wavwrite(y5,Fs,bits,file1); FILE1='sample3.wav';
[y5,Fs1,bits1]=wavread(FILE1);
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c1,l1]=wavedec(y5,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca31=appcoef(c1,l1,'db4',3); cd31=detcoef(c1,l1,3); cd21=detcoef(c1,l1,2); cd11=detcoef(c1,l1,1); x=ca3;x1=ca31;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark1=z(i)./x(i)'; mark1=mark1/0.02; figure(4);
subplot(2,1,1); plot(mark1);
**********************产生随机信号作为噪声信号*************************** noise0=randn(size(y)); y3=y1;
y3=y3+noise0*200;
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c3,l3]=wavedec(y1,3,'db4');
%提取3级小波分解的低频系数和高频系数 ca32=appcoef(c3,l3,'db4',3); cd32=detcoef(c3,l3,3); cd22=detcoef(c3,l3,2); cd12=detcoef(c3,l3,1); x=ca3;x1=ca32;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i); mark3=z(i)./x(i)'; mark3=mark3/0.02; figure(4);
subplot(2,1,2); plot(mark3); nbsp;
****************************重采样**************************** fs1=Fs*0.5;
wavwrite(y1,fs1,bits,'ss.wav'); [y6,fs2,bits]=wavread('ss.wav');
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c4,l4]=wavedec(y6',3,'db4');
%提取3级小波分解的低频系数和高频系数 ca33=appcoef(c4,l4,'db4',3); cd33=detcoef(c4,l4,3); cd23=detcoef(c4,l4,2); cd13=detcoef(c4,l4,1); x=ca3;x1=ca33;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i)'; mark4=z(i)./x(i)'; mark4=mark4/0.02; figure(5);
subplot(2,1,1); plot(mark4);
axis([0 8000 -1 1]); fs1=Fs*0.25;
wavwrite(y1,fs1,bits,'ss.wav'); [y6,fs2,bits]=wavread('ss.wav');
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c4,l4]=wavedec(y6',3,'db4');
%提取3级小波分解的低频系数和高频系数 ca33=appcoef(c4,l4,'db4',3); cd33=detcoef(c4,l4,3); cd23=detcoef(c4,l4,2); cd13=detcoef(c4,l4,1); x=ca3;x1=ca33;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i)'; mark4=z(i)./x(i)'; mark4=mark4/0.02; figure(5);
subplot(2,1,2); plot(mark4);
axis([0 8000 -1 1]);
****************************信号裁剪**************************** llx=length(y1); llx=fix(llx*0.75); i=[1:llx]; y4(i)=y1(i);
file1='sample4.wav';
wavwrite(y4,Fs,bits,file1); i=[llx+1:length(y1)]; y4(i)=y(i);
%用db4小波对读入的含有水印的声音文件进行3级小波分解 [c4,l4]=wavedec(y4',3,'db4');
%提取3级小波分解的低频系数和高频系数 ca33=appcoef(c4,l4,'db4',3); cd33=detcoef(c4,l4,3); cd23=detcoef(c4,l4,2); cd13=detcoef(c4,l4,1); x=ca3;x1=ca33;
lx=length(x);lx1=length(x1); s=max(abs(x))*0.2; i=find(abs(x)>s); lx=length(x(i)); z(i)=x1(i)-x(i)'; mark4=z(i)./x(i)'; mark4=mark4/0.02; figure(6);
subplot(2,1,1); plot(mark4);
正在阅读:
基于MATLAB的数字音频水印技术程序11-19
2017年六年级毕业升学考试试题03-14
工程审计课后习题及答案12-01
斩赤龙秘诀乳房是法器;男女丹道修炼-有何异同?;天乐集04-10
第一场雪作文600字07-13
第四章化学平衡03-14
水库管理人员2022年度个人工作总结范文03-24
中考语文名校模拟试卷分类汇编默写04-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 水印
- 音频
- 基于
- 数字
- 程序
- MATLAB
- 技术
- 监理案例 - 图文
- 原研哉的设计之道与道
- 模式识别实验报告
- 继承中华传统美德 弘扬尊老爱幼新风
- 工程热力学 第四版思考题答案(完整版)(沈维道)(高等教育出版社)
- 部编人教版三年级语文下册《第三单元检测卷》(附答案)
- 2012版抗菌药物临床使用强度及成人限定日剂量DDD值规范
- 看一看二教案
- BEC中级 真题第四辑 Test One 阅读部分
- 路基路面工程自考试题及答案(6)
- 《市属国有企业负责人经营业绩考核与薪酬管理暂行办法》
- 拳种类
- 05应用化学物化试题A
- 5s管理Microsoft Word 文档
- 中科院《物理化学》考研笔记
- 实变函数历年考试真题汇总
- 美术概论重点
- 中国石油山西分公司侯马油库工程项目可行性研究分析报告 -
- 小学三年级数学应用题大全(500题最全) - 2
- 有机太阳能电池