卷积码是在信息序列通过有限状态移位寄存器的过程中产生的。
通常,移存器包含N级(每级A比特),并对应有基于生成多项式的m个线性代数方程,输入数据每次以A位(比特)移入移位寄存器,在此同时有n位(比特)数据作为己编码序列输出,编码效率为A/n。
参数N被称作约束长度,它指明了当前的输出数据与多少输入数据有关。
它决定了编码的复杂度。
译码器的功能就是,运用一种可以将错误的发生减小到最低程度的规则或方法,从已编码的码字中解出原始信息。
在信息序列和码序列之间有一对一的关系。
此外,任何信息序列和码序列将与网格图中的唯一一条路径相联系。
因而,卷积译码器的工作就是找到网格图中的这一条路径。
Viterbi算法可被描述如下;
把在时刻i,状态所对应的网格图节点记作,每个网相节点被分配一个值。
节点值按如下方式计算:(1)设,。
(2)在时刻i,对于进入每个节点的所有路径计算其不完全路径的长度。
(3)令为在i时刻,到达与状态。
相对应的节点的最小不完全路径长度。
通过在前一节点随机选择一条路径就可产生新的结果。
非存留支胳将从网格图中删除。
以这种方式,可以从。
处生成一组最小路径。
(4)当L表示输入编码段的数目,其中每段为k比特,m为编码器中的最大穆存器的长度,如果,那么令,返回第二步。
一旦计算出所有节点值,则从时刻,状态。
开始,沿网格图中的存留支路反向追寻即可。
这样被定义的支路与解码输出将是一一对应的。
关于不完全路径长度,硬判决解码将采用Hamming距离,而软判决解码将采用Euclidean距离。
2023/11/27 12:42:20 39KB 卷积 编解码
1
本帖代码和教程有Matlab技术论坛原创,原帖参见http://www.matlabsky.com/viewthread.php?tid=3885一、数值积分基本公式数值求积基本通用公式如下Eqn1.gif(1.63KB)2009-11-2023:23xk:求积节点Ak:求积系数,与f(x)无关数值积分要做的就是确定上式中的节点xk和系数Ak。
可以证明当求积系数Ak全为正时,上述数值积分计算过程是稳定。
二、插值型数值积分公式对f(x)给定的n+1个节点进行Lagrange多项式插值,故Eqn2.gif(2.95KB)2009-11-2023:23即求积系数为Eqn3.gif(3.29KB)2009-11-2023:23三、牛顿-柯特斯数值积分公式当求积节点在[a,b]等间距分布时,插值型积分公式(先使用Lagrange对节点进行多项式插值,再计算求积系数,最后求积分值)称为Newton-Cotes积分公式。
由于Newton-Cotes积分是通过Lagrange多项式插值变化而来的,我们都知道高次多项式插值会出现Runge振荡现象,因此会导致高阶Newton-Cotes公式不稳定。
Newton-Cotes积分公式的求积系数为Eqn4.gif(3.38KB)2009-11-2023:28其中C(k,n)称为柯特斯系数。
(1)当n=1时,Newton-Cotes公式即为梯形公式Eqn5.gif(1.68KB)2009-11-2023:28容易证明上式具有一次代数精度(对于Newton-Cotes积分公式,n为奇数时有n次迭代精度,n为偶数时具有n+1次精度,精度越高积分越精确,同时计算量也越大)(2)当n=2时,Newton-Cotes公式即为辛普森(Simpson)公式或者抛物线公式Eqn6.gif(2.04KB)2009-11-2023:28上式具有3次迭代精度(3)当n=4时,Newton-Cotes公式称为科特斯(Cotes)公式Eqn7.gif(2.68KB)2009-11-2023:28上式具有5次迭代精度。
由于n=3和n=2时具有相同的迭代精度,但是n=2时计算量小,故n=3的Newton-Cotes积分公式用的很少(4)当≥8时,通过计算可以知道,在n=8时柯特斯系数出现负值由于数值积分稳定的条件是求积系数Ak必须为正,所以n>=8以上高阶Newton-Cotes公式,我们不能保证积分的稳定性(其根本原因是,Newton-Cotes公式是由Lagrange插值多项推导出来的,而高阶多项式会出现Rung现象)。
四、复化求解公式n阶Newton-Cotes公式只能有n+1个积分节点,但是高阶Newton-Cotes公式由不稳定。
为了提高大区间的数值积分精度,我们采用了分段积分的方法,即先将原区间划分成若干小区间,然后对每一个小区间使用Newton-Cotes积分公式,这就是复化Newton-Cotes求积公式。
(1)当n=1时,称为复化梯形公式。
将[a,b]等分为n份,子区间长度为h=(b-a)/n,则复化梯形公式为(注意:复化求解公式不需要求积子区间等间距,只是Newton-Cotes公式分段积分时自动对小区间进行等分,我们这里采用等分子区间是为了便于计算而已)Eqn8.gif(2.18KB)2009-11-2023:28(2)当n=2时,称为复化辛普森公式。
Eqn9.gif(2.96KB)2009-11-2023:28五、Newton-Cotes数值积分公式Matlab代码
2023/11/26 8:36:30 126KB Matlab 技术论坛 牛顿 科特斯
1
一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。
当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计)。
给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置。
程序给出了仿真结果,最后的图像显示需要opencv.
2023/11/26 3:08:24 40KB 算法竞赛
1
大学数据结构编程题目及答案如下:1.写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。
解:输入:长度为n的线性表数组A(1:n)输出:逆转后的长度为n的线性表数组A(1:n)。
C语言描述如下(其中ET为数据元素的类型)......
2023/11/24 11:51:14 273KB 数据结构
1
动态效果,黑客帝国#include#defineID_TIMER1#defineSTRMAXLEN25//一个显示列的最大长度#defineSTRMINLEN8//一个显示列的最小长度LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);typedefstructtagCharChain//整个当作屏幕的一个显示列,这是个双向列表{structtagCharChain*prev;//链表的前个元素TCHARch;//一个显示列中的一个字符structtagCharChain*next;//链表的后个元素}CharChain,*pCharChain;typedefstructtagCharColumn{CharChain*head,*current,*point;intx,y,iStrLen;//显示列的开始显示的x,y坐标,iStrLen是这个列的长度intiStopTimes,iMustStopTimes;//已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的}CharColumn,*pCharColumn;/***********************/........................................
2023/11/24 9:22:47 9KB 特效C语言
1
使用面向连接的套接字编程,通过图2来表示其时序。
套接字工作过程如下:服务器首先启动,通过调用socket()建立一个套接字,然后调用bind()将该套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度,之后就调用accept()来接收连接。
客户在建立套接字后就可调用connect()和服务器建立连接,连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。
最后,待数据传送结束后,双方调用close()关闭套接字。
2023/11/24 9:12:40 178KB TCP/IP 网络
1
给出目录和文件信息,要求编程实现将其排列成一棵有一定缩进的树。
要求:(1)设计文件和目录信息树的存储结构。
(2)从文件或键盘输入目录和文件信息,输入格式采用绝对路径法,即:\A\A\AA1\A\AA1\aa1.doc…创建时要检查同一路径下不能有同名的目录或文件名。
(3)设计文件和目录信息树的输出格式(以凹入表的形式显示)。
(4)查找指定目录和文件。
(5)添加新目录或新文件。
(6)删除指定目录或文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;
根目录不能删除。
(7)扩充目录或文件信息,如创建时间、读写权限、文件长度或子目录包含的子目录和文件数等。
(8)对同一层次下的子目录或文件按创建时间有序输出。
1
C#通过微软类库,S7.NET读写西门子SiemensS7(200,300,400,1200,1500)数据块实例代码。
方便开发人员轻松实现读写DB块的功能(具体读(写)哪个块,读(写)开始位置,读(写)长度,以参数形式传递,傻瓜式应用),开发人员在此基础上增加报文封装和解析,很方便的实现项目业务功能...
2023/11/20 21:23:44 322KB Siemens S7 plc通信 PLCDB块
1
学生体质测试大数据可视化系统基于初步开发的学生健康管理系统,开展学生体质测试大数据可视化分析,分析当代大学生的运动情况与体质改善的量化关系,对人群进行聚类、分类,并开发各种有效的分析工具,包括有效的上卷、下钻OLAP工具。
要求:(1)开发可视化工具;
(2)可视化数据分析、报表生成;
(3)实现系统1.数据库是mysql2.开发工具eclipse3.java编程框架使用ssh4.前端html/css5.使用echart6.有登录界面7.有展示界面:根据选择的展示方式呈现不同类型的图表,例如折线图,表格,柱状图,饼状图等,包括的展示图有各年级男生1000m花费时间以及成绩展示,各年级女生800m花费时间以及成绩展示,男女生50m成绩以及花费时间展示,各年级学生总分展示,各年级男女生跳远距离以及分数展示,各年级男生引体向上个数以及成绩展示,各年级女生仰卧起坐个数以及成绩展示,各年级坐位体前屈长度以及分数展示,各年级学生肺活量以及分数展示。
(每一张展示图都可以切换不同类型的图表来展示,选3-4个实用的就行)
2023/11/20 17:13:37 93.08MB java 管理系统 可视化
1
编程实现基于时间抽取的基2的FFT算法要求:实现任意长度的基于时间抽取的基2的FFT算法,统计算法运行所需时间,与DFT的直接实现进行运行时间对比,与现存的FFT算法运行时间进行对比。
2023/11/18 16:28:33 266KB C语言
1
共 571 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡