?? embed.m
字號:
%Name: Yan Diqun
%Context: Embedding Process(cDint)
%Project: Least Significant Bit
% global bitstream LengthOfBitstream
%LSB嵌入過程
%讀取載體音頻
[coverfile_name,path_name]=uigetfile('*.wav');
coverfile_name = fullfile(path_name,coverfile_name);
[audio,fs,wmode,fidx]=readwav(coverfile_name,'r');
cover_object=audio+32768;
LengthOfCover=length(cover_object);
HidingInf=floor(16*rand(1,LengthOfCover));
% HidingInf = zeros(1,LengthOfCover);
% for i = 1:LengthOfCover
% j = i*2-1;
% HidingInf(j) = mod(randnum(i),16);
% HidingInf(j+1) = bitshift(randnum(i),-4);
% end
% rand('state',5);
% index_embed=randperm(LengthOfCover);
% 保密語音暫存
watermark=HidingInf;
% 算法開始時間
start_time=cputime;
for i = 1:LengthOfCover
if i <= 100
LocalMean = mean(cover_object(1:i));
for j = 1:i
uworks(j) = (cover_object(j)-LocalMean)^2;
end
var(i) = sum(uworks)/(i^2);
else
LocalMean = mean(cover_object((i-100):i));
for j = (i-100):i
uworks(j) = (cover_object(j)-LocalMean)^2;
end
var(i) = sum(uworks)/(100^2);
end
cover_object(i) = cover_object(i)-mod(cover_object(i),16)+watermark(i);
end
watermarked_audio=cover_object;
%------------------ 嵌入過程結(jié)束---------------------------------------
% 顯示算法的處理時間
elapsed_time=cputime-start_time,
% 創(chuàng)建含保密語音的音頻文件
watermarked_audio=watermarked_audio-32768;
writewav(watermarked_audio,fs,'watermarked.wav','r');
% 評估
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calculate the snr:signal-noise-ratio
snr_numerator=sum(audio.^2);
snr_denominator=sum((watermarked_audio-audio).^2);
snr_dwt=10.*log10(snr_numerator/snr_denominator)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calculate the peak snr:signal-noise-ratio
psnr_numerator=max(audio.^2);
psnr_denominator=sum((watermarked_audio-audio).^2);
psnr_dwt=10.*log10(LengthOfCover*psnr_numerator/psnr_denominator)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calculate the ADDM:average difference distortion metrics
addm_dwt=sum(watermarked_audio-audio)/LengthOfCover
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%相關波形顯示
%figure(3);
%plot(watermarked_audio1);
%yLabel('Audio include speech');
%axis tight;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -