system generator 卷积编码器快速设计
卷积码
卷积码是一种特殊的编码方式,不仅与当前的输入有关,还与之前的输入有关。可以用一个多项式来表示一个卷积编码,多项式表示有多少个移位寄存器以及他们怎么与模2加法器相连。比如,下图中的无反馈的卷积编码器有一个输入、两个输出和两个以为寄存器。
无反馈的卷积编码器的描述包含2个部分:约束长度和生成多项式,有反馈的卷积编码器还包含一个反馈连接的多项式。约束长度是矢量,矢量的维度是输入数据的每一个点的bits数量,矢量的长度是移位寄存器的长度加上1(当前输入)。上图中的编码器约束长度是一个一维的矢量,因为输入是一维的,矢量的长度是3,2个移位寄存器的长度加当前输入1。
生成多项式,如果有k个输入和n个输出,则生成矩阵是一个Kxn的矩阵,第i行j列元素表示第i个输入和第j个输出之间的关系。上图中的两个矩阵分别为[110 111],生成多项式矩阵可以表示为[6 7]
matlab的函数poly2trellis是可以根据上面的参数设计编码器。
对于上图,状态变化和输出可以用正面的图表示
即当前状态如果为10,当前输入为0话下一个状态跳转到01,两个模2输出为11;如果输入为1,下一个状态跳转到11,输出为00。
用simulink来实现上图的编码器,
给的输入为一个symbol=1bit,数据为
Columns 1 through 13
1 0 1 1 0 1 1 1 0 0 0 1 1
Columns 14 through 21
0 1 1 0 0 0 0 1
编码输出为
Columns 1 through 13
1 1 1 1 1 0 0 0 1 0 1 0 0
Columns 14 through 26
0 0 1 1 0 0 1 0 0 1 1 0 0
Columns 27 through 39
1 0 1 0 0 0 1 0 0 1 0 0 0
Columns 40 through 42
0 1 1
对上述编码进行译码验证。
system generator 卷积编码器快速设计的更多相关文章
- System Generator入门
System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Logi ...
- System Generator简介
前言 System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Log ...
- Vivado HLS与System Generator:联系与区别
在很多年以前的ISE套件里面,有个功能强大的AccelDSP,它可以可自动地进行浮点到定点转换,并把算法生成可综合的HDL,还可以创建用于验证的测试平台,但是在4年前左右的时候销声匿迹了,当时的说法是 ...
- 利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator
一.前言 利用FPGA设计算法一直以来都是热点,同样也是难点.将复杂的数学公式 模型通过硬件系统来搭建,在低延时 高并行性等优势背后极大提高了设计难度和开发周期.Xilinx公司的sysGen(sys ...
- System Generator入门笔记
System Generator入门笔记 [CPLD/FPGA] 发布时间:2010-04-08 23:02:09 System Generator是Xilinx公司进行数字信号处理开发的一种设计 ...
- system generator学习笔记【02】
作者:桂. 时间:2018-05-20 23:28:04 链接:https://www.cnblogs.com/xingshansi/p/9059668.html 前言 继续学习sysgen.接触s ...
- system generator学习笔记【01】
作者:桂. 时间:2018-05-18 18:26:50 链接:http://www.cnblogs.com/xingshansi/p/9045914.html 前言 学习使用system gene ...
- 利用system generator 生成vivado ip—以低通滤波器举例
前段时间自学了matlab和vivado联合推出的system generator工具,用来做数字信号处理,十分好用且使开发更便捷,下面举个例子来供大家一起学习下. 首先打开matlab命令行,输入s ...
- 快速设计ComboBox下拉框
传统软件项目开发时,需要每个控件一个一个的来设计,同时需要在页面功能中对每个控件的属性进行判定处理,尤其是页面风格布局样式需要花去一大半的时间,并且后续要想修改是非常麻烦繁琐,这样就导致设计完成一个功 ...
随机推荐
- Bootstrap源码分析之dropdown
源码分析: Dropdowns.scss:下拉框模块 Javascripts/bootstrap/dropdown.js:实现下拉框响应 实现功能及原理: 下拉选项卡,默认不能实现显示选中项的功能 原 ...
- EpicEditor – 可嵌入的 JavaScript Markdown 编辑器
EpicEditor 是一款可以嵌入到网页中的 JavaScript Markdown 编辑器,支持全屏编辑.在线预览.自动保存草稿,离线支持等等.对于开发人员,它提供了一个健壮的API,可以很容易定 ...
- HTML <a> 标签
一,定义和用法 所有浏览器都支持 <a> 标签. <a> 标签定义超链接,用于从一张页面链接到另一张页面. <a> 元素最重要的属性是 href 属性,它指示链接的 ...
- Snort - 配置文件
Snort.conf 版本 2.9.8.3 编译可用选项: --enable-gre --enable-mpls --enable-targetbased --enable-ppm --enable- ...
- Android Handler机制(四)---Handler源码解析
Handler的主要用途有两个:(1).在将来的某个时刻执行消息或一个runnable,(2)把消息发送到消息队列. 主要依靠post(Runnable).postAtTime(Runnable, l ...
- 【C语言】C语言static和extern区别
目录: [static] [extern] 1.static · 定义一个内部函数/变量. · 声明一个内部函数/变量. 2.extern · 定义一个外部函数/变量. · 声明一个外部函数/变量. ...
- 【代码笔记】iOS-将log日志保存到文件
代码: #import "AppDelegate.h" #import "RootViewController.h" @implementation AppDe ...
- iOS 学习 - 12.NSMutableAttributedString 计算高度
计算 NSMutableAttributedString 高度,必须要有两个属性 -(void)test{ UILabel *label = [[UILabel alloc]initWithFrame ...
- IOS开发之小实例--创建一个简单的用于视频录制和回放的应用程序
前言:还是看了一下国外的入门IOS文章:<Create a Simple App for Video Recording and Playback>,主要涉及视频录制和回放的功能的基本实现 ...
- 区别和详解:jQuery中的 $().each()和$.each()/jQuery.each()
1.认识 $().each()遍历当前jQuery对象,并在每一个元素上执行回调函数.其方法内部是通过调用静态方法jQuery.each()来实现的. jQuery.each()是一个通用的遍 ...