📄 manche_molding.m
字号:
%%%%%%%%%%%%%%%%%%%%% 此函数为生成曼彻斯特码元 %%%%%%%%%%%%%%%%%%%%
function manchester=manche_molding(sequence,points_num) %%%% sequence为输入的码元序列,points_num为一个码元的采样点数
seq_len=length(sequence);
% ----------------------------
% Step Zero - 将输入序列中的正数变为1,将0和负数变为-1
% ----------------------------
for i=1:seq_len
if sequence(i)<=0
sequence(i)=-1;
elseif sequence(i)>0
sequence(i)=1;
end;
end;
% ----------------------------
% Step One - 生成曼彻斯特码元模板
% ----------------------------
for i=1:floor(points_num/2)
manche_molding(i)=1;
end;
for i=floor(points_num/2)+1:points_num
manche_molding(i)=-1;
end;
% ----------------------------
% Step Two - 生成最终结果,每个曼彻斯特码长度为points_num
% ----------------------------
for i=1:seq_len
for j=1:points_num
result_code((i-1).*points_num+j)=sequence(i).*manche_molding(j);
end;
end;
% ----------------------------
% Step Three - 返回值
% ----------------------------
manchester=result_code; %返回曼彻斯特码
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -