第一步:ami码:01000VB00V11B00V
第二步:0+1000+V-B00-V+1-1+B00+V
第三步:hdb3:0+1000+1-100-1+1-1+100+1
AMI:+1-10+100-100000+1(-1+10-100+100000-1)
HDB3:+1-10+100-1000-v0+1(-1+10-100+1000+v00-1)
先转换为AMI码0+10000 -10+1-100000 0000 0000+1-1+1-100+1,再是HDB3码为0+1000+v -10+1-1000-v +B 00+v -B 00-V+1-1+1-100+1
如果是第一个为-1 的话HDB3码为0-1000-v +10-1+1000+v -B 00-v +B 00+V-1+1-1+100-1
扩展资料:
通信中的差分编码,差分编码输入序列{an},差分编码输出序列{bn},二者都为{0、1}序列,则差分编码输出结果为bn=an异或bn-1,并不是bn=an异或an-1(即所谓的:对数字数据流,除第一个元素外,将其中各元素都表示为各该元素与其前一元素的差的编码。这么定义是不准确的。)前者多用在2DPSK调制,后者多用在MSK调制预编码。同时后者是码反变换器的数学表达式,即用来解差分编码用的。
参考资料来源:百度百科-差分码
程序如下,现在原始序列长度20的随机0,1串,要变自己改。clc
clear
source = randint(1,20)
%%%%%%%%%%%%Encode %%%%%%%%%%%%%
perbit = -1
for i=1:length(source)
if source(i)==1
encoded(i) = (-1)*perbit
perbit = encoded(i)
else
encoded(i) = source(i)
end
end
%%%%%%%%%%%%Decode %%%%%%%%%%%%
for i=1:length(source)
if encoded(i)~=0
decoded(i) = 1
else
encoded(i) = 0
end
end
source
encoded
decoded
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)