亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? turbo_code_log_map.h

?? turbo 碼的c語言程序
?? H
字號(hào):
/*---------------------------------------------------------------
* Copyright Nov 2003, Mobile Communication Lab of BUPT
* All rights reserved.
*
* turbo_code_Log_MAP.h
*
* Header file for turbo_code_Log_MAP.cpp.
*
* Version: 1.0
* Programmed By Peng Zhang
* Last updated date: Dec, 13, 2003
---------------------------------------------------------------*/

#ifndef	TRUBO_CODE_LOG_MAP_H
#define	TRUBO_CODE_LOG_MAP_H

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>

/*==================================================*/
/*	parameters for simulation	*/
#define TYPE_INTERLEAVER	2				/* type of interleaver */
#define TYPE_DECODER		1				/* type of decoder :
												 1 for Log_MAP
												 2 for MAX_Log_MAP */
#define N_ITERATION			6				/* number of iteration times */
#define TURBO_PUNCTURE		1				/* puncture or not
												1 for punctured
												0 for unpunctured */
#define MAX_FRAME_LENGTH	1280
#define SUP_FRAME_LENGTH	320
/*==================================================*/
/* parameters for the code generator */
#define COLUMN_OF_G		4	
#define G_ROW_1			13
#define G_ROW_2			15

/*==================================================*/
/*==================================================*/

/* structures */

/* code generator */
typedef struct
{
	int N_num_row;
	int K_num_col;
	int *g_matrix;
} TURBO_G;

/* trellis */
typedef struct
{
	int *mx_nextout;
	int *mx_nextstat;
	int *mx_lastout;
	int *mx_laststat;
	
} TURBO_TRELLIS;

/*==================================================*/
/* parameters of block interleavers */

#define		M_BLOCK_INT		40
#define		N_BLOCK_INT		8


/*==================================================*/
/* A number used in Log-MAP decoder */
#define INFTY 1E20

/*==================================================*/

/* global memory */

int *index_randomintlvr;		/* index of random intleaver */
int *index_randomintlvr_sup;	/* index of random intleaver for suplement flow*/

/* puncture matrix */
int *mx_puncture_turbo_80;
int *mx_puncture_turbo_160;
int *mx_puncture_turbo_320;

TURBO_G turbo_g;				/* code generator struct */

TURBO_TRELLIS turbo_trellis;	/* turbo_trellis struct */	

float rate_coding;				/* the rate of coding */

/*==================================================*/
/*==================================================*/
/* interfaces to outside */

/* Turbo碼業(yè)務(wù)編碼函數(shù) */
void TurboCodingTraffic(int *trafficflow_source, float *coded_trafficflow_source,
						int *traffic_source_length);

/* Turbo碼業(yè)務(wù)譯碼函數(shù) */
void TurboDecodingTraffic(float *trafficflow_for_decode, int *trafficflow_decoded,
						  int *trafficflow_length, float EbN0dB);

/* Turbo碼補(bǔ)充編碼函數(shù) */
void TurboCodingSupflow(int *supflow, float *coded_supflow, int *supflow_length);

/* Turbo碼補(bǔ)充譯碼函數(shù) */
void TurboDecodingSupflow(float *supflow_for_decode, int *supflow_decoded,
						  int *supflow_length, float EbN0dB);

/* Turbo碼初始化函數(shù) */
void TurboCodingInit();

/* 釋放初始化時(shí)的內(nèi)存 */
void TurboCodingRelease();

/*==================================================*/
/*==================================================*/
/* functions used inside */
int gen_g_matrix(int k_column, int g_row1, int g_row2, int *mx_g_turbo);

void gen_trellis();

void int2bin(int intstat, int *tempstat, int length);

int bin2int(int *binseq, int length);

float random_turbo();

void gen_rand_index(int length, int type_flow);

void randominterleaver_int(int *data_unintlvr, int *interleaverddata, int length, int type_flow);

void randominterleaver_float(float *data_unintlvr, float *interleaverddata, int length, int type_flow);

void random_deinterlvr_int(int *data_unintlvr, int *interleaverddata, int length, int type_flow);

void random_deinterlvr_float(float *data_unintlvr, float *interleaverddata, int length, int type_flow);

void blockinterleaver_float(int m_blockintlvr, int n_blockintlvr, float *inputdata, float *outputdata);

void blockinterleaver_int(int m_blockintlvr, int n_blockintlvr, int *inputdata, int *outputdata);

void intlvrcdma2000_int(int *data_unintlvr, int *interleaveddata, int nturbo);

void intlvrcdma2000_float(float *data_unintlvr, float *interleaveddata, int nturbo);

void deintlvrcdma2000_float(float *data_unintlvr, float *interleaveddata, int nturbo);

void deintlvrcdma2000_int(int *data_unintlvr, int *interleaveddata, int nturbo);

void subscript(int nturbo, int *sub_2000);

int msbs(int value, int numofbits, int num_bits);

int lsbs(int value, int num_bits);

int bitreverse(int value, int num_bits);

void interleave_int(int *data_unintlvr, int *interleaveddata, int typeofinterleave, int nturbo, int type_flow);

void interleave_float(float *data_unintlvr, float *interleaveddata, int typeofinterleave, int nturbo, int type_flow);

void de_interleave_int(int *data_unintlvr, int *interleaveddata, int typeofinterleave, int nturbo, int type_flow);

void de_interleave_float(float *data_unintlvr, float *interleaveddata, int typeofinterleave, int nturbo, int type_flow);

void encoderm_turbo(int *source, int *send_turbo, int len_info, int type_flow);

void rsc_encode(int *source, int *rsc, int terminated, int len_info);

int encode_bit(int inbit, int *stat);

int gen_mx_punc();

void puncture(int *data_unpunc, int length_unpunc, int *data_punctured, 
			  int M_mx_punc, int N_mx_punc, int times_punc);

void depuncture(float *receive_punc, int length_punc, float *receive_depunced, 
				int M_mx_punc, int N_mx_punc, int times_punc);

void demultiplex(float *rec_turbo, int len_info, float *yk_turbo, int type_flow);

void Log_MAP_decoder(float *recs_turbo, float *La_turbo, int terminated, float *LLR_all_turbo, int len_total);

void MAX_Log_MAP_decoder(float *recs_turbo, float *La_turbo, int terminated, float *LLR_all_turbo, int len_total);

float get_max(float *data_seq, int length);

float E_algorithm(float x, float y);

float E_algorithm_seq(float *data_seq, int length);

void decision(float *LLR_seq, int length, int *output);

/*==================================================*/

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久av毛片精品| 日韩精品一区二区三区四区视频| 国模大尺度一区二区三区| 日本aⅴ亚洲精品中文乱码| 国产一区二区三区免费在线观看| 国产成人自拍网| 色激情天天射综合网| 欧美一区二区美女| 中文字幕一区av| 日韩不卡一二三区| 成人三级在线视频| 337p亚洲精品色噜噜狠狠| 日本一区二区三区电影| 亚洲国产一区二区三区| 国产精品资源站在线| 在线这里只有精品| 三级久久三级久久久| 色悠悠亚洲一区二区| 精品国产制服丝袜高跟| 亚洲成a人片在线观看中文| 成人一区在线看| 精品国产一二三| 三级精品在线观看| 欧美日韩精品系列| 亚洲精品日韩综合观看成人91| 精品一区二区三区视频在线观看 | 欧美精品一区二区三| 一区二区三区四区视频精品免费| 国产精品亚洲视频| 精品国产污网站| 日韩成人一级片| 欧美绝品在线观看成人午夜影视| 亚洲精品视频自拍| 欧美性色aⅴ视频一区日韩精品| 亚洲视频在线观看一区| caoporm超碰国产精品| 国产精品欧美一区喷水| 91视频免费观看| 亚洲一二三区不卡| 日韩一区二区三区在线观看| 男女男精品网站| 国产亚洲一区二区三区四区 | 日韩三级视频中文字幕| 九九精品视频在线看| 国产欧美精品一区| 色妞www精品视频| 亚洲成年人影院| 精品国产百合女同互慰| 成人av高清在线| 亚洲一线二线三线久久久| 国产一区二区调教| 久久久久久99精品| 日韩黄色片在线观看| 欧美不卡激情三级在线观看| 国产成人亚洲精品狼色在线| 亚洲黄网站在线观看| 久久综合色综合88| 久久综合成人精品亚洲另类欧美 | 亚洲同性gay激情无套| 欧美日韩精品免费| 日本sm残虐另类| 日韩美女啊v在线免费观看| 欧美老女人在线| www.在线成人| 国产在线视频精品一区| 一区二区三区四区高清精品免费观看 | 久久久久99精品一区| 欧美三级日韩在线| a亚洲天堂av| 日韩福利电影在线观看| 日韩美女久久久| 97久久超碰精品国产| 日本系列欧美系列| 亚洲一区二区三区四区的| 久久久精品免费观看| 国产精品第五页| 精品国产免费视频| 日韩精品一区在线| 日韩精品最新网址| 26uuu国产日韩综合| 欧美电影免费观看完整版| 欧美老人xxxx18| 欧美一区二区在线免费观看| 欧美丝袜丝nylons| 日韩一区二区电影| 久久精品视频在线看| 国产精品久久久久久久久图文区| 欧美激情一区二区三区不卡| 国产精品视频你懂的| 亚洲精品国产视频| 蜜桃精品视频在线| 国产麻豆成人传媒免费观看| av电影在线观看不卡| 欧美日韩国产首页在线观看| 日韩欧美视频在线| 中文字幕一区日韩精品欧美| 亚洲国产综合人成综合网站| 精品一区二区三区影院在线午夜| 不卡视频在线看| 欧美一区二区三区在线| 国产人成亚洲第一网站在线播放 | 裸体一区二区三区| 成人听书哪个软件好| 欧美人体做爰大胆视频| 国产精品久久久久久久久快鸭| 亚洲午夜电影在线| 精品一区二区三区在线观看 | 国产亚洲精品aa| 亚洲第一电影网| 91麻豆国产在线观看| 国产午夜精品久久久久久免费视| 性做久久久久久免费观看| 成人免费看黄yyy456| 精品久久久久香蕉网| 秋霞午夜av一区二区三区| 色欧美日韩亚洲| 久久激情五月婷婷| 日本伦理一区二区| 一区二区三区在线免费播放 | 日本成人在线电影网| 欧洲中文字幕精品| 亚洲一区在线观看免费| 91高清视频免费看| 一级精品视频在线观看宜春院| 99国产精品国产精品久久| 国产精品污www在线观看| 国产成人午夜视频| 亚洲乱码日产精品bd| 精品久久久久久久人人人人传媒| 国产一区二区三区黄视频| 国产女人aaa级久久久级| 处破女av一区二区| 一区二区三区精品视频| 欧美亚洲综合在线| 免费看精品久久片| 久久精品一区二区三区av| 99久久综合精品| 视频在线观看国产精品| 国产三级一区二区| 欧美日韩精品一区二区三区 | 国产日韩精品一区二区三区在线| 国产精品99久久久久久有的能看| 亚洲国产精品成人久久综合一区| 91老师片黄在线观看| 亚洲午夜日本在线观看| 欧美大白屁股肥臀xxxxxx| 成人中文字幕在线| 日本午夜一区二区| 亚洲色图另类专区| 欧美成人精精品一区二区频| 一本一本久久a久久精品综合麻豆| 日本特黄久久久高潮| 中文字幕一区二区三区在线观看 | 在线看日韩精品电影| 亚洲资源中文字幕| 亚洲国产日韩在线一区模特| 日韩欧美一级在线播放| 一本一道久久a久久精品| 91丨porny丨国产| 日本中文字幕一区| 亚洲一区中文日韩| 亚洲欧美偷拍三级| 国产日韩欧美综合在线| 91精品国产色综合久久ai换脸| 99国产精品视频免费观看| 成人免费视频一区| 91在线观看免费视频| 欧美日韩高清在线播放| 欧美人狂配大交3d怪物一区| 欧美久久一二区| 欧美美女一区二区在线观看| 欧美日韩在线观看一区二区| 在线一区二区视频| 欧美三区在线视频| 欧美女孩性生活视频| 日韩一级黄色片| 久久久蜜臀国产一区二区| 久久免费视频一区| 久久综合色一综合色88| 欧美一卡二卡三卡四卡| 精品99久久久久久| 国产精品视频看| 亚洲乱码国产乱码精品精可以看| 亚洲欧美另类久久久精品 | www.欧美日韩国产在线| 欧洲另类一二三四区| 精品国产成人在线影院| 中文字幕亚洲综合久久菠萝蜜| 亚洲成人av一区二区| 国产精品一二三| 欧美系列日韩一区| 国产精品毛片高清在线完整版| 亚洲综合一区二区精品导航| 另类综合日韩欧美亚洲| 91麻豆免费在线观看| 久久精子c满五个校花| 一区二区三国产精华液| 国产精品亚洲第一| 欧美成人精品高清在线播放| 一区二区三区精品视频在线|