苹果提供了一款枚举,可以更直观地进行操作。
有了这个,您就可以转换诸如
vDSP_vmul(arrayA, 1, arrayB, 1, arrayC, 1, vDSP_length(arrayA.count))至
let arrayC = vDSP.multiply(arrayA, arrayB)然而,嵌套的FFT类似乎只支持复杂->复杂的FFT。为了做一个真正的->复FFT,利用共轭复对称,似乎还需要使用兹里普哪个不是很直观 (经典的老苹果文档问题)。
我是不是错过了用Swift实现真正的->复杂FFT的方法?提前感谢!
下面是一些使用它的示例代码:
let fft = vDSP.FFT(log2n: vDSP_Length(log2n),
radix: .radix2,
ofType: DSPSplitComplex.self)
/// create DSPSplitComplex, splitComplex, with array for real component,
/// zero array for imaginary component
fft?.forward(input: splitComplex, output: &splitComplex)发布于 2022-05-19 17:14:08
看看vDSP.DiscreteFourierTransform。它支持复杂-复杂和复杂-真实。加速尔的DFT将在可能的地方使用FFT。它还支持交织和拆分的复杂数据。
https://stackoverflow.com/questions/72306193
复制相似问题