數字音頻水印。三級小波調試
0.png (46.27 KB, 下載次數: 98)
下載附件
2017-7-13 01:23 上傳
源程序如下:
- clear all
- clc
- len=32;ls=60; q=0.00025; N=10;c=[1 1 1 -1 -1 1 -1]; sq=0.05;
- thr=6*sq; %判決門限,這個數值可在實際系統中進行調整%巴克碼
- a1=wavread('dsjjj.wav');
- figure;
- subplot(3,1,1);plot(a1); title('嵌入水印的音頻波形圖');axis([0,1141504,-0.2,0.2]);
- lz= length(a1);
- lam1=floor((1/N)*lz);
- lam=zeros(N-1,1);aa=a1';
- out=zeros(1,length(aa));
- num=[]; %儲存可能的幀頭
- for i=7:N*lam1
- out(i)=sum(aa(i-6:i).*c); %每7個數據進行一次相關求和
- if(out(i)>thr) %判斷相關求和值是否大于門限
- num=[num i-7];
- % a=a1(num(1):1:1024*N*C);
- %將大于門限的位置進行儲存
- end
- end
- a=a1;
- lz= length(a);
- lam1=floor((1/N)*lz);
- lam=zeros(N-1,1);
- lam(1)=lam1;
- for i=2:N-1;
- lam(i)=i.*lam1;
- end
- am{1,1}=[a(1:1:lam1)];
- for i=2:N-1;
- am{i,1}=[a((lam(i-1)+1):1:lam(i))];
- end
- am{N,1}=[a((lam(N-1)+1):1:lz)];
- for j=1:N
- an=am{j,1};an=an';
- [c,l]=wavedec(an,3,'haar');%3級小波分解
- ca3=appcoef(c,l,3,'haar');%提取3級小波分解的最低頻部分
- for i=1:len
- ave(i)=sum(ca3(i*ls:(i+1)*ls))/ls;
- wm1(i)=(mod(fix(ave(i)/q+1/2),2));
- wm{j,1}=wm1;
- end
- end
- wm1=wm{1,1};
- wm2=wm{2,1};
- wm3=wm{3,1};
- wm4=wm{4,1};
- wm5=wm{5,1};
- wm6=wm{6,1};
- subplot(3,1,2);plot(wm1);
- frr = fopen( 'tiquwave1.txt', 'wb') ;
- fwrite( frr, wm1, 'ubit1') ;
- fclose( frr);
- frr = fopen( 'tiquwave2.txt', 'wb') ;
- fwrite( frr, wm2, 'ubit1') ;
- fclose( frr);
- frr = fopen( 'tiquwave3.txt', 'wb') ;
- fwrite( frr, wm3, 'ubit1') ;
- fclose( frr);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
三級小波算法及相關函數代碼.rar
(32.7 KB, 下載次數: 11)
2017-7-13 00:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|