pcmzu.asv

来自「本程序可以对一个模拟信号进行数字化」· ASV 代码 · 共 87 行

ASV
87
字号
clc
clear
dianping=4;
V=5;
daierta=2*V/2048;
M=fix(4/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 + =
减小字号Ctrl + -
显示快捷键?