?? decode.m
字號:
function decode_out=decode(detect,s)
% 這是一個譯碼程序,
% 它將檢測得到的序列detect譯碼成原來的序列decode_out;
%
% 子函數(shù)decode_pact將detect序列分組譯碼;
%
count=0;
leng1=length(detect);
j=1;
switch s
% OOK start
case 'ook'
decode_out=detect;
% OOK end
% DPPM start
case 'dppm'
for i=1:1:leng1
if detect(i)==0
count=count+1;
else
p=decode_pact(count);
if j==1
decode_out=p;
j=j+1;
else
decode_out=cat(2,decode_out,p);
end
count=0;
end
end
% DPPM end
% PPM start
case 'ppm'
for i=1:16:(leng1-15)
i1=i;
while detect(i1)==0&&i1<(i+15)
i1=i1+1;
count=count+1;
end
p=decode_pact(count);
if j==1
decode_out=p;
j=j+1;
else
decode_out=cat(2,decode_out,p);
end
count=0;
end
% PPM end
end
% end of decode
% sub function 子函數(shù)
%
function p=decode_pact(count)
%
% DPPM,PPM 分組解碼
%
p=zeros(1,4);
% 分組解碼
switch count
case 0
p=[0,0,0,0];
case 1
p=[1,0,0,0];
case 2
p=[0,1,0,0];
case 3
p=[1,1,0,0];
case 4
p=[0,0,1,0];
case 5
p=[1,0,1,0];
case 6
p=[0,1,1,0];
case 7
p=[1,1,1,0];
case 8
p=[0,0,0,1];
case 9
p=[1,0,0,1];
case 10
p=[0,1,0,1];
case 11
p=[1,1,0,1];
case 12
p=[0,0,1,1];
case 13
p=[1,0,1,1];
case 14
p=[0,1,1,1];
case 15
p=[1,1,1,1];
end
% end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -