go 实现FFT算法

FFT(快速傅里叶变换)是一种将时域信号转换为频域信号的算法。在 Go 语言中,可以使用内置的复数类型和内置的 FFT 函数来实现 FFT 算法。

要使用 FFT 算法,首先需要导入 "math/cmplx" 包,然后可以使用 cmplx.FFT 函数来实现 FFT 转换。

示例代码如下:

package main

import (
    "fmt"
    "math/cmplx"
)

func main() {
    // 定义待转换的信号
    signal := []complex128{1, 1, 1, 1, 0, 0, 0, 0}
    // 调用 FFT 函数进行转换
    result := cmplx.FFT(signal)
    // 输出转换后的信号
    fmt.Println(result)
}

上面的代码定义了一个信号,然后使用 cmplx.FFT 函数将该信号转换为频域信号。转换后的信号可以通过输出语句输出。