传输线
计算逆快速傅里叶变换(传输线)
库:
DSP HDL工具箱/转换
描述
的传输线块提供了两种体系结构实现算法的FPGA和ASIC的应用程序。您可以选择一个架构,优化吞吐量或区域。
流基数2 ^ 2
高通量应用程序——使用这个架构。此体系结构支持标量或矢量输入数据。金宝app您可以实现gigasamples-per-second (gsp)吞吐量使用向量输入。破裂基数2
——使用这个架构至少资源实现,尤其是大快速傅里叶变换(FFT)的大小。你的系统必须能够容忍丛发性数据和更高的延迟。这种架构只支持标量输入数据。金宝app
的传输线接受真实的或复杂的数据,提供hardware-friendly控制信号、控制信号和可选的输出帧。
例子
港口
输入
数据- - - - - -输入数据
标量或真实或复杂的值的列向量
输入数据,指定为一个标量或真实或复杂的值的列向量。只有流基数2 ^ 2
体系结构支持向量输入。金宝app向量的大小必须是2的幂,范围从1到64,小于或等于FFT长度。
该软件支持金宝app双
和单
仿真的数据类型,但不是HDL代码生成。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
复数的支持:金宝app是的
有效的- - - - - -显示有效的输入数据
标量
控制信号表明如果输入数据是有效的。当有效的是1
(真正的
),阻止了从输入的值数据端口。当有效的是0
(假
),忽略了从输入的值数据端口。
当你设置体系结构参数破裂基数2
,你必须申请输入数据和有效的信号只有当准备好了是1
(真正的)。块忽略了输入数据和有效的信号时准备好了是0
(假)。
数据类型:布尔
输出
数据- - - - - -频率通道输出数据
标量或真实或复杂的值的列向量
当输入定点启用数据类型和扩展,输出数据类型作为输入数据类型相同。当输入整数类型和启用扩展,输出是定点类型相同的单词长度作为输入整数。默认的输出顺序bit-reversed。如果缩放是禁用的,输出单词长度增加,避免溢出。只有流基数2 ^ 2
体系结构支持向量的输入和输金宝app出。有关更多信息,请参见蝴蝶输出除以2参数。
数据类型:不动点
|双
|单
复数的支持:金宝app是的
有效的- - - - - -显示有效的输出数据
标量
控制信号,表明如果的数据输出数据港口是有效的。当有效的是1
(真正的
),阻止返回有效的数据输出数据端口。当有效的是0
(假
),从输出的值数据端口是无效的。
数据类型:布尔
准备好了- - - - - -表示已经准备好新的输入数据块
标量
控制信号,表示已经准备好新的输入数据块样品在下一个周期。当准备好了是1
(真正的
),您可以指定数据和有效的输入的下一个时间步。当准备好了是0
(假
),忽略任何输入数据块的下一个时间步。
波形显示这个协议,看到第三图时间图部分。
依赖关系
要启用这个端口,设置体系结构参数破裂基数2
。
数据类型:布尔
开始- - - - - -表示第一个输出帧的有效循环
标量
指出第一控制信号,输出帧的有效循环。当开始是1
(真正的
),块返回第一个有效的框架的示例输出数据端口。
依赖关系
要启用这个端口,在控制端口选项卡中,选择使开始输出端口参数。
数据类型:布尔
结束- - - - - -显示最后一个有效的循环输出帧
标量
指出持续有效的控制信号,输出帧的循环。当开始是1
(真正的
),块返回最后一个有效的框架的示例输出数据端口。
依赖关系
要启用这个端口,在控制端口选项卡中,选择使最终输出端口参数。
数据类型:布尔
参数
主要
FFT长度- - - - - -使用的数据点数量为一个FFT计算
1024年
(默认)
该参数指定数据点的数量用于一个inverse-fast-Fourier-transform(传输线)计算。HDL代码生成,FFT长度2之间必须是2的幂2和216。
体系结构- - - - - -建筑类型
流基数2 ^ 2
(默认)|破裂基数2
该参数指定类型的建筑。
流基数2 ^ 2
——选择这个值指定低延迟架构。这种体系结构支持gsp时使用向量输入时吞吐量。金宝app破裂基数2
——选择这个值指定最小资源架构。此体系结构类型不支持向量输入。金宝app当你使用此体系结构中,输入数据必须符合准备好了反压力信号。
HDL代码生成,FFT长度2之间必须是2的幂2和216。
关于这些架构的更多细节,请参阅算法。
复杂的乘法- - - - - -HDL实现
使用4乘数和2条
(默认)|使用3乘数和5条
该参数指定为HDL实现复杂的乘数类型。每一个乘法与实现使用4乘数和2条
或与使用3乘数和5条
。实现速度取决于合成工具和目标设备使用。
输出bit-reversed顺序- - - - - -输出数据的顺序
(默认)|关闭
这个参数返回bit-reversed顺序输出元素。
当您选择该参数,输出元素bit-reversed。返回输出元素在线性顺序,明确该参数。
传输线算法计算输出的倒序输入。如果您指定输出的顺序输入,算法执行额外的反转操作。有关更多信息,请参见线性和Bit-Reversed输出顺序。
输入bit-reversed顺序- - - - - -将输入数据的顺序
(默认)|
当您选择该参数,预计输入数据块bit-reversed秩序。默认情况下,清除该复选框和输入预计在线性顺序。
传输线算法计算输出的倒序输入。如果您指定输出的顺序输入,算法执行额外的反转操作。有关更多信息,请参见线性和Bit-Reversed输出顺序。
蝴蝶输出除以2- - - - - -FFT扩展
(默认)|关闭
当您选择该参数,实现整体1 /块N比例因子每个蝴蝶的输出乘法除以2。这种调整使传输线的输出相同的振幅范围作为输入。如果你禁用扩展,块避免溢出通过增加单词长度每只蝴蝶后由1位乘法。一些增加架构是相同的。
数据类型
舍入方法- - - - - -舍入模式内部定点计算
地板上
(默认)|天花板
|收敛
|最近的
|轮
|零
该参数允许您选择舍入模式内部定点计算的类型。关于舍入模式的更多信息,请参阅舍入模式。当输入整数或定点数据类型,传输线算法为内部使用定点算术计算。这个选项输入时不适用单
或双
类型。舍入适用于捻系数乘法和缩放操作。
控制端口
启用复位输入端口- - - - - -可选的复位信号
(默认)|
该参数使复位输入端口。当您选择该参数,输入重置港口出现在块图标。
使开始输出端口- - - - - -可选的控制信号显示数据的开始
(默认)|
该参数使港口表明输出数据的开始。当您选择该参数,输出开始港口出现在块图标。
使最终输出端口- - - - - -可选的控制信号显示数据的结束
(默认)|
该参数使港口表明输出数据的结束。当您选择该参数,输出结束港口出现在块图标。
算法
流基数2 ^ 2
流基数2 ^ 2体系结构实现了一个低延迟架构。它节省资源相比,通过分解和分组流基数2实现FFT方程。架构的日志4(N)阶段。每个阶段包含两个单一路径延迟反馈(SDF)蝴蝶内存控制器。当你使用向量输入,每个阶段作用于更少的输入样本,所以一些阶段减少到一个简单的蝴蝶,没有自卫队。
自卫队第一阶段是一个常规的蝴蝶。第二阶段第一阶段的繁殖输出- j。为了避免硬件乘法器,块互换的实部和虚部的输入,又互换产生的输出的虚部。每个阶段轮转动的结果因素乘法输入单词长度。抚弄的因素有两个整数位,其余的用于部分碎片。抚弄因素作为输入数据,有相同的位宽王。抚弄的因素有两个整数位王2部分。
如果你启用扩展,该算法将每个蝴蝶阶段2的结果。比例在每个阶段避免溢出,使单词长度一样的输入和结果的总体比例因子1 /N。如果禁用扩展,该算法避免了溢出通过增加1位在每个阶段的单词长度。图中显示了每个阶段的蝴蝶和内部单词长度,不包括记忆。
破裂基数2
破裂基数2体系结构实现FFT,使用一个复杂的蝴蝶乘数。算法不能开始,直到整个输入帧存储,和它不能接受下一个帧,直到计算完成。输出准备好了端口显示算法时准备的新数据。图显示了破裂体系结构,管道寄存器。
当你使用此体系结构中,输入数据必须符合准备好了反压力信号。
控制信号
只有当输入算法流程的输入数据有效的港口是1。输出数据是有效的只有当输出有效的港口是1。
可选的输入时重置港口是1,该算法停止当前的计算和清除所有内部状态。算法开始新的计算重置端口0和输入有效的港口开始一个新的框架。
这个图表显示了输入和输出有效的港口相邻的标量值输入数据、流基数2 ^ 2的架构,一个FFT长度为1024,一个向量的大小16。
图中还显示了可选的开始和结束端口值表明帧边界。如果你使开始港口,开始端口值脉冲为一个周期的第一个有效的输出帧。如果你使结束港口,开始端口值脉冲为一个周期的最后有效的输出帧。
如果你应用连续输入帧,输出也将持续在最初的延迟。
输入有效的端口可以非邻接。伴随着一个输入数据有效的港口处理的到来,以及由此产生的数据存储到一个框架。然后恢复算法连续帧的输出样本N(FFT长度)周期。这个图表显示了非连续的输入和连续输出的FFT长度512和一个向量的大小16。
当你使用破裂的体系结构,您不能提供的下一帧输入数据到内存空间是可用的。的准备好了信号指示时,算法能够接受新的输入数据。你必须申请输入数据和有效的信号只有当准备好了是1
(真正的)。该算法忽略了任何输入数据和有效的信号时准备好了是0
(假)。
延迟
延迟随FFT长度和输入向量的大小。更新模型后,块图标显示延迟。之间的延迟是周期的数量显示第一个有效的输入和第一个有效的输出,如果输入是连续的。以编程方式获得这个延迟,请参阅自动延迟匹配块FFT的延迟。
当使用破裂架构与连续的输入,如果你的设计等准备好了输出0
之前de-asserting输入有效的,然后一个额外的周期到达的数据输入。这个数据样本是第一个样本的下一帧。该算法可以拯救一个样品在处理当前帧。由于这个示例之前,观察后面的帧延迟(从输入有效的输出有效的)是一个周期短于报告的延迟。从第一个周期延迟测量,当输入有效的1第一个周期输出吗有效的是1。周期之间的数量准备好了端口0和输出有效的端口1总是延迟- - - - - -FFTLength。
性能
这个资源和性能数据生成的高密度脂蛋白的合成结果Xilinx的目标®Virtex®6 (XC6VLX75T-1FF484) FPGA。表中的示例有这个配置:
1024年FFT长度(默认)
使用4因子复杂的乘法,2条
输出扩展启用
自然顺序输入,Bit-reversed输出
16位复杂的输入数据
时钟可以最小化(HDL编码器™参数)
合成HDL代码的性能随你的目标和合成选项。例如,自然秩序的重新排序输出使用比默认内存bit-reversed输出,和真正的输入使用RAM比复杂的输入。
一个标量输入基数2 ^ 2的配置,设计达到326 MHz时钟频率。延迟是1116周期。设计使用这些资源。
资源 | 使用数量 |
---|---|
附近地区 | 4597年 |
FFS | 5353年 |
Xilinx LogiCORE®DSP48 |
12 |
块RAM (16 k) | 6 |
当你vectorize相同的基数2 ^ 2实现过程两个16位并行输入样本,设计达到316 MHz时钟频率。延迟是600周期。设计使用这些资源。
资源 | 使用数量 |
---|---|
附近地区 | 7653年 |
FFS | 9322年 |
Xilinx LogiCORE DSP48 |
24 |
块RAM (16 k) | 8 |
块实现破裂时仅支持输金宝app入数据标量基数2体系结构。破裂的设计达到309 MHz时钟频率。延迟是5811周期。设计使用这些资源。
资源 | 使用数量 |
---|---|
附近地区 | 971年 |
FFS | 1254年 |
Xilinx LogiCORE DSP48 |
3 |
块RAM (16 k) | 6 |
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
此块支持C / c++金宝app代码生成模型金宝app®加速器加速器和快速模式和DPI组件生成。
HDL代码生成
生成FPGA和ASIC设计的Verilog和VHDL代码使用HDL编码器™。
影响高密度脂蛋白HDL编码器提供了额外的配置选项和合成逻辑实现。
这一块有一个默认的HDL的架构。
ConstrainedOutputPipeline | 寄存器的数量在输出中通过移动现有的延迟你的设计。分布式流水线不重新分配这些寄存器。默认值是 |
InputPipeline | 数量的输入管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 数量的输出管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
你不能生成HDL代码块内启用子系统(金宝app模型)。
版本历史
介绍了R2014aR2022a:搬到DSP HDL工具箱从DSP系统工具箱
R2022a之前,这一块名叫传输线HDL优化并包含在DSP系统工具箱™DSP系统工具箱HDL的支持金宝app图书馆。
R2022a:FFT长度为4
现在,您可以设定FFT长度为4 (22)。在以前的版本中FFT长度必须是2的幂8 (23)216。
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。