%HDB3代碼
%輸入x是信息碼,輸出y是對應的HDB3碼。
n =長度(x);
y =零(1,n);
last _ y =-1;
%設置初始參考值
last _ v =-1;
zero _ flag = 0;
對於i=1:n
if(x(i)==1)
y(I)=-last _ y;
last _ y = y(I);
zero _ flag = 0;
其他
y(I)= 0;
zero _ flag = zero _ flag+1;
結束
if(零標誌==4)
if(last_y==last_v)
y(I-3)=-last _ y;
y(I)= y(I-3);
last _ y = y(I);
last _ v = y(I);
其他
y(I)= last _ y;
last _ y = y(I);
last _ v = y(I);
結束
zero _ flag = 0;
結束
結束
繪制%%%%%%%%%以下的波形
t0 = 100;
t=0:1/t0:長度(x);
對於i=1:長度(x)
為
j=1:t0
h((I-1)* t0+j)= y(I);
%把等式右邊改為(y(i)==1)可以畫出HDB3正極性代碼+h。
%將等式右邊改為-(y (i) =-1)畫出HDB3-H的負極性代碼。
結束
結束
h=[h,h(I * t0)];
m = max(h);
m = min(h);
圖();
支線劇情(411)
plot(t,zeros(1,length(t)),' LineWidth ',1);繼續
plot(t,h,'線寬',2);
set(gca,' Xtick ',[0:1:length(x)],' Ytick ',[0,1])
網格打開
箱子
軸([0 I M-. 1M+. 1]);
標題(' hdb 3 ');