整数输出RS解码器HDL优化
解码数据使用里德-所罗门(RS)解码器
- 库:
通信工具箱HDL支持/错误检测和纠正/块金宝app
通信工具箱/错误检测和纠正/块
描述
的整数输出RS解码器HDL优化块使用RS解码器解码数据。RS解码遵循与任何其他循环冗余码相同的标准。使用此块对通信系统前向纠错(FEC)代码进行建模。该模块提供了适合于HDL代码生成和硬件部署的体系结构。
有关RS解码器的更多信息,请参见整数输出RS解码器块。有关表示RS代码数据的更多信息,请参见整数格式(仅限Reed-Solomon)。
港口
输入
dataIn
-输入数据
标量
输入数据,指定为表示一个符号的标量。对于二进制点缩放,输入数据类型必须是整数或fixdt
。的双
数据类型允许用于模拟,但不允许用于HDL代码生成。
数据类型:双
|int8
|int16
|int32
|int64
|不动点
startIn
—输入框启动指示灯
标量
输入帧指示符的开始,指定为布尔标量。
数据类型:布尔
endIn
—输入帧结束指示灯
标量
输入帧结束指示符,指定为布尔标量。
数据类型:布尔
validIn
—有效的输入数据指示灯
标量
有效的输入数据指示符,指定为布尔标量。
这是一个控制信号,指示数据是否在dataIn端口有效。
数据类型:布尔
输出
dataOut
—已解码的消息数据
标量
已解码的消息数据,作为标量返回。该输出数据宽度与输入数据宽度相同。
数据类型:双
|int8
|int16
|int32
|int64
|不动点
startOut
—输出框指示灯启动
标量
输出帧指示符的开始,作为布尔标量返回。
数据类型:布尔
endOut
—输出框结束指示灯
标量
输出帧指示符结束,作为布尔标量返回。
数据类型:布尔
validOut
—有效的输出数据指示灯
标量
有效的输出数据指示符,作为布尔标量返回。
这是一个控制信号,指示数据是否在dataOut端口有效。
数据类型:布尔
errOut
-收到的数据损坏的迹象
标量
接收到的数据损坏的指示,作为布尔标量返回。
当此值为1
(真正的
),则输出至少包含一个错误。当此值为0
(假
),则输出为零错误。
如果输入码字中的错误数大于(码字长度- - - - - -消息长度)/2
,块输出数据而不纠错,并设置errOut港口1
(真正的
)表示输入码字中存在无法纠正的错误。
数据类型:布尔
numErrors
-已纠正错误的数量
负的标量
更正的错误数,作为非负标量返回。
RS码可以纠正的最大错误数等于(码字长度- - - - - -消息长度) / 2。如果输入码字中的错误数大于(码字长度- - - - - -消息长度)/2,则块不纠错输出数据,并设置numErrors港口0
表示这些错误都无法纠正。
依赖关系
要启用该端口,请选择输出已纠正的符号错误数参数。
数据类型:uint8
参数
码字长度
-码字长度
7
(默认值)|的取值范围是7 ~ 65,535
指定码字长度。
码字长度N
一定是一个等于2的整数吗米- 1,其中米整数形式,取值范围为3 ~ 16。有关表示RS代码数据的更多信息,请参见整数格式(仅限Reed-Solomon)。
消息长度
-消息长度
3.
(默认值)|正整数
指定消息长度。
有关表示RS代码数据的更多信息,请参见整数格式(仅限Reed-Solomon)。
原始多项式的来源
-原始多项式源
汽车
(默认)|财产
指定原始多项式的来源。
选择
汽车
的基础上指定原始多项式码字长度参数值。原始多项式的次数计算为米=装天花板
(日志2(码字长度)。。选择
财产
来指定原始多项式本原多项式参数。
本原多项式
-原始多项式
[1 0 1 1]
(默认)|二进制行向量
B的源,原始多项式根的起始幂
-原始多项式根的起始功率源
汽车
(默认)|财产
指定原始多项式的根的起始功率的来源。
选择
财产
要启用B值参数。选择
汽车
,使用…B值参数默认值1
。
B值
-根的起始指数
1
(默认值)|正整数
根的起始指数。
依赖关系
若要启用此参数,请设置B的源,原始多项式根的起始幂参数财产
。
输出已纠正的符号错误数
-改正符号错误的次数
从
(默认)|在
选择此参数可启用numErrors输出端口。该端口输出纠正错误的数量。
算法
的示例输出整数输出RS解码器HDL优化块,使用默认配置。
故障排除
每个输入帧必须包含超过(N- - - - - -K) x 2个符号,小于或等于N符号。当有效数据样本的数量在startIn和endIn小于N。缩短代码仍然需要N循环来执行查找。如果输入小于N符号,至少留下一个守卫间隔N-在开始下一帧之前输入的非活动周期的大小。
解码器一次最多可以处理四条消息。如果该块在完全解码第一个消息之前接收到第五个消息的开始,则该块从第一个消息中丢弃数据样本。要避免此问题,请增加输入消息之间的非活动周期的数量。
生成器多项式没有明确指定。但是,它是由码字长度、消息长度和B值求根的起始指数。
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
不建议用于生产代码。
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
该块具有单一的默认HDL体系结构。
ConstrainedOutputPipeline | 通过在设计中移动现有延迟来放置在输出端的寄存器数。分布式管道不会重新分配这些寄存器。默认值为 |
InputPipeline | 在生成的代码中插入的输入管道阶段的数目。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出管道阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
在a中不能为这个块生成HDL可复位的同步子系统(高密度脂蛋白编码器)。
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。