Low level routine
eng -
fr
intsym_c - discret symbol integrator computational routine
- n : size of vectors (scalar)
- nech : number of sample per symbol (scalar)
- count : initial value of counter (scalar)
- step : time integration step (scalar)
- u : address of input vector (vector)
- y : address of output vector (scalar)
- z : address of memory word (scalar)
#include "mod_num_lib.h"
/*
intsym_c routine de calcul d'intégration symbole
Entrées :
n : taille des vecteurs (scalaire)
nech : nombre d'échantillons par symbole (scalaire)
count : valeur initiale du compteur (scalaire)
step : pas d'intégration (scalaire)
u : vecteur à intégrer (vecteur)
Sorties :
y : vecteur inégrer (scalaire)
Entrée/Sortie :
z : echantillon mémoire (scalaire)
*/
void intsym_c(int *n,int *nech,int *init_c,double *step,double *u,double *y,double *z)
{
/*Déclaration des variables compteurs*/
int i;
int count;
/*récupère valeur initiale*/
count=*init_c;
/*pour tous les échantillons du vecteur d'entrée*/
for(i=0;i<(*n);i++)
{
if(i==count)
{
count += *nech;
y[i]=0;
}
else
{
if(i==0) y[i]=2/(*step)*(u[i]+u[i-1])+(*z);
else if(i==(*n)-1)
{
y[i]=2/(*step)*(u[i]+u[i-1])+y[i-1];
(*z)=y[i];
}
else y[i]=2/(*step)*(u[i]+u[i-1])+y[i-1];
}
}
return;
}
IRCOM Group
Alan Layec