codificacion_hdb3.m
来自「HDB3 codification, a matlab program that」· M 代码 · 共 48 行
M
48 行
%CODIFICACION EN HDB3
function [X_HDB3] = codificacion_HDB3 (x) %SE袮L DE ENTRADA A SER CODIFICADA, X_HDB3 SE袮L TOTAL CODIFICADA
estado=1; % ES EL ESTADO INICIAL PARA COMENZAR LA CODIFICACION
X_HDB3=[]; % VECTOR PARA ALMACENAR LOS NUEVOS VALORES DE LA SE袮L x
temp1=0; %ALMACENAMIENTO DE VALORES PARA X_HDB3
contCeros=0; %VARIABLE PARA MANTENER UNA CUENTA DE CEROS CONSECUTIVOS
violacion=0; % ALMACENA EL VALOR DE BIT DE VIOLACION PARA PODER COMPARAR
for i=1:length(x) %LASO FOR PARA CONTAR DESDE 1 HASTA LA LONGITUD DE x
if x(i)==1 %COMPARA SI EL VALOR DE x(i) ES 1L O OL
contCeros=0; %SI ENTRA EN ESTE ENCERA EL VALOR DEL CONTADOR DE CEROS
if estado==1 %COMPARA EN QUE ESTADO SE ENCUENTRA
temp1=x(i); %TOMA EL VALOR DE x(i)
estado=-x(i); %GUARDAEL ESTADO SIGUIENTE
else
temp1=-x(i); %TOMA EL VALOR DE x(i)
estado=x(i); %GUARDAEL ESTADO SIGUIENTE
end
else
contCeros=contCeros+1; %SI ES UN CERO INCREMENTA EL CONTADOR DE CEROS
if contCeros==4 %VERIFICA SI EXISTEN 4 CEROS CONSECUTIVOS, DEBIDO A QUE NO PUEDE HABER EN ESTE CODIGO
contCeros=0; %ENCERA ELCONTADOR DE CEROS
aux=i+3;
if violacion==-estado && violacion==-1 %COMPARA SI LA VIOLACION ES IGUAL AL ESTADO Y SI LA VIOLACION ES -1
X_HDB3(i-3)=1; %CAMBIA DE VALOR AL TERCER ULTIMO VAOLOR LEIDO
estado=-1; %ASIGNA AL ESTOD DE -1
temp1=1; %ASIGNA EL VALOR DE TEMP UNO
violacion=-1; %GUARDA EL ESTADO DE VIOLACION DE -1
end
if violacion==-estado && violacion==1 %COMPARA SI LA VIOLACION ES IGUAL AL ESTADO Y SI LA VIOLACION ES -1
X_HDB3(i-3)=-1; %CAMBIA DE VALOR AL TERCER ULTIMO VAOLOR LEIDO
estado=1; %ASIGNA AL ESTOD DE 1
temp1=-1; %ASIGNA EL VALOR DE TEMP MENOS UNO
violacion=1 %GUARDA EL ESTADO DE VIOLACION DE 1
else
temp1=-estado; %SI NO EXISTE MAS DE DOS CEROS CONSECUTIVOS ASIGNA EL VALOR ESTADO AL TEMP
violacion=temp1; %VIOLACION ES IGUAL TEMP, ULTIMO VALOR LEIDO
end
else
temp1=0; %SI NO EXISTE MAS DE DOS CEROS CONSECUTIVOS ASIGNA EL VALOR CERO AL TEMP1
end
end
X_HDB3(i)=temp1; %CARGA EL VALOR DE TEMP, QUE SE PUEDE OBTENER DESPUES DE HABER PASADO POR LO ANTERIOR MENSIONADO
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?