我在这里找到了一段非常有趣的 MDFT 多相滤波器组代码。不幸的是,似乎没有描述该理论的论文。有人知道代码的一些参考吗?我对这三个主题特别感兴趣:
通道中的数据究竟是什么?它们应该是真实的、虚构的还是复杂的?
该代码仅计算频带数量的一半。这是由于使用了实值信号吗?
合成阶段的结果被构建为两个合成滤波器组的结果的通道差异。为什么会这样?我找不到任何描述这个想法的论文。
我在这里找到了一段非常有趣的 MDFT 多相滤波器组代码。不幸的是,似乎没有描述该理论的论文。有人知道代码的一些参考吗?我对这三个主题特别感兴趣:
通道中的数据究竟是什么?它们应该是真实的、虚构的还是复杂的?
该代码仅计算频带数量的一半。这是由于使用了实值信号吗?
合成阶段的结果被构建为两个合成滤波器组的结果的通道差异。为什么会这样?我找不到任何描述这个想法的论文。
它与输入无关,任何东西都可以像使用任何其他真正有价值的原型过滤器一样工作。在实践中,我已经在雷达系统上实现了多相滤波器组,我们正在处理复杂的数据,包括脉冲压缩和未压缩。由于其固有的设计和理论速度,像这样的滤波器组具有大量应用。
多相滤波器组通常会创建原始版本的相移“副本”,以实现更好的重建。从仅仅扫描代码来看,看起来这就是他正在使用他的 X1 和 X2 向量所做的事情。您会注意到,如果您单步执行代码并检查频谱,子带将没有通带重叠。如果您查看滤波器频率响应的偏移版本,则更加明显。由于原始信号的“副本”是相移的,因此它本身内部也将具有不重叠的段,但原始信号和副本结合起来更加困难,以在归一化的频率范围内完全覆盖从 -pi 到 pic。
典型的处理链是这样的:获取输入,创建副本,相移副本(这里的所有内容都完成了两次,一次用于原始,一次用于相移副本;我们称它们为上(原始)和下(复制)),将原型多相滤波器应用于上下信号,应用 DFT 来执行多相魔术,现在您已全部通道化。合成几乎就是反过来。
人们挣扎的部分通常是多相滤波器和上下信号的使用,这似乎是这个问题的情况。滤波器组本身并不复杂,但如果您没有多速率信号处理背景,则多相背后的数学运算可能会很复杂。原型滤波器通常设计为 32 个子带,但由于我们有上信号和下信号,每个信号都有 32 个子带,所以我们确实有 64 个。我将把多相滤波器为什么工作的数学留在教科书上因为那不是你的问题。