kopia lustrzana https://github.com/Dsplib/libdspl-2.0
added low2bp filter transform
rodzic
afdc6bf7e5
commit
19d4e40a88
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -28,3 +28,6 @@ int main()
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue