Aller au contenu
Wikipédia l'encyclopédie libre

HDB3

Un article de Wikipédia, l'encyclopédie libre.

High-Density Bipolar 3 (HDB3), ou Modified AMI Code, est un système de codage de circuit PRI et de circuit E-carrier utilisé en Amérique du Sud, en Afrique, en Europe et en Australie.

L'accès PRI en amérique du nord est basé sur un circuit T1.

Deux méthodes sont utilisées :

  • AMI (Alternate Mark Inversion) ;
  • B8ZS (Binary 8 with zero substitution).

Exemple de codage en C :

intmain(void){
intcode[T]={1,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0};
intP[T]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
intN[T]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
intvolt=-1;
intviol=-1;
intnbzero=0;
intn=0;
intincremente;

puts("Entrez votre n (HdBn)) >=2");
do{
scanf("%i",&n);
}
while(n<2);
for(incremente=0;incremente<T;incremente++){
if(code[incremente]==1){
if(volt==-1){
P[incremente]=1;
volt=1;
}
else{
N[incremente]=1;
volt=-1;
}
nbzero=0;
}
else{
nbzero++;
if(nbzero==n+1){
hdbn(incremente,code,P,N,&volt,&viol,n);
nbzero=0;
}
}
}
for(incremente=0;incremente<T;incremente++){
printf("%i ",P[incremente]-1*N[incremente]);
}
printf("\n");
return0;
}
intreset(intP[T],intN[T]){
intvolt;
inti;
for(i=0;i<T;i++){
P[i]=0;
N[i]=0;
}
volt=-1;
returnvolt;
}
inthdbn(intincremente,intcode[T],intP[T],intN[T],int*volt,int*viol,intn){
if(*viol==1){
if(*volt==1){
N[incremente-n]=1;
N[incremente]=1;
*volt=-1;
*viol=-1;
}
else{
N[incremente]=1;
*volt=-1;
*viol=-1;
}
}
else{
if(*volt==1){
P[incremente]=1;
*viol=1;
*volt=1;
}
else{
P[incremente-n]=1;
P[incremente]=1;
*viol=1;
*volt=1;
}
}
}

AltStyle によって変換されたページ (->オリジナル) /