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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? turbo 碼的c語言程序
?? C
字號:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>

#include "turbo_code_Log_MAP.h"
#include "other_functions.h"

#define FRAME_LENGTH	320

extern float rate_coding;
extern TURBO_G turbo_g;

void main()
{
/*-----------------------------------------------------------------*/
	int *trafficflow_source = NULL;
	float *coded_trafficflow_source = NULL;
	int traffic_source_length;

	float *trafficflow_for_decode = NULL;
	int *trafficflow_decoded = NULL;
	int trafficflow_length;

	int *supflow_source = NULL;
	float *coded_supflow_source = NULL;
	int supflow_source_length;

	float *supflow_for_decode = NULL;
	int *supflow_decoded = NULL;
	int supflow_length;

	float EbN0dB = 0;

	float en, sgma;

//	double Eb_N0_dB[8] = {0.0, 0.15, 0.3, 0.45, 0.6, 0.75, 0.9, 1.05};
//	double Eb_N0_dB[8] = {0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4};
	double Eb_N0_dB[8] = {0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75};
//	double Eb_N0_dB[8] = {0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1};
//	double Eb_N0_dB[8] = {0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8};

//	int error_limit[8] = {20000, 10000, 5000, 2000, 1000, 800, 600, 300};
//	int error_limit[8] = {5000, 3000, 2000, 1000, 500, 300, 200, 100};
//	int error_limit[8] = {1000, 1000, 500, 300, 200, 100, 50, 20};
	int error_limit[8] = {500, 500, 300, 200, 100, 50, 20, 2};


	int err_bit_num_traffic[8];
	float err_bit_rate_traffic[8];

	int err_bit_num_sup[8];
	float err_bit_rate_sup[8];

	clock_t start, end;

	int i, j, nf, ien;

	FILE *stream;	/* point to "simu_report.txt" which is used to record the results */

	if ((trafficflow_source=(int *)malloc(FRAME_LENGTH*sizeof(int)))==NULL)
	{
	  printf("\n fail to allocate memory of trafficflow_source \n");
	  exit(1);  
	}
	if ((coded_trafficflow_source=(float *)malloc(2*FRAME_LENGTH*sizeof(float)))==NULL)
	{
	  printf("\n fail to allocate memory of coded_trafficflow_source \n");
	  exit(1);  
	}

	if ((trafficflow_for_decode=(float *)malloc(2*FRAME_LENGTH*sizeof(float)))==NULL)
	{
	  printf("\n fail to allocate memory of trafficflow_for_decode \n");
	  exit(1);  
	}
	if ((trafficflow_decoded=(int *)malloc(FRAME_LENGTH*sizeof(int)))==NULL)
	{
	  printf("\n fail to allocate memory of trafficflow_decoded\n");
	  exit(1);  
	}

	if ((supflow_source=(int *)malloc(320*sizeof(int)))==NULL)
	{
	  printf("\n fail to allocate memory of supflow_source \n");
	  exit(1);  
	}
	if ((coded_supflow_source=(float *)malloc(640*sizeof(float)))==NULL)
	{
	  printf("\n fail to allocate memory of coded_supflow_source \n");
	  exit(1);  
	}

	if ((supflow_for_decode=(float *)malloc(640*sizeof(float)))==NULL)
	{
	  printf("\n fail to allocate memory of supflow_for_decode\n");
	  exit(1);  
	}
	if ((supflow_decoded=(int *)malloc(320*sizeof(int)))==NULL)
	{
	  printf("\n fail to allocate memory of supflow_decoded\n");
	  exit(1);  
	}

	if ((stream=fopen( "simu_report.txt", "w" )) == NULL)
    {
	  printf("\nError! Can not open file simu_report.txt\n");
	  exit(1);
    }
	traffic_source_length = FRAME_LENGTH;
/*-----------------------------------------------------------------*/	
/*-----------------------------------------------------------------*/
	TurboCodingInit();
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/	
	for (ien=0; ien<8; ien++)
	{
		EbN0dB = (float)Eb_N0_dB[ien];
		
		en = (float)pow(10,(EbN0dB)/10);
		sgma = (float)(1.0/sqrt(2*rate_coding*en));
		
		err_bit_num_traffic[ien] = 0;
		err_bit_num_sup[ien] = 0;
		
		err_bit_rate_traffic[ien] = 0.0;
		err_bit_rate_sup[ien] = 0.0;
		
		/*====   output the simulation parameters	=====*/
		/*	to screen	*/
		printf("/*=================================*/\n");
		printf("Turbo code simulation:\n");
		printf("/*=================================*/\n");
		printf("====log map decoder====\n");
		printf("frame length : %d \n", traffic_source_length);
		printf("g = \n");
		for (i=0; i<turbo_g.N_num_row; i++)
		{
			for (j=0; j<turbo_g.K_num_col; j++)
			{
				printf("%d ", *(turbo_g.g_matrix+i*turbo_g.K_num_col+j));
			}
			printf("\n");
		}
		printf("Eb/N0 = %f \n", EbN0dB);
		if (TURBO_PUNCTURE)
		{
			printf("punctured to rate 1/2\n");
		}
		else
		{
			printf("unpunctured\n");
		}
		printf("iteration number : %d \n", N_ITERATION);
		printf("/*=================================*/\n");

		/*	to "simu_report.txt"	*/
		fprintf(stream, "/*=================================*/\n");
		fprintf(stream, "Turbo code simulation:\n");
		fprintf(stream, "/*=================================*/\n");
		fprintf(stream, "====log map decoder====\n");
		fprintf(stream, "frame length : %d \n", traffic_source_length);
		fprintf(stream, "g = \n");
		for (i=0; i<turbo_g.N_num_row; i++)
		{
			for (j=0; j<turbo_g.K_num_col; j++)
			{
				fprintf(stream, "%d ", *(turbo_g.g_matrix+i*turbo_g.K_num_col+j));
			}
			fprintf(stream, "\n");
		}
		fprintf(stream, "Eb/N0 = %f \n", EbN0dB);
		if (TURBO_PUNCTURE)
		{
			fprintf(stream, "punctured to rate 1/2\n");
		}
		else
		{
			fprintf(stream, "unpunctured\n");
		}
		fprintf(stream, "iteration number : %d \n", N_ITERATION);
		fprintf(stream, "/*=================================*/\n");
		/*=================================================================*/


		for (nf=0; err_bit_num_traffic[ien]<error_limit[ien]; nf++)
		//for (nf=0; nf<20; nf++)
		{
			start=clock();

			traffic_source_length = FRAME_LENGTH;
			supflow_source_length = 320;

			gen_source(trafficflow_source, traffic_source_length);
			gen_source(supflow_source, supflow_source_length);
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
			TurboCodingTraffic(trafficflow_source, coded_trafficflow_source, &traffic_source_length);
			TurboCodingSupflow(supflow_source, coded_supflow_source, &supflow_source_length);
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/

			AWGN(coded_trafficflow_source, trafficflow_for_decode, sgma, 2*FRAME_LENGTH);
			AWGN(coded_supflow_source, supflow_for_decode, sgma, 640);

			trafficflow_length = 2*FRAME_LENGTH;
			supflow_length = 640;
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
			TurboDecodingTraffic(trafficflow_for_decode, trafficflow_decoded, &trafficflow_length, EbN0dB);
			TurboDecodingSupflow(supflow_for_decode, supflow_decoded, &supflow_length, EbN0dB);
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
			printf("%d %s", nf+1, "frames transmitted\n");

			end=clock();
		    printf( "\n%5f seconds\n", (double)(end - start) / CLOCKS_PER_SEC);

			for (i=0; i<FRAME_LENGTH; i++)
			{
				if (*(trafficflow_source+i) != *(trafficflow_decoded+i))
				{
					err_bit_num_traffic[ien] = err_bit_num_traffic[ien]+1;
				}
			}
			for (i=0; i<320; i++)
			{
				if (*(supflow_source+i) != *(supflow_decoded+i))
				{
					err_bit_num_sup[ien] = err_bit_num_sup[ien]+1;
				}
			}
		}
		
		err_bit_rate_traffic[ien] = (float)err_bit_num_traffic[ien]/(nf*FRAME_LENGTH);
		err_bit_rate_sup[ien] = (float)err_bit_num_sup[ien]/(nf*320);

	}
	
	for (i=0; i<8; i++)
	{
		printf("%d ",err_bit_num_traffic[i]);
	}
	printf("\n");
	for (i=0; i<8; i++)
	{
		printf("%f ",err_bit_rate_traffic[i]);
	}
	printf("\n");

	for (i=0; i<8; i++)
	{
		printf("%d ",err_bit_num_sup[i]);
	}
	printf("\n");
	for (i=0; i<8; i++)
	{
		printf("%f ",err_bit_rate_sup[i]);
	}

/*-----------------------------------------------------------------*/	
/*-----------------------------------------------------------------*/	
	TurboCodingRelease();
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/	

	fclose(stream);

	free(trafficflow_source);
	free(coded_trafficflow_source);

	free(trafficflow_for_decode);
	free(trafficflow_decoded);

	free(supflow_source);
	free(coded_supflow_source);

	free(supflow_for_decode);
	free(supflow_decoded);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人成亚洲第一网站在线播放| 日本怡春院一区二区| 亚洲一区二区三区在线看| 麻豆91精品视频| 日本电影亚洲天堂一区| 欧美精品一区二区蜜臀亚洲| 一区二区三区中文免费| 国产99久久久精品| 91精品国产欧美一区二区18| 中文字幕日本乱码精品影院| 激情综合色播激情啊| 欧美久久一二区| 中文字幕一区在线| 狠狠色伊人亚洲综合成人| 欧美在线高清视频| 中文字幕在线不卡| 成人丝袜18视频在线观看| 久久影院午夜片一区| 青草国产精品久久久久久| 欧美日韩视频专区在线播放| 亚洲视频狠狠干| 成人少妇影院yyyy| 中文字幕av资源一区| 国产成人午夜视频| 久久免费看少妇高潮| 美腿丝袜亚洲综合| 欧美一区二区大片| 奇米色777欧美一区二区| 欧美欧美午夜aⅴ在线观看| 亚洲国产你懂的| 欧美色手机在线观看| 一区二区在线观看av| 91亚洲精品久久久蜜桃网站 | 久久av资源网| 欧美一区二区三区的| 亚洲福中文字幕伊人影院| 欧美视频一区二区三区四区| 亚洲第一狼人社区| 在线播放中文字幕一区| 日韩精品福利网| 欧美一二三四区在线| 蜜桃视频免费观看一区| 精品成人一区二区三区四区| 国产乱色国产精品免费视频| 国产视频一区在线播放| 99re成人精品视频| 一区二区三区在线视频观看58| 在线观看av不卡| 日韩av一区二区三区四区| 精品国产一区二区国模嫣然| 国产成人精品一区二区三区网站观看| 欧美高清在线一区二区| av在线播放一区二区三区| 亚洲综合色丁香婷婷六月图片| 欧美老肥妇做.爰bbww视频| 精品一区二区在线播放| 国产精品美女久久久久av爽李琼| 色一区在线观看| 蜜桃视频在线观看一区| 亚洲国产精品激情在线观看| 色悠悠久久综合| 久久国产人妖系列| 日韩一区欧美一区| 91精品国产综合久久香蕉的特点| 国产一区二区在线看| 中文字幕亚洲区| 欧美二区乱c少妇| 国产98色在线|日韩| 亚洲综合久久av| 久久丝袜美腿综合| 在线观看亚洲精品| 国产在线精品一区二区不卡了 | 欧美性感一区二区三区| 精品综合免费视频观看| 亚洲精品国产一区二区三区四区在线| 91麻豆精品国产综合久久久久久| 国产高清精品久久久久| 天天影视色香欲综合网老头| 国产精品无码永久免费888| 777久久久精品| 91社区在线播放| 国产伦精品一区二区三区在线观看| 亚洲永久免费视频| 欧美国产在线观看| 91精品欧美综合在线观看最新| www.日韩av| 国产麻豆精品一区二区| 日韩影视精彩在线| 亚洲女同ⅹxx女同tv| 日本一区二区三区在线观看| 日韩一区二区电影在线| 欧美日韩一区二区三区免费看| 国产河南妇女毛片精品久久久 | 日韩精品一区二区三区中文不卡 | a4yy欧美一区二区三区| 久久66热re国产| 日本aⅴ亚洲精品中文乱码| 亚洲人亚洲人成电影网站色| 国产三级欧美三级日产三级99| 日韩一区二区高清| 欧美一级一级性生活免费录像| 91久久精品一区二区三区| caoporn国产精品| 成人免费电影视频| 国产成人精品网址| 国产成人av一区二区三区在线| 狠狠久久亚洲欧美| 国产在线精品一区二区夜色| 日本午夜一区二区| 日本午夜精品视频在线观看| 日韩精品五月天| 日韩精品亚洲专区| 美国毛片一区二区| 老司机精品视频线观看86| 日本不卡的三区四区五区| 肉肉av福利一精品导航| 天天做天天摸天天爽国产一区 | 91黄色在线观看| 一本大道久久a久久综合婷婷| 91农村精品一区二区在线| 色悠久久久久综合欧美99| 在线观看不卡视频| 欧美日韩一区 二区 三区 久久精品| 91黄色小视频| 欧美一级高清片| 久久综合一区二区| 国产日韩视频一区二区三区| 中文字幕免费不卡| 亚洲欧美一区二区三区极速播放| 亚洲欧美一区二区三区孕妇| 亚洲成va人在线观看| 美女一区二区在线观看| 韩国精品主播一区二区在线观看| 国产一区二区在线影院| 99re这里只有精品视频首页| 在线视频国产一区| 日韩欧美精品在线| 国产日本欧美一区二区| 亚洲婷婷综合久久一本伊一区| 亚洲成人资源网| 精品亚洲欧美一区| 成人av片在线观看| 欧美日韩午夜精品| 久久综合成人精品亚洲另类欧美 | 国产高清亚洲一区| 日本精品视频一区二区三区| 8x8x8国产精品| 国产清纯白嫩初高生在线观看91| 亚洲桃色在线一区| 久久电影网站中文字幕| 99视频在线观看一区三区| 欧美理论在线播放| 国产欧美一区二区三区在线看蜜臀 | 成人黄色一级视频| 欧美日韩精品欧美日韩精品| 国产亚洲婷婷免费| 午夜欧美电影在线观看| 国产91综合网| 欧美精品久久天天躁| 国产精品网曝门| 日本成人在线电影网| 91天堂素人约啪| 日韩精品一区二区三区视频播放| 国产精品白丝在线| 精东粉嫩av免费一区二区三区| 在线观看亚洲精品视频| 欧美国产成人精品| 美女精品自拍一二三四| 91色九色蝌蚪| 中文字幕不卡三区| 国产一区不卡精品| 欧美一区二区三区色| 一区二区三区欧美激情| 本田岬高潮一区二区三区| 日韩午夜激情免费电影| 亚洲午夜久久久久久久久电影网 | 欧美特级限制片免费在线观看| 国产精品污污网站在线观看| 另类小说图片综合网| 欧美日韩视频专区在线播放| 亚洲欧美精品午睡沙发| 国产成人99久久亚洲综合精品| 日韩欧美国产精品一区| 天天色图综合网| 欧美午夜影院一区| 亚洲一区在线播放| 在线免费观看日本一区| 亚洲女同一区二区| 色综合久久天天综合网| 亚洲色图色小说| 99久久久精品免费观看国产蜜| 国产日韩欧美精品电影三级在线| 国模大尺度一区二区三区| 欧美大片国产精品| 免费高清不卡av| 欧美一区二区在线免费观看| 视频一区国产视频| 制服丝袜亚洲网站| 日本aⅴ亚洲精品中文乱码| 日韩亚洲欧美在线|