实现turbo码的编码和解码,是一个递归卷积码的编解码的程序
上传时间: 2017-08-08
上传用户:ve3344
是一个四发四收的球型译码程序,编码是卷积码,调制方式是BPSK,用Vblast来实现解码。
上传时间: 2013-12-22
上传用户:zhuimenghuadie
数字信号处理dsp的一些c语言源代码,实现卷积,傅里叶变换,傅里叶反变换等功能,并且能够通过图形界面显示出来
上传时间: 2013-12-25
上传用户:xwd2010
使用matlab编程,实现FFT卷积算法,经过样机的实验,得到正确的结果,而且代码简单易懂。
上传时间: 2017-08-10
上传用户:koulian
本程序正在完善中,目前仅适用于(4,3,3)卷积码,请见谅
上传时间: 2013-12-28
上传用户:阿四AIR
该工程下实现了图像的载入,复制粘结功能,同时还实现了图像的卷积和傅立叶变换。
上传时间: 2014-12-04
上传用户:czl10052678
编写一个MATLAB函数,实现快速卷积算法,给出一个实例。用一个N点离散傅立叶变换同时计算两个N点实序列的离散傅立叶变换。
上传时间: 2013-12-26
上传用户:q123321
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
viterbi译码算法是一种卷积码的解码算法。优点不说了。缺点就是随着约束长度的增加算法的复杂度增加很快。约束长度N为7时要比较的路径就有64条,为8时路径变为128条。 (2<<(N-1))。所以viterbi译码一般应用在约束长度小于10的场合中。 先说编码(举例约束长度为7):编码器7个延迟器的状态(0,1)组成了整个编码器的64个状态。每个状态在编码器输入0或1时,会跳转到另一个之中。比如110100输入1时,变成101001(其实就是移位寄存器)。并且输出也是随之而改变的。 这样解码的过程就是逆过程。算法规定t时刻收到的数据都要进行64次比较,就是64个状态每条路有两条分支(因为输入0或1),同时,跳传到不同的两个状态中去,将两条相应的输出和实际接收到的输出比较,量度值大的抛弃(也就是比较结果相差大的),留下来的就叫做幸存路径,将幸存路径加上上一时刻幸存路径的量度然后保存,这样64条幸存路径就增加了一步。在译码结束的时候,从64条幸存路径中选出一条量度最小的,反推出这条幸存路径(叫做回溯),得出相应的译码输出。
上传时间: 2016-08-08
上传用户:June
(n, k, N)卷积码的状态数为2k (N−1) ,对每一时刻要 做2k (N−1) 次“加-比-存”操作,每一操作包括2k 次加法和2k −1 次比较,同时要保留2k (N−1) 条幸存路径。由此可见,Viterbi 算法的复杂度与信道质量无关,其计算量和存储量都随约束 长度N 和信息元分组k 呈指数增长。因此,在约束长度和信息元分组较大时并不适用。 为了充分利用信道信息,提高卷积码译码的可靠性,可以采用软判决Viterbi 译码算法。 此时解调器不进行判决而是直接输出模拟量,或是将解调器输出波形进行多电平量化,而不 是简单的 0、1 两电平量化,然后送往译码器。即编码信道的输出是没有经过判决的“软信 息”。
上传时间: 2016-08-08
上传用户:June