资源简介
C语言实现了卷积码的不同约束长度下的编译码,使用维特比译码方法进行译码,经code::block测试通过,欢迎下载

代码片段和文件信息
/*
**************************************************************************************************************
*description:
* Convolution encodingdecoding and BER calculating(hard decisioncode rate 1/2constraint length 3-8arbitrary generate sequence)
*
*time:
* 2018.10.9
*
* 2018.11.17
* revise Gaussian function(old function has error)
**************************************************************************************************************
*/
#include “convolution_code.h“
int main()
{
int ijkq; //loop variable
int temp;
FILE * fp; //file pointer
fp = fopen(“err_rate.txt““w“); //create or open file
int frame = 5000; //frame number
float err_rate[RANGE]err_bit = 0; //error bits numberserror rates in different EbN0
srand(time(NULL)); //random seed
initial_set(); //set constrain length and generate sequence
state_transition(); //Calculating state transition diagram
setEbN0(); //set EbN0
//generate state contrast decoder table
for(i = 0;i < state_num;i++)
{
temp = (i + state_num)/2;
compare_table[i/2][i] = 0;
compare_table[temp][i] = 1;
}
//different EbN0
for(j = 0;j < RANGE;j++)
{
//repeat frame times
for(k = 0;k < frame;k++)
{
binaryrand(binary_array); //generate binary sequence
convcode(binary_arraygen_seq1conv_out1); //carry out convolution
convcode(binary_arraygen_seq2conv_out2); //carry out convolution
mergeconv(conv_out1conv_out2conv_out); //merge data
//BPSK modulation and generate Gaussian noise
for(i = 0;i < 2*(NUM + constraint_length - 1);i++)
{
if(conv_out[i] == 0) //BPSK modulation
conv_out[i] = -1;
gaussian[i] = 1/sqrt(2)*gaussianrand(); //Gaussian noise
gauss_out[i] = conv_out[i] + pow(10-EcN0[j]/20.0)*gaussian[i]; //BPSK modulation with noise
}
hard_decision(gauss_out); //hard decision
for(i = 0;i < NUM + constraint_length - 1;i++)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-06-27 11:07 cc_code_comparetable_hard\
目录 0 2019-06-27 11:07 cc_code_comparetable_hard\bin\
目录 0 2019-06-27 11:07 cc_code_comparetable_hard\bin\Debug\
文件 44876 2018-11-17 14:48 cc_code_comparetable_hard\bin\Debug\cc_code.exe
文件 1116 2018-10-10 22:39 cc_code_comparetable_hard\cc_code.cbp
文件 934 2018-10-15 22:25 cc_code_comparetable_hard\cc_code.depend
文件 552 2018-11-17 14:48 cc_code_comparetable_hard\cc_code.layout
文件 2876 2018-10-15 18:29 cc_code_comparetable_hard\convolution_code.h
文件 0 2018-10-15 22:25 cc_code_comparetable_hard\err_rate.txt
文件 17226 2018-11-17 14:48 cc_code_comparetable_hard\main.c
目录 0 2019-06-27 11:07 cc_code_comparetable_hard\obj\
目录 0 2019-06-27 11:07 cc_code_comparetable_hard\obj\Debug\
文件 17321 2018-11-17 14:48 cc_code_comparetable_hard\obj\Debug\main.o
- 上一篇:C++编写的多叉树结构
- 下一篇:c++局域网聊天室软件
相关资源
- C语言编程常见问题解答.pdf
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
评论
共有 条评论