📄 extract.m
字号:
%Name: Yan Diqun
%Context: Extracting Process
%Project: Least Significant Bit
% global bitstream LengthOfBitstream RepeatNum speech
%-----------------------提取过程------------------------------
%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);
% 算法开始时间
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
%显示算法的处理时间
elapsed_time=cputime-start_time,
% 求位错误率
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('位错误率为:%f\n',ber);
disp(str);
% %BCH纠错码解码
% watermark=decode(watermark,7,4,'bch');
%
% %将比特流文件转换成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');
%
% %恢复保密语音显示
% figure(4)
% plot(recoverspeech);
% title('recover speech');
% axis tight;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -