Created
July 28, 2023 15:04
-
-
Save ZJUGuoShuai/3f328bac39167e4b8faed11881c1d385 to your computer and use it in GitHub Desktop.
Swift 实现 DFT(原始算法)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Cocoa | |
let input: [Float] = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] | |
var output_real = Array<Float>(repeating: 0, count: 8) | |
var output_imag = Array<Float>(repeating: 0, count: 8) | |
for i in 0..<8 { | |
var real_sum: Float = 0.0 | |
var imag_sum: Float = 0.0 | |
for k in 0..<8 { | |
let phi: Float = -2.0 * Float.pi * Float(k)/8.0 * Float(i) | |
real_sum += input[k] * cos(phi) | |
imag_sum += input[k] * sin(phi) | |
} | |
output_real[i] = real_sum | |
output_imag[i] = imag_sum | |
} | |
print(output_real) | |
print(output_imag) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
输出:
与 NumPy 输出一致:
NumPy 输出: