a2d.m
来自「多载波离散多音调制(DMT)matlab仿真」· M 代码 · 共 40 行
M
40 行
function y = a2d(x,b)
% ( 转换离散时间,把连续信号转换为比特流,每个采样有b比特)
% x - (原始信号)
% b - (每个采样的比特数)
N = length(x);
qinterval = 2*max(abs(x))/((2^b)-1);
if b<=1;
for i=1:N
if x(i)<=0
bits(i)=0;
else
bits(i)=1;
end
end
else
q = quant(x-min(x),qinterval);
bits=zeros(N*b,1);
for k=0:((2^b)-1)
u=dec2bin(k);
for i=1:length(u)
w(i)=str2num(u(i));
end
v=[zeros((b-length(w)),1)',w];
p(k+1,:)=v;
end
for i=0:N-1
for k=0:((2^b)-1)
if q(i+1)==k*qinterval
bits(b*i+1:b*i+b)=p(k+1,:);
break
else
end
end
end
end
y=bits;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?