?? extract.m
字號(hào):
%Name: Yan Diqun
%Context: Extracting Process
%Project: Least Significant Bit
% global bitstream LengthOfBitstream RepeatNum speech
%-----------------------提取過(guò)程------------------------------
%file_name='lsb_watermarked.wav';
[file_name]=uigetfile('*.wav');
[audio,fs,wmode,fidx]=readwav(file_name,'r');
watermarked_audio=audio+32768;
LengthOfCover=length(watermarked_audio);
rand('state',5);
index_embed=randperm(LengthOfCover);
% 算法開(kāi)始時(shí)間
start_time=cputime;
%watermark_recover=zeros(RepeatNum,length_of_bitstream);
for i = 1:LengthOfCover
watermark_recover(i) = mod(watermarked_audio(index_embed(i)),16);
end
%顯示算法的處理時(shí)間
elapsed_time=cputime-start_time,
% 求位錯(cuò)誤率
sim_1=0;
for i=1:length(watermark)
if(watermark_recover(i)==watermark(i))
sim_1=sim_1+1;
end
end
ber=(LengthOfCover-sim_1)/LengthOfCover;
str=sprintf('位錯(cuò)誤率為:%f\n',ber);
disp(str);
% %BCH糾錯(cuò)碼解碼
% watermark=decode(watermark,7,4,'bch');
%
% %將比特流文件轉(zhuǎn)換成wav格式文件
% uWork=0;
% j=1;
% for i=1:length(speech)
% for k=0:7
% uWork=uWork+watermark(k+j)*2^k;
% end
% recoverspeech(i)=uWork;
% uWork=0;
% j=j+8;
% end
% recoverspeech=recoverspeech-128;
% writewav(recoverspeech,8000,'recoverspeech.wav','8');
%
% %恢復(fù)保密語(yǔ)音顯示
% figure(4)
% plot(recoverspeech);
% title('recover speech');
% axis tight;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -