📄 pcmzu.m
字号:
clc
clear
dianping=2;
V=5;
daierta=2*V/2048;
M=fix(dianping/daierta);
if M>=0
p1=1;
else
p1=0;
end
%---------------
if abs(M)>=128;
p2=1;
else
p2=0;
end
if(abs(M)>=128)&(abs(M)<256);
p3=0;
p4=0;
end
if(abs(M)>=256)&(abs(M)<512);
p3=0;
p4=1;
end
if(abs(M)>=512)&(abs(M)<1024);
p3=1;
p4=0;
end
if abs(M)>=1024;
p3=1;
p4=1;
end
%----------------
if(abs(M)>=0)&(abs(M)<16);
p3=0;
p4=0;
end
if(abs(M)>=16)&(abs(M)<32);
p3=0;
p4=1;
end
if(abs(M)>=32)&(abs(M)<64);
p3=1;
p4=0;
end
if(abs(M)>=64)&(abs(M)<128);
p3=1;
p4=1;
end
duanluo=[p1 p2 p3 p4];
%------------------ 以上计算的是段落码
duan=p2*4+p3*2+p4*1+1;
switch duan
case {1}
duannei=dec2bin(abs(M),4);
case {2}
duannei=dec2bin(abs(M)-16,4);
case(3)
delta=(64-32)/16;
y=floor((abs(M)-32)/delta);
duannei=dec2bin(abs(y),4);
case(4)
delta=(128-64)/16;
y=floor((abs(M)-64)/delta);
duannei=dec2bin(abs(y),4);
case(5)
delta=(256-128)/16;
y=floor((abs(M)-128)/delta);
duannei=dec2bin(abs(y),4);
case(6)
delta=(512-256)/16;
y=floor((abs(M)-256)/delta);
duannei=dec2bin(abs(y),4);
case(7)
delta=(1024-512)/16;
y=floor((abs(M)-512)/delta);
duannei=dec2bin(abs(y),4);
case(8)
delta=(2048-1024)/16;
y=floor((abs(M)-1024)/delta);
duannei=dec2bin(abs(y),4);
end
duanluom=[p1 p2 p3 p4]
duanneim=duannei
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -