2011-05-27 113 views
2

我想建立一个模型来比较特定位模式的输入。例如,如果我必须检查输入模式1110,我建立一个带3个延迟元件的模型,获取输入并将其连接起来,然后使用比较器与14(Hex E)进行比较。在Simulink模式匹配

目前,我需要对128位进行模式匹配。按照前面的例子,我可以理想地构建使用127个延迟元素和比较块的类似模型。

但我想知道是否有一个最佳和“更好”的方式来做到这一点。

期待在这方面提出一些建议。

如果你有兴趣,这里是小模型我建抽取8位: Extact 8 Bits

Concat 8 bits

回答

1

你所描述什么是一个很好的通用的方法 - 它假设一下你想要的图案没有检测。

你也许能够做不同的事情,如果方式是(例如)1秒,然后0(创建计数器如果计数器到达正确的价值观来算的长度和标志匹配)

的长字符串我认为如果你创建了一个内部带有z^-1和concat的块,你可以使你的图变得更容易一点(也许)。然后,当你传入输入时,你可以延迟它并将其与前一阶段的输出连接(也传入)。另一方面,这在VHDL中被简单地描述为移位寄存器(一行代码)和匹配器(另一行代码)。

您可以在m代码块(类似的几行代码)中使用persistent变量来为寄存器创建类似的东西,但是如果要实例化块的多个实例, - 因为persistent存储在他们之间共享!

+0

谢谢,我会尝试第一种方法,具有延迟元素与连续块的分层块结构。 m代码块是一个美妙的想法。但是我们仍然需要有127个Delay元素吗? VHDL本来就是一个很好的解决方案 – Kiran 2011-05-27 13:40:41

+0

你提到了另一种可能性。我正在寻找一种128位的模式,它实际上是混乱的。所以你基本上用一个预定义的种子内容来加扰所有1的加扰器。所以,我也可以对它进行解扰并使用你在答案中提到的方法(使用计数器计算1的数量)。我也会尝试这种方法。 参考:http://standards.ieee.org/getieee802/download/802.11b-1999.pdf – Kiran 2011-05-27 14:25:25

+0

解扰器 - 是的,如果你不需要识别动态模式,那可以很好地工作。 – 2011-05-27 19:46:05