复杂的破裂QR分解
库:
定点设计师HDL支持/矩阵和线性代数矩阵分解金宝app
描述
的复杂的破裂QR分解块使用QR分解计算R和C=问”B,在那里问R=一个,一个和B复数矩阵。的最小二乘解一个x=B是x=R\C。R是一个上三角矩阵和问是一个正交矩阵。来计算C=问的,设置B单位矩阵。
当正则化参数非零,复杂的破裂QR分解块变换
就地来
和
就地来
在哪里λ正则化参数,QR经济规模QR分解的
,一个是一个米——- - - - - -n矩阵,p列的数量吗B,我n=眼睛(n)
,0氮、磷=0 (n,p)
。
例子
港口
输入
(我,:)- - - - - -矩阵的行一个
向量
矩阵的行一个,指定为一个向量。一个是一个米——- - - - - -n矩阵米≥2和n≥2。如果B单引号或双,一个必须是相同的数据类型吗B。如果一个是一个定点数据类型,一个必须签名,使用二进制小数点缩放和字长一样吗B。Slope-bias表示不支持定点数据类型。金宝app
数据类型:单
|双
|不动点
复数的支持:金宝app是的
B(我,:)- - - - - -矩阵的行B
向量
矩阵的行B,指定为一个向量。B是一个米——- - - - - -p矩阵米≥2。如果一个单引号或双,B必须是相同的数据类型吗一个。如果B是一个定点数据类型,B必须签名,使用二进制小数点缩放和字长一样吗一个。Slope-bias表示不支持定点数据类型。金宝app
数据类型:单
|双
|不动点
复数的支持:金宝app是的
validIn- - - - - -输入是否有效
布尔
标量
输入是否有效,指定为一个布尔标量。这个控制信号表示的数据(我,:)
和B(我,:)
输入端口是有效的。当这个值是1 (真正的
)和价值准备好了
是1 (真正的
),块上的值(我,:)
和B(我,:)
输入端口。当这个值是0 (假
),块忽略了输入样本。
后发送真正的
validIn
信号,可能会有一些延迟准备好了
被设置为假
。确保所有的数据处理,你必须等待准备好了
被设置为假
之前发送另一个真正的
validIn
信号。
数据类型:布尔
重新启动- - - - - -是否明确的内部状态
布尔
标量
是否明确的内部状态,指定为一个布尔标量。当这个值是1 (真正的
),块停止当前的计算和清除所有的内部状态。当这个值是0 (假
),validIn
值是1 (真正的
),开始一个新的子帧块。
数据类型:布尔
输出
R(我,:)- - - - - -矩阵的行R
标量|向量
行经济规模的QR分解矩阵R,返回为一个标量或矢量。R是一个上三角矩阵。矩阵的大小R是分钟(米,n)——- - - - - -n。R有相同的数据类型一个。
数据类型:单
|双
|不动点
C(我,:)- - - - - -矩阵的行C=问”B
标量|向量
行经济规模的QR分解矩阵C=问”B,返回为一个标量或矢量。C有相同的行数R。C有相同的数据类型B。
数据类型:单
|双
|不动点
validOut- - - - - -输出数据是否有效
布尔
标量
输出数据是否有效,作为一个布尔返回标量。这个控制信号表示当数据输出端口R(我,:)
和C(我,:)
是有效的。当这个值是1 (真正的
),块成功地计算R和C矩阵。当这个值是0 (假
),输出数据是无效的。
数据类型:布尔
准备好了- - - - - -块是否准备好了
布尔
标量
块是否准备好了,作为一个布尔返回标量。这个控制信号表示已经准备好新的输入数据块。当这个值是1 (真正的
),validIn
值是1 (真正的
),接受输入数据块的下一个时间步。当这个值是0 (假
),忽略了输入数据块的下一个时间步。
后发送真正的
validIn
信号,可能会有一些延迟准备好了
被设置为假
。确保所有的数据处理,你必须等待准备好了
被设置为假
之前发送另一个真正的
validIn
信号。
数据类型:布尔
参数
在A和B矩阵的行数- - - - - -在A和B矩阵的行数
4
(默认)|正整数值标量
矩阵的行数一个和B,指定为一个正整数值标量。
编程使用
块参数:米 |
类型:特征向量 |
价值观:正整数值标量 |
默认值:4 |
矩阵的列数- - - - - -矩阵的列数
4
(默认)|正整数值标量
输入矩阵的列数一个,指定为一个正整数值标量。
编程使用
块参数:n |
类型:特征向量 |
价值观:正整数值标量 |
默认值:4 |
矩阵的列数B- - - - - -矩阵的列数B
1
(默认)|正整数值标量
输入矩阵的列数B,指定为一个正整数值标量。
编程使用
块参数:p |
类型:特征向量 |
价值观:正整数值标量 |
默认值:1 |
正则化参数- - - - - -正则化参数
0(默认)|真正负的标量
正则化参数,指定为负的标量。小,正面的正则化参数值可以提高问题的调节,减少估计的方差。虽然有偏见,但减少方差的估计往往导致一个更小的均方误差相比,最小二乘估计。
编程使用
块参数:regularizationParameter |
类型:特征向量 |
价值观:真正的负的标量 |
默认值:0 |
提示
使用fixed.getQRDecompositionModel (A, B)
生成一个包含一个模板模型复杂的破裂QR分解块为复数的输入矩阵一个
和B
。
算法
选择实现方法
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]。的有效/准备
握手过程是用来传输数据和控制信息。这种双向控制机制允许经理和下属控制速率信息管理者和下属之间移动。一个有效的
信号表明当数据是可用的。的准备好了
信号表示可以接受的数据块。数据传输发生只有当了有效的
和准备好了
信号是高。
块时间
的破裂QR分解块接受和处理一个和B矩阵的行同步。后接受米行,块输出R和C矩阵的行。矩阵的第一行从最后一行输出。
例如,假设输入一个和B3 x3的矩阵。另外假设validIn
断言之前准备好了
,这意味着上游数据源是超过了QR分解。
在图中,
A1r1
第一行的第一个吗一个矩阵,R1r3
第三行第一个吗R矩阵,等等。validIn
来准备好了
——从一个成功的行输入块准备接受下一行。最后一行
validIn
来validOut
——从最后一行的输入块开始输出解决方案。validOut
来准备好了
——从块开始输出解块准备接受下一个矩阵输入。
的破裂Q-less QR分解块接受和处理矩阵一个行,行。后接受米行,块输出矩阵R行,行。矩阵输出的最后一行,第一行。
例如,假设输入一个矩阵是3×3。另外假设validIn
断言之前准备好了
,这意味着上游数据源是超过了QR分解。
在图中,
A1r1
第一行的第一个吗一个矩阵,R1r3
第三行第一个吗R矩阵,等等。validIn
来准备好了
——从一个成功的行输入块准备接受下一行。最后一行
validIn
来validOut
——从最后一行的输入块开始输出解决方案。validOut
来准备好了
——从块开始输出解块准备接受下一个矩阵输入。
下表提供了细节的时机破裂QR分解块。
块 | validIn 来准备好了 (周期) |
最后一行validIn 来validOut (周期) |
validOut 来准备好了 (周期) |
---|---|---|---|
真正的破灭QR分解 | (王+ 5)*分钟(米,n)+ 2 | (王+ 5)*分钟(米,n)+ 2 | 分钟(米,n)+ 1 |
复杂的破裂QR分解 | (王* 2 + 11)* min (米,n)+ 2 | (王* 2 + 11)* min (米,n)+ 2 | 分钟(米,n)+ 1 |
真正的破灭Q-less QR分解 | (王+ 5)*分钟(米,n)+ 2 | (王+ 5)*分钟(米,n)+ 2 | 分钟(米,n)+ 1 |
复杂的破裂Q-less QR分解 | (王* 2 + 11)* min (米,n)+ 2 | (王* 2 + 11)* min (米,n)+ 2 | 分钟(米,n)+ 1 |
在表中,米代表了在矩阵的行数一个,n矩阵的列数一个。王代表单词的长度一个。
如果数据类型的一个是固定的点呢王字长。
如果数据类型的一个是两倍,那么王是53。
如果数据类型的一个是单身,那么王是24。
硬件资源利用率
使用仿真软件这一块支持金宝appHDL代码生成金宝app®高密度脂蛋白工作流顾问。例如,看到的从仿真软件模型HDL代码生成和FPGA合成金宝app(高密度脂蛋白编码器)和为FPGA实现数字下变频器(DSP HDL工具箱)。
这个示例中生成的数据合成Xilinx块®Zynq®UltraScale™+ RFSoC ZCU111评估板。Vivado合成工具®v.2020.2 (win64)。
以下参数被用于合成。
块参数:
m = 16
n = 16
p = 1
矩阵一个尺寸:16 x16
矩阵B维度:16-by-1
输入数据类型:
sfix16_En14
目标:频率300 MHz
下表显示帖子place-and-route资源利用率结果和时间总结,分别。
资源 | 使用 | 可用 | 利用率(%) |
---|---|---|---|
CLB附近地区 | 22713年 | 425280年 | 5.34 |
CLB寄存器 | 22469年 | 850560年 | 2.64 |
需求方 | 0 | 4272年 | 0.00 |
块RAM瓷砖 | 0 | 1080年 | 0.00 |
URAM | 0 | 80年 | 0.00 |
价值 | |
---|---|
要求 | 3.3333 ns |
数据路径的延迟 | 3.149 ns |
松弛 | 0.166 ns |
时钟频率 | 315.72兆赫 |
引用
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
Slope-bias表示不支持定点数据类型。金宝app
HDL代码生成
生成FPGA和ASIC设计的Verilog和VHDL代码使用HDL编码器™。
影响高密度脂蛋白HDL编码器™提供了额外的配置选项和合成逻辑实现。
这一块有一个默认的HDL的架构。
一般 | |
---|---|
ConstrainedOutputPipeline | 寄存器的数量在输出中通过移动现有的延迟你的设计。分布式流水线不重新分配这些寄存器。默认值是 |
InputPipeline | 数量的输入管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 数量的输出管道阶段生成的代码插入。分布式流水线和限制输出管道可以移动这些寄存器。默认值是 |
金宝app只支持定点数据类型。
版本历史
介绍了R2019bMATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。