📄 lunwenbpbch.m
字号:
rgb=imread('g:\pp.bmp','bmp');
pic=imresize(rgb,[64 64]);
st=zeros(1,4096);
for i=0:63
for j=0:63
st(1,i*64+j+1)=pic(i+1,j+1); %str(1,(64*(i-1)+j))=pic(i,j);
end
end
s=zeros(1024,4);
for i=0:1023
for j=0:3
s(i+1,j+1)=st(i*4+j+1);
end
end
g=[1 0 1 1];
codecrc=encode(s,7,4,'cyclic',g);%codecrc 7168=4096*7/4
codebch=bchenco(codecrc,15,7);%7168*15/7=1024*15=15360
code=zeros(1,15360);
for i=0:1023
for j=0:14
code(1,i*15+j+1)=codebch(i+1,j+1); %str(1,(64*(i-1)+j))=pic(i,j);
end
end
aa=wavread('3');
[sqnr256,aquan256,code256]=u_pcm(aa,256);%注意量化位数的选取!!!这里选取8,2^8=256
A1=aquan256;
AA=A1';
A(1:130000)=AA(1:130000);
for i=1:122880 % 15360*8=122880,录音的时候采样频率是22.05KHZ
Ae(i)=A(i);
end
y=dct(Ae);
for k=2:15361 %code=7168
yy(k)=y(k)*(1+1.5*code(k-1));% 0.008的取值范围范围从0.002到0.009
end
yy(1)=y(1);
for k=15362:122880
yy(k)=y(k);
end
Aee=idct(yy);
for i=1:122880;%64*64*8=32768录音的时候采样频率是22.05KHZ
Aw(i)=Aee(i);
end
for i=122881:130000;%64*64*8=32768录音的时候采样频率是22.05KHZ
Aw(i)=A(i);
end
fs=22050;
wp=[200 4000]*2/fs;
ws=[50 8000]*2/fs;
rp=3;
rs=15;
Nn=128;
[N,wn]=buttord(wp,ws,rp,rs)
[b,a]=butter(N,wn)
As=filter(b,a,Aw);
for q=1:122880% 48*8=384
Ase(q)=As(q);
end
yyy=dct(Ase);
for l=2:15361 % 以下没有错
strr(l-1)=[yyy(l)-y(l)]/[1.5*y(l)];
strrr=abs(strr);
end
minstr=min(strrr);
maxstr=max(strrr)
b=strrr;
for p=1:15360 %此处没有错
if b(p)>0.80 % threshoud 是自己设定的门限值,可以取得0.5到0.7之间,但是0.6效果最好。
b(p)=1; %似乎是1表示白,0表示
else
b(p)=0;
end
end
bb=zeros(1024,15);
for i=0:1023
for j=0:14
bb(i+1,j+1)=b(i*15+j+1);
end
end
codebchr=bchdeco(bb,7,1);
codecrcr=decode(codebchr,7,4,'cyclic',g); %输出纠正的码字
sr=zeros(1,4096);
for i=0:1023
for j=0:3
sr(1,i*4+j+1)=codecrcr(i+1,j+1); %str(1,(64*(i-1)+j))=pic(i,j);
end
end
picc=zeros(64,64);
for i=0:63
for j=0:63
picc(i+1,j+1)=sr(i*64+j+1);
end
end
figure(1)
subplot(211),imshow(pic);title('pic');
subplot(212),imshow(picc);title('picc');
figure(2)
subplot(2,1,1);plot(Ae);title('Ae');
subplot(2,1,2);plot(As);title('As');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -