真正Partial-Systolic Q-less QR分解与遗忘的因素
库:
定点设计师HDL支持/矩阵和线性代数矩阵分解金宝app
描述
的真正Partial-Systolic Q-less QR分解与遗忘的因素块使用QR分解计算经济规模上三角RQR分解的因素一个=问R,没有计算问。一个是一个无限高的实值矩阵代表流数据。
当正则化参数是0,真正Partial-Systolic Q-less QR分解与遗忘的因素第一次上三角块初始化因素R来λIn在保理的行一个,在那里λ正则化参数和吗我n=眼睛(n)
。
港口
输入
(我,:)- - - - - -真正的矩阵的行一个
向量
真正的矩阵的行一个,指定为一个向量。一个是一个无限高的流数据矩阵。如果一个使用定点数据类型,一个必须签署并使用二进制小数点缩放。Slope-bias表示不支持定点数据类型。金宝app
数据类型:单
|双
|不动点
validIn- - - - - -输入是否有效
布尔
标量
输入是否有效,指定为一个布尔标量。这个控制信号表示的数据(我,:)
输入端口是有效的。当这个值是1 (真正的
)和的值准备好了
是1 (真正的
),块捕获的值(我,:)
输入端口。当这个值是0 (假
),块忽略了输入样本。
后发送真正的
validIn
信号,可能会有一些延迟准备好了
被设置为假
。确保所有的数据处理,你必须等待准备好了
被设置为假
之前发送另一个真正的
validIn
信号。
数据类型:布尔
重新启动- - - - - -是否明确的内部状态
布尔
标量
是否明确的内部状态,指定为一个布尔标量。当这个值是1 (真正的
),块停止当前的计算和清除所有的内部状态。当这个值是0 (假
)和价值validIn
是1 (真正的
),开始一个新的子帧块。
数据类型:布尔
输出
R- - - - - -上三角矩阵R
矩阵
经济规模QR分解矩阵R乘以遗忘因子
参数,返回一个矩阵。R是一个上三角矩阵。矩阵的大小R是n——- - - - - -n。输出在R
具有相同的数据类型作为输入(我,:)
。
数据类型:单
|双
|不动点
validOut- - - - - -输出数据是否有效
布尔
标量
输出数据是否有效,指定为一个布尔标量。这个控制信号表示当数据输出端口R
是有效的。当这个值是1 (真正的
),阻止成功计算矩阵R。当这个值是0 (假
),输出数据是无效的。
数据类型:布尔
准备好了- - - - - -块是否准备好了
布尔
标量
块是否准备好了,作为一个布尔返回标量。这个控制信号表示已经准备好新的输入数据块。当这个值1
(真正的
),validIn
是1
(真正的
),接受输入数据块的下一个时间步。当这个值0
(假
),忽略了输入数据块的下一个时间步。
后发送真正的
validIn
信号,可能会有一些延迟准备好了
被设置为假
。确保所有的数据处理,你必须等待准备好了
被设置为假
之前发送另一个真正的
validIn
信号。
数据类型:布尔
参数
矩阵的列数- - - - - -输入矩阵的列数一个
4
(默认)|正整数值标量
输入矩阵的列数一个,指定为一个正整数值标量。
编程使用
块参数:n |
类型:特征向量 |
价值观:正整数值标量 |
默认值:4 |
遗忘因子- - - - - -遗忘因子分解矩阵的每一行后应用
0.99(默认)|真正积极的标量
遗忘因子应用分解矩阵的每一行后,指定为一个真正积极的标量。更新的每一行的输出一个输入下去。
编程使用
块参数:forgetting_factor |
类型:特征向量 |
价值观:正整数值标量 |
默认值:0.99 |
正则化参数- - - - - -正则化参数
0(默认)|真正负的标量
正则化参数,指定为负的标量。小,正面的正则化参数值可以提高问题的调节,减少估计的方差。虽然有偏见,但减少方差的估计往往导致一个更小的均方误差相比,最小二乘估计。
编程使用
块参数:regularizationParameter |
类型:特征向量 |
价值观:真正的负的标量 |
默认值:0 |
算法
Q-less QR分解与遗忘的因素
的真正Partial-Systolic Q-less QR分解与遗忘的因素块实现下面的递归计算上三角的因素R不断的流n1行向量(k,:)使用遗忘因子α。就好像矩阵一个有无限高。遗忘因子的范围0 <α< 1防止它集成没有绑定。
Q-less QR分解遗忘因子和Tikhonov正则化
上三角因子Rk处理后的kth输入一个(k使用下面的迭代计算,:)。
这是数学与计算上三角的因素Rk的矩阵一个k,定义如下,但从来没有真正创造一个k。
向前和向后替换
当一个上三角因素是准备好了,然后向前和向后替换计算与当前输入B产生的输出X。
选择实现方法
Partial-systolic实现优先级计算的速度在空间限制,而破裂为代价实现优先考虑空间约束的操作速度。下面的表说明了矩阵分解实现之间的权衡和解决线性方程组。
实现 | 准备好了 | 延迟 | 区域 |
---|---|---|---|
收缩压 | C | O (n) | O (米n2) |
Partial-Systolic | C | O (米) | O (n2) |
Partial-Systolic遗忘因子 | C | O (n) | O (n2) |
破裂 | O (n) | O (锰2) | O (n) |
在哪里C是一个常数成正比的单词长度数据,米矩阵的行数一个,n矩阵的列数一个。
为额外的考虑为您的应用程序,选择一块看选择一块HDL-Optimized定点矩阵运算。
安巴AXI握手过程
这个块使用安巴AXI握手协议[1]。的有效/准备
握手过程是用来传输数据和控制信息。这种双向控制机制允许经理和下属控制速率信息管理者和下属之间移动。一个有效的
信号表明当数据是可用的。的准备好了
信号表示可以接受的数据块。数据传输发生只有当了有效的
和准备好了
信号是高。
块时间
的Partial-Systolic QR分解与遗忘的因素块接受和处理矩阵一个行,行。接受第一个后米行,块开始输出R矩阵作为一个单独的向量。从这一点上,每一行输入,计算R矩阵。partial-systolic实现使用级联结构,所以可以接受新矩阵块之前输入输出当前矩阵的结果。
例如,假设输入矩阵一个3 x3的。另外假设validIn
断言之前准备好了
,这意味着上游数据源是速度比Q-less QR分解。
在图中,
A1r1
第一行的第一个吗一个矩阵,R1
是第一个R矩阵,等等。validIn
来准备好了
——从一个成功的行输入块准备接受下一行。validIn
来validOut
——从一个成功的行块开始的输入输出相应的解决方案。
下表提供了细节的时机Partial-Systolic Q-less QR分解与遗忘的因素块。
块 | validIn 来准备好了 (周期) |
validIn 来validOut (周期) |
---|---|---|
真正Partial-Systolic Q-less QR分解与遗忘的因素 | 王+ 7 | (王+ 6)*n+ 3 |
复杂Partial-Systolic Q-less QR分解与遗忘的因素 | 王+ 9 | (王+ 7.5)* 2 *n+ 3 |
在表中,米代表了在矩阵的行数一个,n矩阵的列数一个。王代表单词的长度一个。
如果数据类型的一个是固定的点呢王字长。
如果数据类型的一个是两倍,那么王是53。
如果数据类型的一个是单身,那么王是24。
硬件资源利用率
使用仿真软件这一块支持金宝appHDL代码生成金宝app®高密度脂蛋白工作流顾问。例如,看到的从仿真软件模型HDL代码生成和FPGA合成金宝app(高密度脂蛋白编码器)和为FPGA实现数字下变频器(DSP HDL工具箱)。
在R2023a:下面的表格显示了资源利用率的一个总结的结果。
这个示例中生成的数据合成Xilinx块®Zynq®7 ZC706评估板(2级)速度。
以下参数被用于合成。
块参数:
m = 10
n = 10
p = 1
矩阵一个尺寸:10 *
矩阵B维度:10-by-1
输入数据类型:
sfix18_En12
资源 | 使用 |
---|---|
附近地区 | 30190年 |
LUTRAM | 10 |
触发器 | 17570年 |
布拉姆 | 31日 |
R2022b:下表结果post place-and-route资源利用率和时间总结,分别。
这个示例中生成的数据合成块在Xilinx Zynq UltraScale™+ RFSoC ZCU111评估板。Vivado合成工具®v.2020.2 (win64)。
以下参数被用于合成。
块参数:
n = 16
p = 1
矩阵一个维度:inf-by-16
矩阵B维度:16-by-1
输入数据类型:
sfix16_En14
目标:频率300 MHz
资源 | 使用 | 可用 | 利用率(%) |
---|---|---|---|
CLB附近地区 | 112218年 | 425280年 | 26.39 |
CLB寄存器 | 77563年 | 850560年 | 9.12 |
需求方 | 0 | 4272年 | 0.00 |
块RAM瓷砖 | 0 | 1080年 | 0.00 |
URAM | 0 | 80年 | 0.00 |
价值 | |
---|---|
要求 | 3.3333 ns |
数据路径的延迟 | 3.191 ns |
松弛 | 0.125 ns |
时钟频率 | 311.69兆赫 |
引用
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
Slope-bias表示不支持定点数据类型。金宝app
HDL代码生成
生成FPGA和ASIC设计的Verilog和VHDL代码使用HDL编码器™。
影响高密度脂蛋白HDL编码器™提供了额外的配置选项和合成逻辑实现。
这一块有一个默认的HDL的架构。
一般 | |
---|---|
ConstrainedOutputPipeline | 寄存器的数量在输出中通过移动现有的延迟你的设计。分布式流水线不重新分配这些寄存器。默认值是 |
InputPipeline | 数量的输入管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 数量的输出管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
金宝app只支持定点数据类型。
版本历史
介绍了R2020bR2023a:聪明的展开,提高资源的利用率
当你更新图,循环展开partial-systolic管道组成。这更新的内部架构消除了死在模拟和生成的代码,导致明显降低的数量所需的硬件资源。这一块模拟时钟和bit-true富达对库版本以前版本的这些块。
资源 | R2022b |
R2023a |
---|---|---|
附近地区 | 55482年 | 30190年 |
LUTRAM | 10 | 10 |
触发器 | 32375年 | 17570年 |
布拉姆 | 45 | 31日 |
这个示例中生成的数据合成块在Xilinx Zynq-7 ZC706评估板(2级)速度。
以下参数被用于合成。
块参数:
m = 10
n = 10
p = 1
矩阵一个尺寸:10 *
矩阵B维度:10-by-1
输入数据类型:
sfix18_En12
R2022a:金宝app支持Tikhonov正则化参数
的真正Partial-Systolic Q-less QR分解与遗忘的因素块现在支持Tikho金宝appnov正则化参数。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。