libdspl-2.0
Цифровая передискретизация сигналов

Функции

int farrow_lagrange (double *s, int n, double p, double q, double frd, double **y, int *ny)
 Передискретизация вещественного сигнала на основе полиномиальной Лагранжевой интерполяции. Подробнее...
 
int farrow_spline (double *s, int n, double p, double q, double frd, double **y, int *ny)
 Передискретизация вещественного сигнала на основе сплайн интерполяции. Подробнее...
 

Подробное описание

Функции

◆ farrow_lagrange()

int farrow_lagrange ( double *  s,
int  n,
double  p,
double  q,
double  frd,
double **  y,
int *  ny 
)

Передискретизация вещественного сигнала на основе полиномиальной Лагранжевой интерполяции.


Данная функция осуществляет передискретизацию входного сигнала `s` в `p/q` раз со смещением дробной
задержки. <BR>
Для передискретизации используется 

полиномиальная Лагранжева интерполяция (структура Фарроу для полиномиальной интерполяции).

\param [in] s       Указатель на вектор входного вещественного сигнала.<BR>
                            Размер вектора `[n x 1]`.<BR><BR>

\param [in] n       Размер вектора входного сигнала.<BR><BR>

\param [in] p       Числитель коэффициента передискретизации.<BR><BR>

\param [in] q       Знаменатель коэффициента передискретизации.<BR><BR>

\param [in] frd Значение смещения дробной задержки в пределах одного отсчета.<BR>
                            Значение должно быть от 0 до 1.<BR><BR>

\param [out] y      Указатель на адрес результата передискретизации.<BR>
            По данному адресу будет произведено динамическое выделение памяти 
            для результата передискретизации.<BR>
            Будет выделено памяти под `n*q/p` отсчетов выходного сигнала.<BR>
                            Данный указатель не может быть `NULL`.<BR><BR>

\param [in] ny      Указатель на переменную, в которую будет записан 
            размер вектора `(*y)` после выделения памяти.<BR><BR>

\return
`RES_OK`  если передискретизация успешно. <BR>
          В противном случае \ref ERROR_CODE_GROUP "код ошибки". <BR>                               

\author
    Бахурин Сергей.
    www.dsplib.org  

См. определение в файле resampling.c строка 35

◆ farrow_spline()

int int farrow_spline ( double *  s,
int  n,
double  p,
double  q,
double  frd,
double **  y,
int *  ny 
)

Передискретизация вещественного сигнала на основе сплайн интерполяции.


Данная функция осуществляет передискретизацию входного сигнала `s` в `p/q` раз со смещением дробной
задержки. <BR>
Для передискретизации используются 

кубические сплайны Эрмита (структура Фарроу для для сплайн-интерполяции).

\param [in] s       Указатель на вектор входного вещественного сигнала.<BR>
                            Размер вектора `[n x 1]`.<BR><BR>

\param [in] n       Размер вектора входного сигнала.<BR><BR>

\param [in] p       Числитель коэффициента передискретизации.<BR><BR>

\param [in] q       Знаменатель коэффициента передискретизации.<BR><BR>

\param [in] frd Значение смещения дробной задержки в пределах одного отсчета.<BR>
                            Значение должно быть от 0 до 1.<BR><BR>

\param [out] y      Указатель на адрес результата передискретизации.<BR>
            По данному адресу будет произведено динамическое выделение памяти 
            для результата передискретизации.<BR>
            Будет выделено памяти под `n*q/p` отсчетов выходного сигнала.<BR> 
                            Данный указатель не может быть `NULL`.<BR><BR>

\param [in] ny      Указатель на переменную, в которую будет записан 
            размер вектора `(*y)` после выделения памяти.<BR><BR>

\return
`RES_OK`  если передискретизация успешно. <BR>
          В противном случае \ref ERROR_CODE_GROUP "код ошибки". <BR>                               

\author
    Бахурин Сергей.
    www.dsplib.org  

См. определение в файле resampling.c строка 115