IIR filter module, based on FORTRAN 77 procedures by David Harris:
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | FILTER_MAX_ORDER | = | 8 |
Max. order (number of poles). |
| integer, | public, | parameter | :: | FILTER_BESSEL | = | 1 |
Bessel. |
| integer, | public, | parameter | :: | FILTER_BUTTERWORTH | = | 2 |
Butterworth. |
| integer, | public, | parameter | :: | FILTER_CHEBYSHEV1 | = | 3 |
Chebyshev Type I. |
| integer, | public, | parameter | :: | FILTER_CHEBYSHEV2 | = | 4 |
Chebyshev Type II. |
Returns .true. if prototype is a valid filter enumerator:
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | filter |
Filter enumerator ( |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | filter |
Filter enumerator ( |
||
| real(kind=r8), | intent(inout) | :: | data(:) |
Sequence to be filtered. |
||
| integer, | intent(in) | :: | order |
Order (#poles), not to exceed |
||
| real(kind=r8), | intent(in) | :: | cutoff |
Low-frequency cut-off of filter [Hz]. |
||
| real(kind=r8), | intent(in) | :: | ts |
Sampling interval [sec]. |
||
| logical, | intent(in) | :: | zp |
Zero phase filtering if |
||
| real(kind=r8), | intent(in), | optional | :: | attenuation |
Chebyshev stopband attenuation factor. |
|
| real(kind=r8), | intent(in), | optional | :: | transition |
Chebyshev transition bandwidth (fraction of low-pass prototype passband width). |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | filter |
Filter enumerator ( |
||
| real(kind=r8), | intent(inout) | :: | data(:) |
Sequence to be filtered. |
||
| integer, | intent(in) | :: | order |
Order (#poles), not to exceed |
||
| real(kind=r8), | intent(in) | :: | cutoff |
High-frequency cut-off of filter [Hz]. |
||
| real(kind=r8), | intent(in) | :: | ts |
Sampling interval [sec]. |
||
| logical, | intent(in) | :: | zp |
Zero phase filtering if |
||
| real(kind=r8), | intent(in), | optional | :: | attenuation |
Chebyshev stopband attenuation factor. |
|
| real(kind=r8), | intent(in), | optional | :: | transition |
Chebyshev transition bandwidth (fraction of low-pass prototype passband width). |