added low2bp filter transform

pull/2/head
Dsplib 2018-08-19 17:52:03 +03:00
rodzic afdc6bf7e5
commit 19d4e40a88
7 zmienionych plików z 60 dodań i 7 usunięć

0
dspl/dox/ru/filter_ft.dox 100644 → 100755
Wyświetl plik

Wyświetl plik

@ -25,9 +25,37 @@
/******************************************************************************
* low 2 bandpass transformation
******************************************************************************/
int DSPL_API low2bp( double* b, double* a, int ord,
double w0, double wpl, double wph,
double* beta, double* alpha)
{
double num[3] = {0.0, 0.0, 1.0};
double den[3] = {0.0, 0.0, 0.0};
if(!b || !a || !beta || !alpha)
return ERROR_PTR;
if(ord < 1)
return ERROR_FILTER_ORD;
if(w0 <= 0.0 || wpl <= 0.0 || wph <= 0.0 || wph <= wpl)
return ERROR_FILTER_FT;
num[0] = (wph * wpl) / (w0 * w0);
den[1] = (wph - wpl) / w0;
return ratcompos(b, a, ord, num, den, 2, beta, alpha);
}
/******************************************************************************
* low 2 high transformation
*******************************************************************************/
******************************************************************************/
int DSPL_API low2high(double* b, double* a, int ord, double w0, double w1,
double* beta, double* alpha)
{

Wyświetl plik

@ -85,7 +85,7 @@ p_flipip_cmplx flipip_cmplx ;
p_fourier_series_dec fourier_series_dec ;
p_fourier_series_rec fourier_series_rec ;
p_freqs freqs ;
p_freqs_cmplx freqs_cmplx ;
p_freqs_cmplx freqs_cmplx ;
p_freqs_resp freqs_resp ;
p_freqs2time freqs2time ;
p_freqz freqz ;
@ -94,8 +94,9 @@ p_goertzel_cmplx goertzel_cmplx ;
p_linspace linspace ;
p_log_cmplx log_cmplx ;
p_logspace logspace ;
p_low2low low2low ;
p_low2bp low2bp ;
p_low2high low2high ;
p_low2low low2low ;
p_poly_z2a_cmplx poly_z2a_cmplx ;
p_polyval polyval ;
p_polyval_cmplx polyval_cmplx ;
@ -223,8 +224,9 @@ void* dspl_load()
LOAD_FUNC(linspace);
LOAD_FUNC(log_cmplx);
LOAD_FUNC(logspace);
LOAD_FUNC(low2low);
LOAD_FUNC(low2bp);
LOAD_FUNC(low2high);
LOAD_FUNC(low2low);
LOAD_FUNC(poly_z2a_cmplx);
LOAD_FUNC(polyval);
LOAD_FUNC(polyval_cmplx);

Wyświetl plik

@ -522,6 +522,15 @@ DECLARE_FUNC(int, logspace, double
COMMA int
COMMA double*);
//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2bp, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double wpl
COMMA double wph
COMMA double* beta
COMMA double* alpha);
//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2high, double* b
COMMA double* a
COMMA int ord

Wyświetl plik

@ -85,7 +85,7 @@ p_flipip_cmplx flipip_cmplx ;
p_fourier_series_dec fourier_series_dec ;
p_fourier_series_rec fourier_series_rec ;
p_freqs freqs ;
p_freqs_cmplx freqs_cmplx ;
p_freqs_cmplx freqs_cmplx ;
p_freqs_resp freqs_resp ;
p_freqs2time freqs2time ;
p_freqz freqz ;
@ -94,8 +94,9 @@ p_goertzel_cmplx goertzel_cmplx ;
p_linspace linspace ;
p_log_cmplx log_cmplx ;
p_logspace logspace ;
p_low2low low2low ;
p_low2bp low2bp ;
p_low2high low2high ;
p_low2low low2low ;
p_poly_z2a_cmplx poly_z2a_cmplx ;
p_polyval polyval ;
p_polyval_cmplx polyval_cmplx ;
@ -223,8 +224,9 @@ void* dspl_load()
LOAD_FUNC(linspace);
LOAD_FUNC(log_cmplx);
LOAD_FUNC(logspace);
LOAD_FUNC(low2low);
LOAD_FUNC(low2bp);
LOAD_FUNC(low2high);
LOAD_FUNC(low2low);
LOAD_FUNC(poly_z2a_cmplx);
LOAD_FUNC(polyval);
LOAD_FUNC(polyval_cmplx);

Wyświetl plik

@ -522,6 +522,15 @@ DECLARE_FUNC(int, logspace, double
COMMA int
COMMA double*);
//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2bp, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double wpl
COMMA double wph
COMMA double* beta
COMMA double* alpha);
//------------------------------------------------------------------------------
DECLARE_FUNC(int, low2high, double* b
COMMA double* a
COMMA int ord

Wyświetl plik

@ -28,3 +28,6 @@ int main()
}