Add here a paragraph of the function description.
/* mash3_c subroutine * Third order MASH Sigma-Delta Modulator * IRCOM GROUP - Author : A.Layec */ /* REVISION HISTORY : * $Log$ */ #include "mod_num_lib.h" /* mash3_c routine de calcul d'un modulateur sigma-delta du 3eme ordre type MASH * * entrées : * n : longueur du vecteur d'entrée (scalaire) * m : gain du modulateur (scalaire) * u : adresse de départ du vecteur à convertir * entrées/sorties * e : intégral du signal d'erreur du dernier élément (vecteur) * e[0] : modulateur 1 * e[1] : modulateur 2 * e[2] : modulateur 3 * z : etat de sortie du dernier élément +m;-m (scalaire) * z[0] : modulateur 1 * z[1] : modulateur 2 * z[2] : etat mémoire du mash2 * z[3] : modulateur 3 * z[4],z[5]: etats mémoire du mash2 * y : adresse de départ du vecteur de sortie (+1;-1) * q : adresse de départ du vecteur de sortie de l'erreur de quantification * w : adresse de départ du vecteur de travail * * dépendances : * mash1_c * mash2_c */ void mash3_c(int *n,double *m,double *u,double *e,double *z,double *y,double *q,double *w) { /*déclaration*/ int i; /*Appel mash2*/ mash2_c(n,m,&u[0],&e[0],&z[0],&y[0],&q[0],&w[0]); /*Appel mash1*/ mash1_c(n,m,&q[0],&e[2],&z[3],&w[0],&q[0]); /*réalise opération sur bruit*/ for(i=0;i<(*n);i++) { y[i]=(y[i]+(w[i]-2*z[4]+z[5])); /*mise en mémoire des états mémoires du mash3*/ z[5]=z[4]; z[4]=w[i]; } return; }