Low level routine
eng -
fr
surecht_c - up sample computational routine
- opt : option
- 0 : re-sample
- 1 : up-sample with zero pading
- n : size of vectors
- nech : up-sample vector
- init_c : address of the counter vector
- u : address of the input vector (of size n)
- y : address of the output vector (of size n*nech)
/* surecht_c subroutine
* Up-Sampling Computation
* IRCOM GROUP - Author : A.Layec
*/
/* REVISION HISTORY :
* $Log$
*/
#include "mod_num_lib.h"
/* surecht_c routine de calcul de sur-échantillonnage en temporel
*
* Entrées :
* opt : option 0: sur-échantillonnage classique
* 1: sur-échantillonnage avec insertion de zéros(Dirac)
* n : taille du vecteur original
* nech : facteur de sur-échantillonnage
* init_c : adresse du compteur
* u : adresse du vecteur d'entrée (de taille n)
* Sorties :
* y : adresse du vecteur de sortie (de taille n*nech)
*
*/
void surecht_c(int *opt,int *n,int *nech,int *init_c,double *u,double *y)
{
/*déclaration des variables compteur*/
int i,j;
int counter;
switch(*opt)
{
/*Suréchantillonnage classique*/
case 0 : {
for(j=0;j<(*n);j++)
{
for(i=0;i<(*nech);i++) y[j*(*nech)+i]=u[j];
}
break;
}
/*Suréchantillonnage avec insertion zéro*/
case 1 : {
counter=(*init_c);
i=0;
for(j=0;j<(*n)*(*nech);j++)
{
y[j]=0;
if(j==counter)
{
counter=counter+(*nech);
y[j]=u[i];
i++;
}
}
break;
}
/*other case*/
break;
}
return;
}
IRCOM Group
Alan Layec