如何将两个列向量写为解析卷积,以便可以使用离散FFT。使用MATLAB语法。
考虑:
一组向量,当将其分类为步进函数时,将显示以下任意一项:
[1,1,1,1,0,0,0,0]
或[1,1,1,1,1,0,0,0]
或[1,1,1,1,1,1,0,0]
(...函数“逐步增强”的位置因该集合的成员而异)
另一个是随机的vec=[1,0,1,0,1,1,1,0]
,显然两者都只包含0和1。
是否可以将这些向量写为解析卷积?我希望卷积的第一,第二,第三,第四...条目具有以下值:
sum(vec.*[1,0,0,0,0,0,0,0])
sum(vec.*[1,1,0,0,0,0,0,0])
sum(vec.*[1,1,1,0,0,0,0,0])
sum(vec.*[1,1,1,1,0,0,0,0])
...
sum(vec.*[1,1,1,1,1,1,1,1])
为了提高速度,我试图避免使用for循环。我无法向量化,因为这需要TB的RAM。 (我使用的矢量长度不是8,而是长度接近一百万)。
卷积定理从傅立叶变换 F << em> L 和 1 / w 的卷积给出函数 R / em>及其相反的 F -1 as,
很明显,卷积中的函数 1 /(w-w')来自 F 下的 1 / w ;就像您只是设置 w' = 0一样。但是,如果我在[1,1,1,1,0,0,0,0]
中使用类似的推理,则会得到[1,1,1,1,1,1,1,1]
,即MATLAB中.*
下的标识或[0,0,0,0,0,0,0,0]
(非常无聊)。
我所做的推理有什么错误?