主要内容

Sobel边缘检测算法和计算机视觉的工具箱

这个例子显示,并解释了“自上而下”设计方法,应用于Sobel边缘检测算法。Sobel边缘检测算法是一个流行而简单的边缘检测算法,是这个例子的重点。这个例子中,您将学习:

  • 如何仿真金宝app软件®允许您设计一个数字信号处理(DSP)算法在系统水平上。

  • 如何精心设计使它在硬件可实现的。

  • 如何co-simulate手写HDL代码(对应于您的仿真软件模型)与ModelSim®或节奏®Xcelium®的仿真软件环境。金宝app

这种方法的一个例子基于模型的设计。了解更多关于模型为基础设计参考//www.tatmou.com/金宝搏官方网站solutions/model-based-design.html

你需要以下产品运行中的所有模型的例子:下载188bet金宝搏

  • MATLAB®

  • 金宝app

  • 定点设计师™

  • 高密度脂蛋白校验™

  • 计算机视觉工具箱™

  • DSP系统工具箱™

  • ModelSim SE或体育。或节奏Xcelium

Sobel边缘检测算法的可执行的规范

随着设计变得更大、更复杂,它已成为必要的描述设计在一个较高的水平。这种高水平的描述不仅使设计师模拟运行得更快,也可以在整个开发过程用于验证。这个结果的过程允许开发者在早期识别错误,避免昂贵的错误发现末期开发。这种高级设计通常由系统工程师完成。

实现一个DSP算法等硬件ASIC或FPGA系统级工程师首先设计算法,验证算法满足项目需求。这个设计后来成为黄金参考工程师负责硬件的算法。

在这个例子中,Sobel边缘检测算法在仿真软件中实现。金宝app打开可执行模型”,双击“Sobel边缘检测块模型学习算法是如何实现的。金宝app当你双击Sobel边缘检测块,您可以看到,该算法由两个二维过滤器,一个计算梯度方向列(高级过滤器)和一个计算梯度方向行(底部过滤器)。这两个过滤器使用3 x3的内核。

该仿真软件金宝app模型作为规范的发展道路。这是一个可执行的规范,这意味着你可以随时执行该模型在仿真软件环境中。金宝app

这个示例使用卫星图像的边缘检测算法的输入。这幅图像作为输入测试向量和整个使用的例子。如果工程师负责算法的硬件实现仿真软件环境中工作,不需要额外的开销在移植测试向量到不同的应用程序或创建测试容易出现人为错误。金宝app可执行的规范中所使用的测试工具使用整个例子。

设计和验证算法的实现

在设计可执行模型,系统工程师通常没有记住的实现细节,而是实现了算法来匹配行为需求。一旦系统工程师提交可执行规范的开发团队,开发团队可能需要修改可执行规范适合设计成一个实时系统,有限的资源,如内存或处理能力。

在这个例子中,开发人员可以决定消除广场业务,代之以绝对值操作更高效的硬件实现。这将导致cosimulation结果之间的差异和黄金参考但为了这个例子中,我们假设的差异是可以接受的。打开边缘检测设计模型。你可以看到相同的测试向量与前面的模型仍被使用。可以容易地验证结果与金色的参考。数字显示器显示平均黄金参考和新的设计之间的区别。

定点设计

因为我们的终极目标是实现该算法的FPGA或ASIC,我们必须转换成双精度设计到一个定点的设计。可以轻松地使用仿真软件。金宝app我们使用双精度模型在前面开发直接开发定点模型没有引入任何新块。金宝app模型允许我们确定数据位的数量和比例以及数学运算,并提供了一个很好的环境来分析系统的定点操作。

在这个定点设计、过滤器的输入是一个签署了9-bit整数和过滤器的输出签署数整数。如果你双击每个计算块,如过滤器或块,您可以看到开发人员可以很容易地调整宽度和扩展相关的内部计算这一块。这给设计师妥协的巨大杠杆之间匹配的输出黄金参考在使用最少的比特需要在设备上保存区。

打开定点模型并检查定点是如何实现通过双击计算模块,如2 d过滤器或添加块,并观察相应的定点面板。

细化的设计

在我们的示例中,边缘检测算法的输入是一个二维图像的大小200 x100。在实时系统中,输入是最有可能不是一个矩阵而是一个串行的数据流;例如,这种串行的数据流可以产生的电荷耦合器件(CCD)。因此,我们需要修改设计的结构,接受并执行二维滤波的边缘检测算法在串行的数据流。

在这个程度上,我们首先对输入图像进行序列化。然后我们执行串行数据的二维滤波。我们后来反序列化的数据流能够比较输出黄金参考。看到这是如何工作的请参考边缘检测细化模型。

这个操作做只是为了过滤器底部。正如预期的那样,新设计仍产生相同的结果。添加了两个延迟元素来弥补序列化器的抛光块。这个设计还展示了多速率模型的能力。金宝app序列化器的输出块20000倍采样率相对于块的输入。

金宝app仿真软件®Cosimulation

前一节的模型可以传递到高密度脂蛋白设计师可以使用二维滤波器设计在上一节写相应的硬件描述语言(VHDL)或Verilog代码。一旦编写代码,高密度脂蛋白设计师可以使用HDL校验™模拟HDL设计使用ModelSim仿真软件环境或Xcelium,并比较HDL设计的输出的输出可执行的规范。金宝app注意,在这个过程中,没有产生高密度脂蛋白试验台的必要性。Mode金宝applSim仿真软件模型源输入测试向量或通过高密度脂蛋白Xcelium匹配和提取数据从ModelSim或Xcelium回仿真软件环境。高密度脂蛋白设计者可以很容易验证是否HDL代码按照规范运行。

  • ModelSim / QuestaSim

硬件描述语言(VHDL)模型Verilog模型看如何使用HDL校验cosimulate ModelSim仿真软件。金宝app最后一个图中显示的信号显示在ModelSim的乱射。

  • Xcelium指Verilog模型看看HDL校验软件用于cosimulate仿真软件和Xcelium平台。金宝app