主要内容

信道器HDL优化

多相滤波器组和快速傅里叶变换优化的HDL代码生成

  • 库:
  • DSP系统工具箱HDL支持/滤波万博1manbetx

  • 信道化HDL优化块

描述

信道器HDL优化块将一个宽带输入信号分割成多个窄带输出信号。它为流数据应用程序提供硬件速度和区域优化。该块接受实数据或复杂数据的标量或矢量输入,提供硬件友好的控制信号,并具有可选的输出帧控制信号。您可以使用矢量输入来实现每秒千兆采样(GSPS)吞吐量。该块实现了一个多相滤波器,每个输入向量元素有一个子滤波器。硬件实现将子滤波器交叉,从而共享每个滤波器乘数(FFT长度/输入的大小)次。FFT实现使用相同的管道基数2^2 FFT算法FFT HDL优化块。

港口

输入

全部展开

向量大小必须是从1到64的2的幂,并且不大于通道数(FFT长度)。

模拟支持数据类型,但不支持HD万博1manbetxL代码生成。

该区块不接受uint64数据。

数据类型:不动点|int8|int16|int32|int64|uint8|uint16|uint32||
复数的支持:万博1manbetx是的

validIn真正的,该块捕获on的值dataIn

数据类型:布尔

重置真正的,该块停止当前计算并清除内部状态。

依赖关系

要启用该端口,请选择使能复位输入端口

数据类型:布尔

输出

全部展开

  • 如果你设置输出向量的大小与频带数相同(默认),输出数据为1-by-向量,为FFT长度。

  • 如果你设置输出向量的大小与输入大小相同,则输出数据为1的向量,为输入向量的大小。

输出顺序对于任何一种输出大小都是自然的。的结果,输出数据类型过滤器输出数据类型以及FFT中避免溢出所必需的比特增长。

块集validOut真正的每一份有效样本dataOut

数据类型:布尔

块集startOut真正的在第一个有效的样品上dataOut

依赖关系

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

数据类型:布尔

块集endOut真正的在最后有效的样品上dataOut

依赖关系

要启用该端口,请选择启用端输出端口

数据类型:布尔

参数

全部展开

主要

对于HDL代码生成,FFT长度必须是从2开始的2的幂3.到216

如果系数的数目不是的倍数频带数(FFT长度),块用0填充这个向量。默认的滤波器规格是凸余弦FIR滤波器,rcosdesign(0.25, 2, 4,“√”).您可以指定一个系数向量或调用返回系数值的筛选器设计函数。不支持复系数。万博1manbetx默认情况下,块将系数强制转换为与输入相同的数据类型。

复杂乘法器的HDL实现,指定为使用4个乘法器和2个加法器使用3个乘法器和5个加法器.根据您的合成工具和目标设备,一种选择可能更快或更小。

依赖关系

此选项仅适用于使用基数2^2架构的情况。

输出数据是的行向量1频道。输出顺序对于任何一种输出大小都是自然的。

  • 与频带数相同-输出数据为1-by向量,为FFT长度。

  • 与输入大小相同—输出数据为1的向量,为输入向量的大小。

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

数据类型

看到舍入模式.当输入是任意整数或定点数据类型时,块使用定点算术进行内部计算。当输入为时,此选项不应用.每个FFT阶段在旋转因子相乘之后但在蝴蝶之前。当将系数和多相过滤器的输出转换为您指定的数据类型时,也可以进行舍入。

看到溢出处理.当输入是任意整数或定点数据类型时,块使用定点算术进行内部计算。当输入为时,此选项不应用.此选项适用于将多相过滤器的系数和输出转换为您指定的数据类型。

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

该块使用您指定的舍入和溢出设置将多相过滤器系数强制转换为此数据类型。当您选择继承:与输入相同的字长(默认),块使用fi ()best-precision规则。

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

默认情况下,FFT逻辑不修改数据类型。当你关闭将蝴蝶输出除以2, FFT在每个阶段将单词长度增加1位以避免溢出。

控制端口

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

当您选择该参数时,则startOut端口显示在块图标上。的startOutSignal对于一帧中输出数据的第一个周期为真。

当您选择该参数时,则endOut端口显示在块图标上。的endOutSignal对于一帧输出数据的最后一个周期为真。

算法

全部展开

多相滤波器算法要求每个FFT通道有一个子滤波器。有关多相滤波器结构的更多细节,请参阅[1],并向信道器块引用页面。

请注意

Channelizer HDL优化块的输出不匹配从Channelizer块样本对样本的输出。这种不匹配是因为块以不同的顺序将输入样本应用到子过滤器。的信道器HDL优化块将输入X(0)应用于子滤波器E-1z), X(1)对E进行子滤波-2z),…X (-1)子滤波器E0z).当在多个帧上进行分析时,两个块检测到的通道是匹配的。

如果输入向量的大小,,与FFT长度相同,N,然后该块实现N硬件中的子过滤器。每个子滤波器是一个直接形式的转置FIR滤波器NumCoeffs/N水龙头。

如果向量大小小于N,块为每个输入向量元素实现一个子过滤器。在必要时共享子过滤器乘数来实现N通道过滤器。共享乘数点击有一个查找表N/滤波器系数。每次点击后都有一条延迟线N/1周期。

子筛选器的输出被转换为指定的过滤器输出数据类型,使用你选择的舍入和溢出设置。子滤波器中的每个滤点都流水线以目标FPGA的DSP部分。

例如,对于FFT长度为8、输入向量大小为4的对象,该块实现4个过滤器。每个乘数是共享的N/次,两次。每次轻按应用两个系数,延迟线为N/1周期。

对于标量输入,块实现一个过滤器。每个乘数是共享的N次了。每个开发应用N系数,延迟线是N1周期。

参考文献

哈里斯,F. J.迪克,M.赖斯。使用多相滤波器组用于无线通信的数字接收机和发射机。IEEE微波理论与技术汇刊.第51卷第4期,2003年4月。

扩展功能

介绍了R2017a