如何使用此方法:
public static void DFT (Complex[] data, Direction direction)
如果我的输入数组是short[] samples
?我可以轻松地将short
转换为double
,以将此值设置为Complex
结构。但是这个结构有两个字段Im
和Re
。那么,这些值中的一个是我的样本值吗?第二个值是多少?样品编号?
请帮我解决这个问题,因为我今天不会睡觉。
答案 0 :(得分:7)
您应该使用示例数据填充每个real
值的Complex
部分,即使用LINQ:
complexSamples = samples.Select(sample => new Complex((double)sample, 0.0)).ToArray();
执行DFT
complexSamples
后,您的Im
将包含非零虚构组件({{1}}非零)。然后,它取决于您的后续操作是否需要访问这些虚构组件。
也许在维基百科上的DFT和complex numbers上阅读更多内容也是一个好主意......