FreeCalypso > hg > gsm-codec-lib
view libgsmefr/reorder.c @ 140:5efc377326da
gsmefr-dlcap-gsmx: EFR counterpart to gsmfr-cvt-dlcap
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 13 Dec 2022 07:14:41 +0000 |
parents | 9ad6bf2f1ee1 |
children | 0faf23a9286f |
line wrap: on
line source
/************************************************************************* * * FUNCTION: Reorder_lsf() * * PURPOSE: To make sure that the LSFs are properly ordered and to keep a * certain minimum distance between adjacent LSFs. * * The LSFs are in the frequency range 0-0.5 and represented in Q15 * *************************************************************************/ #include "gsm_efr.h" #include "typedef.h" #include "namespace.h" #include "basic_op.h" #include "no_count.h" #include "sig_proc.h" void Reorder_lsf ( Word16 *lsf, /* (i/o) : vector of LSFs (range: 0<=val<=0.5) */ Word16 min_dist, /* (i) : minimum required distance */ Word16 n /* (i) : LPC order */ ) { Word16 i; Word16 lsf_min; lsf_min = min_dist; move16 (); for (i = 0; i < n; i++) { test (); if (sub (lsf[i], lsf_min) < 0) { lsf[i] = lsf_min; move16 (); } lsf_min = add (lsf[i], min_dist); } }