|
LMMC
Lamina Mathematic core
|
函数 | |
| lmmc_status_t | lmmc_fft_radix4_next_size (size_t n, size_t *out_nfft) |
计算不小于 n 的最小 4 的幂,用于 FFT 长度对齐。 | |
| lmmc_status_t | lmmc_fft_radix4 (lmmc_real_t *real, lmmc_real_t *imag, size_t n, int inverse) |
| 对长度为 4 的幂的复数序列执行就地 radix-4 FFT。 | |
| lmmc_status_t | lmmc_fft_radix4_forward (lmmc_real_t *real, lmmc_real_t *imag, size_t n) |
| 等价于 ::lmmc_fft_radix4(real, imag, n, 0) . | |
| lmmc_status_t | lmmc_fft_radix4_inverse (lmmc_real_t *real, lmmc_real_t *imag, size_t n) |
| 等价于 ::lmmc_fft_radix4(real, imag, n, 1) . | |
| lmmc_status_t | lmmc_fft_radix4_pad_into (const lmmc_real_t *real_in, const lmmc_real_t *imag_in, size_t n, lmmc_real_t *real_out, lmmc_real_t *imag_out, size_t *out_nfft) |
将长度 n 的输入零填充至不小于它的最小 4 的幂。 | |
| lmmc_status_t | lmmc_fft (lmmc_real_t *real, lmmc_real_t *imag, size_t n, int inverse) |
| 计算任意长度 N 点 DFT(正变换或逆变换). | |
| lmmc_status_t | lmmc_fft_forward (lmmc_real_t *real, lmmc_real_t *imag, size_t n) |
| 等价于 ::lmmc_fft(real, imag, n, 0) . | |
| lmmc_status_t | lmmc_fft_inverse (lmmc_real_t *real, lmmc_real_t *imag, size_t n) |
| 等价于 ::lmmc_fft(real, imag, n, 1) . | |
| lmmc_status_t lmmc_fft_radix4_next_size | ( | size_t | n, |
| size_t * | out_nfft ) |
计算不小于 n 的最小 4 的幂,用于 FFT 长度对齐。
在文件 fft_radix4.c 第 18 行定义.
引用了 lmmc_fft_radix4_next_size(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_fft_radix4_next_size() , 以及 lmmc_fft_radix4_pad_into().
| lmmc_status_t lmmc_fft_radix4 | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n, | ||
| int | inverse ) |
对长度为 4 的幂的复数序列执行就地 radix-4 FFT。
| [in,out] | real | 实部数组,长度 n ;变换后就地覆盖为频域实部. |
| [in,out] | imag | 虚部数组,长度 n ;变换后就地覆盖为频域虚部. |
| [in] | n | FFT 长度,必须为 4 的幂. |
| [in] | inverse | 非 0 时执行逆变换并归一化(除以 n). |
在文件 fft_radix4.c 第 115 行定义.
引用了 lmmc_fft_radix4() , 以及 LMMC_STATUS_INVALID_ARGUMENT.
被这些函数引用 lmmc_fft(), lmmc_fft_radix4(), lmmc_fft_radix4_forward() , 以及 lmmc_fft_radix4_inverse().
| lmmc_status_t lmmc_fft_radix4_forward | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n ) |
等价于 ::lmmc_fft_radix4(real, imag, n, 0) .
在文件 fft_radix4.c 第 136 行定义.
引用了 lmmc_fft_radix4() , 以及 lmmc_fft_radix4_forward().
被这些函数引用 lmmc_fft_radix4_forward().
| lmmc_status_t lmmc_fft_radix4_inverse | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n ) |
等价于 ::lmmc_fft_radix4(real, imag, n, 1) .
在文件 fft_radix4.c 第 140 行定义.
引用了 lmmc_fft_radix4() , 以及 lmmc_fft_radix4_inverse().
被这些函数引用 lmmc_fft_radix4_inverse().
| lmmc_status_t lmmc_fft_radix4_pad_into | ( | const lmmc_real_t * | real_in, |
| const lmmc_real_t * | imag_in, | ||
| size_t | n, | ||
| lmmc_real_t * | real_out, | ||
| lmmc_real_t * | imag_out, | ||
| size_t * | out_nfft ) |
将长度 n 的输入零填充至不小于它的最小 4 的幂。
| [in] | real_in | 输入实部数组,长度 n . |
| [in] | imag_in | 输入虚部数组,长度 n . |
| [in] | n | 输入长度. |
| [out] | real_out | 输出实部数组,调用方需预分配至少由 lmmc_fft_radix4_next_size 得到的元素数. |
| [out] | imag_out | 输出虚部数组,容量要求同 real_out. |
| [out] | out_nfft | 写入实际填充后的长度(4 的幂). |
out_nfft 重叠.所有参数和存储关系均在写入前验证;两个只读输入可以相互重叠。
引用了 lmmc_fft_radix4_next_size(), lmmc_fft_radix4_pad_into(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_fft_radix4_pad_into().
| lmmc_status_t lmmc_fft | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n, | ||
| int | inverse ) |
计算任意长度 N 点 DFT(正变换或逆变换).
N 为 4 的幂时使用 radix-4,其余 2 的幂使用 radix-2 Cooley-Tukey, 其他长度使用 Bluestein chirp-z 算法。
| [in,out] | real | 实部数组,长度 n ;变换后就地覆盖. |
| [in,out] | imag | 虚部数组,长度 n ;变换后就地覆盖. |
| [in] | n | FFT 长度,任意正整数. |
| [in] | inverse | 非 0 时执行逆变换并归一化(除以 n). |
引用了 lmmc_fft(), lmmc_fft_radix4(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_fft(), lmmc_fft_forward() , 以及 lmmc_fft_inverse().
| lmmc_status_t lmmc_fft_forward | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n ) |
等价于 ::lmmc_fft(real, imag, n, 0) .
引用了 lmmc_fft() , 以及 lmmc_fft_forward().
被这些函数引用 lmmc_fft_forward().
| lmmc_status_t lmmc_fft_inverse | ( | lmmc_real_t * | real, |
| lmmc_real_t * | imag, | ||
| size_t | n ) |
等价于 ::lmmc_fft(real, imag, n, 1) .
引用了 lmmc_fft() , 以及 lmmc_fft_inverse().
被这些函数引用 lmmc_fft_inverse().