我在这里找到了一个非常有趣的MDFT多相滤波器组代码。
不幸的是,似乎没有一篇论文描述了该理论。有人知道该代码的参考吗?
我对这三个主题特别感兴趣:


通道中到底有哪些数据?它们应该是真实的,虚构的还是复杂的?
代码仅计算频带数量的一半。这是由于使用了实值信号吗?
合成阶段的结果被构建为两个合成滤波器组结果的通道差异。为什么这样做呢?我找不到描述此想法的论文。


#1 楼


它与输入无关,任何东西都可以像使用其他任何真正有价值的原型过滤器一样工作。在实践中,我已经在雷达系统上实现了多相滤波器组,在该系统上,我们正在处理脉冲压缩和未压缩的复杂数据。此类滤波器组由于其固有的设计和理论速度而具有大量的应用。
多相滤波器组通常创建原始版本的相移“副本”以实现更好的重构。仅通过扫描代码,看起来这就是他对X1和X2向量所做的事情。您会注意到,如果您单步执行代码并检出频谱,则子带将没有通带重叠。如果查看滤波器频率响应的偏移版本,则更加明显。由于原始信号的“副本”已相移,因此其内部还将具有不重叠的段,但更坚硬的原始信号和副本组合起来可以在归一化的频率范围内完全覆盖-pi到pic。 br />通常,处理链是这样的:获取输入,创建副本,对副本进行相移(此后的所有操作都要完成两次,一个用于原始副本,一个用于相移副本;我们称这些为上层(原始)和下部(复制)),将原型多相滤波器应用于上部和下部信号,应用DFT进行多相魔术,现在就全部通道化了。合成恰恰相反。

人们通常会遇到的问题是多相滤波器以及上下信号的使用,这似乎就是这个问题。滤波器组本身并不复杂,但是如果您没有多速率信号处理背景,则多相背后的数学运算就可以了。原型滤波器通常设计成可产生32个子带,但是由于我们有上下信号,每个信号都有32个子带,所以我们实际上有64个子带。我将把数学解释在为何多相滤波器可用于教科书的背后因为那不是您的问题。


如上所述,与相移有关。再往前走几行,您会看到一个否定词。查看这些索引。您所看到的减法可能并没有完全按照您的想法做。尝试单步执行代码并进行检查。


#2 楼


他创建的输入时间序列是一个复杂的LFM线性调频。
通常,输入数据可能是实数或复杂数据。如果在ADC之后直接使用PFB(多相滤波器组),则数据可能是真实的。
您指的是代码中的哪一行?我看不到他只计算一半的频段。
不确定。