【发布时间】:2019-11-20 15:53:12
【问题描述】:
我有一个复数向量(double 类型)和另一个向量(double 类型),我想用它们执行 2D 卷积。我在网上看到的大多数例子都不是针对复杂向量的,所以我不知道如何去实现它。
这些是我的向量:
vector<complex<double> > signal; // length of 100
vector<double> filter; // length of 101
我的“信号”向量看起来像这样......
25 + 0.0000i, -9.04508 + 18.3273i, -3.45492 - 8.388i... and so on
我的“过滤器”矢量看起来像这样......
0, 2.56698e-09, 9.13094e-09, 1.14301e-08... and so on
理想情况下,我想输出一个复数向量,输入双精度并与“信号”长度相同 所以我的输出是:
vector<complex<double> > filtered_signal;
我对 C++ 的经验仍然相对缺乏,因此感谢任何有关如何执行计算的高级提示/指导。
【问题讨论】:
标签: c++ vector convolution complex-numbers