|
|
@ -36,7 +36,7 @@ |
|
|
|
* is needed. |
|
|
|
* is needed. |
|
|
|
* |
|
|
|
* |
|
|
|
* No default Hilbert Transform is provided, as it is highly application dependent. |
|
|
|
* No default Hilbert Transform is provided, as it is highly application dependent. |
|
|
|
* The number of coefficients is an odd number with a maximum of 250. The Iowa |
|
|
|
* The number of coefficients is an odd number with a maximum of 251. The Iowa |
|
|
|
* Hills program can design a Hilbert Transform filter. Use begin(*pCoeff, nCoeff) |
|
|
|
* Hills program can design a Hilbert Transform filter. Use begin(*pCoeff, nCoeff) |
|
|
|
* in the .INO to initialize this block. |
|
|
|
* in the .INO to initialize this block. |
|
|
|
* |
|
|
|
* |
|
|
@ -56,6 +56,8 @@ |
|
|
|
* 251 tap Hilbert (including 0's) 646 microseconds |
|
|
|
* 251 tap Hilbert (including 0's) 646 microseconds |
|
|
|
* Same 121 tap Hilbert on T4.0 is 57 microseconds per update() |
|
|
|
* Same 121 tap Hilbert on T4.0 is 57 microseconds per update() |
|
|
|
* Same 251 tap Hilbert on T4.0 is 114 microseconds per update() |
|
|
|
* Same 251 tap Hilbert on T4.0 is 114 microseconds per update() |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* Rev 7 Feb 23 - Corrected type cast and comments. RSL |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#ifndef _filter_90deg_f32_h |
|
|
|
#ifndef _filter_90deg_f32_h |
|
|
@ -98,7 +100,7 @@ public: |
|
|
|
|
|
|
|
|
|
|
|
// For the equalizing delay in q, if n_coeffs==19, n_delay=9
|
|
|
|
// For the equalizing delay in q, if n_coeffs==19, n_delay=9
|
|
|
|
// Max of 251 coeffs needs a delay of 125 sample periods.
|
|
|
|
// Max of 251 coeffs needs a delay of 125 sample periods.
|
|
|
|
n_delay = (uint8_t)((n_coeffs-1)/2); |
|
|
|
n_delay = (uint16_t)((n_coeffs-1)/2); |
|
|
|
in_index = n_delay; |
|
|
|
in_index = n_delay; |
|
|
|
out_index = 0; |
|
|
|
out_index = 0; |
|
|
|
for (uint16_t i=0; i<256; i++){ |
|
|
|
for (uint16_t i=0; i<256; i++){ |
|
|
|