主要内容

声明器HDL优化

多相过滤器银行和快速傅里叶变换 - 针对HDL码生成进行了优化

  • 图书馆:
  • DSP系统工具箱HDL支持/过滤金宝app

  • 通道器HDL优化块

描述

声明器HDL优化块将宽带输入信号分开到多个窄带输出信号中。它为流数据应用提供硬件速度和区域优化。该块接受真实或复杂数据的标量或向量输入,提供硬件友好的控制信号,并具有可选的输出帧控制信号。您可以使用矢量输入实现每秒每秒(GSP)吞吐量。块实现多相滤波器,每个输入矢量元素一个子滤波器。硬件实现交织了子漂白,导致每个过滤器乘数共享(FFT长度/输入大小)次。FFT实现使用相同的流水线基数2 ^ 2 FFT算法FFT HDL优化堵塞。

港口

输入

展开全部

向量尺寸必须是2的功率为1至64,并且不大于通道(FFT长度)的数量。

双倍的单身的支持数据类型进行仿真,但不支持金宝appHDL代码生成。

该块不接受UINT64数据。

数据类型:固定点|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|单身的|双倍的
复数支持:金宝app是的

什么时候vidmin真的,块捕获值dat

数据类型:布尔基

什么时候重置真的,块停止当前计算并清除内部状态。

依赖性

要启用此端口,请选择启用复位输入端口

数据类型:布尔基

输出

展开全部

  • 如果你设置了输出矢量大小与频段数量相同(默认),输出数据是一个1-by-m矢量在哪里m是fft长度。

  • 如果你设置了输出矢量大小与输入大小相同,输出数据是一个m-by-1矢量在哪里m输入矢量大小。

输出顺序对于输出大小有点自然。输出数据类型是一个结果过滤器输出数据类型避免溢出所需的FFT中的比特增长。

块集验证真的每个有效的样本数据源

数据类型:布尔基

块集开始真的在第一个有效的样品中数据源

依赖性

要启用此端口,请选择启用启动输出端口

数据类型:布尔基

块集终结真的在最后一个有效的样本中数据源

依赖性

要启用此端口,请选择启用终端输出端口

数据类型:布尔基

参数

展开全部

主要的

对于HDL代码生成,FFT长度必须是2的功率23.到2.16.

如果系数的数量不是倍数频段数量(FFT长度),块焊接与零的这个矢量。默认过滤器规范是凸起 - 余弦FIR滤波器,rcosdesign(0.25,2,4,'sqrt')。您可以指定系数的向量或对返回系数值的过滤器设计函数的呼叫。不支持复数系数。金宝app默认情况下,块将系数投递到与输入相同的数据类型。

HDL实现复杂乘数,指定为'使用4乘法器和2个加法器要么'使用3个乘数和5个加法器'。根据您的合成工具和目标设备,可以更快或更小。

依赖性

仅当您使用基数2 ^ 2架构时,此选项才会适用。

输出数据是行矢量m-By-1通道。输出顺序对于输出大小有点自然。

  • 与频段数量相同- 输出数据是一个1-by-m矢量,在那里m是fft长度。

  • 与输入大小相同- 输出数据是一个m-1 vector,在哪里m输入矢量大小。

选择此参数时,FFT实现总体1 /N通过将每个管道阶段的结果缩放到2的缩放因子。该调整将FFT的输出保持在与其输入相同的幅度范围内。如果禁用缩放,则FFT通过在每个阶段增加1位1位来避免溢出。

数据类型

圆形模式。当输入是任何整数或定点数据类型时,该块使用用于内部计算的固定点算法。输入时不适用此选项单身的要么双倍的。每个FFT阶段在旋转因子乘以但在蝴蝶之前。在将系数和多相滤波器的输出铸造到您指定的数据类型时,也会发生舍入。

溢出处理。当输入是任何整数或定点数据类型时,该块使用用于内部计算的固定点算法。输入时不适用此选项单身的要么双倍的。此选项适用于将多相滤波器的系数和输出施放到您指定的数据类型。

FFT算法通过缩放每个级的输出来避免溢出(正常化启用),或者通过在每个阶段增加1位的字长度(正常化禁用)。

块使用您指定的舍入和溢出设置将多相滤波器系数投射到此数据类型。当你选择继承:与输入相同的单词长度(默认),块选择二进制点使用FI()最好的精确规则。

使用您指定的舍入和溢出设置,块将多相滤波器(输入到FFT输入)的输出投射到此数据类型。当你选择继承:与输入相同的单词长度(默认),通过考虑滤波器系数的值和输入数据类型的范围,块选择最佳精度二进制点。

默认情况下,FFT逻辑不会修改数据类型。当你禁用时将蝴蝶输出除以两个,FFT在每个阶段将字长度增加1位以避免溢出。

控制港口

选择此参数时,重置端口显示在块图标上。当。。。的时候重置输入是真的,块停止计算并清除所有内部状态。

选择此参数时,开始端口显示在块图标上。这开始信号对于帧中的第一个输出数据循环是正确的。

选择此参数时,终结端口显示在块图标上。这终结信号对于帧中的输出数据的最后一个循环是正确的。

算法

展开全部

多相滤波器算法需要每个FFT通道的子滤波器。有关多相过滤器架构的更多详细信息,请参阅[1],以及信道块参考页面。

笔记

通道器HDL优化块的输出与来自通道器块采样的输出不匹配样本。这种不匹配是因为块以不同的顺序将输入样本应用于子离序机。这声明器HDL优化块将INPUT X(0)应用于Subfilter E.m-1Z.),x(1)到亚滤器em-2Z.), ..., X(m-1)亚滤器e0.Z.)。在通过多帧分析时,两个块匹配检测到的通道。

如果输入矢量大小,m,与FFT长度相同,N,那么块实施N硬件中的子漂白。每个Subfilter都是直接形成的转置灭菌滤波器numcoeffs./N水龙头。

如果矢量尺寸小于N,块为每个输入矢量元素实现一个子滤波器。根据需要共享Subfilter乘数以实现N通道过滤器。共享乘数抽头具有查找表N/m滤波器系数。每个水龙头后跟一个延迟线N/m-1周期。

子离序器的输出被投射到指定的过滤器输出数据类型,使用您选择的舍入和溢出设置。子滤器中的每个过滤器点击都是流水线,以针对FPGA的DSP部分。

例如,对于FFT长度为8,并且输入向量尺寸为4,块实现四个滤波器。每个乘数都是共享的N/m时间,或两次。每个抽头都适用两个系数,延迟线是N/m-1周期。

对于标量输入,块实现一个过滤器。每个乘数都是共享的N时代。每次抽头都适用N系数,延迟线是N-1周期。

参考

[1] Harris,F.J.,C. Dick和M. Rice。“数字接收器和发射器使用多相滤波器银行进行无线通信。”微波理论与技术的IEEE交易。卷。51,2003年4月4日。

扩展能力

也可以看看

对象

在R2017A介绍