Routine de calcul bas-niveau
eng - fr


mash2_c - routine de calcul d'un modulateur sigma-delta du deuxième ordre

Librairie

Paramètres

Description

Add here a paragraph of the function description.

Contenu du fichier


/* mash2_c subroutine
 * Second order MASH Sigma-Delta Modulator
 * IRCOM GROUP - Author : A.Layec
 */
 
/* REVISION HISTORY :
 * $Log$
 */
 
#include "mod_num_lib.h"

/* mash2_c routine de calcul d'un modulateur sigma-delta du 2eme 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
 * 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
 * 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
 */
 
void mash2_c(int *n,double *m,double *u,double *e,double *z,double *y,double *q,double *w)
{
 /*déclaration*/
 int i;
 
 /*Appel Mash1*/
 mash1_c(n,m,&u[0],&e[0],&z[0],&y[0],&q[0]);
 
 /*Appel Mash1*/
 mash1_c(n,m,&q[0],&e[1],&z[1],&w[0],&q[0]);
  
 /*réalise opération sur bruit*/
 for(i=0;i<(*n);i++)
 {
  y[i]=(y[i]+z[2]-w[i]);
  /*mise en mémoire de l'etat mémoire du mash2*/
  z[2]=w[i];
 }
 return;
}

Auteurs

IRCOM Group Alan Layec