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

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

?? somap.c

?? iterative 解碼庫,matlab 和 c寫的
?? C
字號:
/* File: Somap.c

   Description: Soft demapper (M-ary to binary LLR conversion)

   The calling syntax is:
      [output] = Somap( input, [demod_type], [extrinsic_info] )

   Where:
      output     = Length N*log2(M) stream of LLR values

      input      = M by N matrix of symbol likelihoods
	  demod_type = The type of max_star algorithm that is used 
	             = 0 For linear approximation to log-MAP (DEFAULT)
                 = 1 For max-log-MAP algorithm (i.e. max*(x,y) = max(x,y) )
                 = 2 For Constant-log-MAP algorithm
	             = 3 For log-MAP, correction factor from small nonuniform table and interpolation
                 = 4 For log-MAP, correction factor uses C function calls

	  extrinsic_info = 1 by N*log2(M) vector of extrinsic info (defaults to all-zero)

   Copyright (C) 2005-2006, Matthew C. Valenti

   Last updated on Jan. 11, 2006

   Function Somap is part of the Iterative Solutions 
   Coded Modulation Library. The Iterative Solutions Coded Modulation 
   Library is free software; you can redistribute it and/or modify it 
   under the terms of the GNU Lesser General Public License as published 
   by the Free Software Foundation; either version 2.1 of the License, 
   or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
  
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the Free Software
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/
#include <math.h>#include <mex.h>
#include <matrix.h>
#include <stdlib.h>
#include "./include/maxstar.h"/* Input Argumentsprhs[0] is input
prhs[1] is demod_type
prhs[2] is ex_info
/* Output Arguments
plhs[0] is output
/* main function that interfaces with MATLAB */void mexFunction(
				 int            nlhs,
				 mxArray       *plhs[],
				 int            nrhs,
				 const mxArray *prhs[] ){
	double  *input;
	double  *llr_in;	
	double  *output_p;
	
	int demod_type = 0;
	int M, m, DataLength; 
	int i, j, k, n, mask;
	int NumberSymbols;
	float metric;
	float *den, *num;
	int temp_int;
	float *llr;
	int Number_LLR_bits;

	/* put the different max_star functions into array so easy to call */
	float (*max_star[])(float, float) =
	{ 
		max_star0, max_star1, max_star2, max_star3, max_star4
	};

	/* Check for proper number of arguments */	if (nrhs ==  0) {
		mexErrMsgTxt("Usage: [output] = Somap( input, [demod_type], [extrinsic_info] )");
	} 
	if (nrhs > 0 ) {
		/* first (and only required) input is M-ary symbols for conversion */
		input = mxGetPr(prhs[0]);	
	} 	
	if (nrhs > 1) {
		/* second (optional) input is the demodulator type */
		demod_type = (int) *mxGetPr(prhs[1]);
		if ( (demod_type < 0)||(demod_type > 4) )
			mexErrMsgTxt("demod_type must be be 0 through 4");
	}
	
	/* initialize the input data */
	NumberSymbols = mxGetN(prhs[0]);
	M = mxGetM(prhs[0]);

	/* determine number of bits per symbol */
	m = 0;
	temp_int = M;
	while (temp_int>1) {
		temp_int = temp_int/2;
		m++;
	}
	/* printf( "%d bits per symbol\n", m ); */
	if (temp_int < 1)
		mexErrMsgTxt("Number of symbols M must be a power of 2");

	DataLength = m*NumberSymbols; /* total number of bits */

	/* allocate memory */
	den = calloc( m, sizeof(float) );
	num = calloc( m, sizeof(float) );
	llr = calloc( DataLength, sizeof(float) );  /* llr input defaults to all-zeros */

	if (nrhs > 2) {
		/* third (optional) input is the llr
		   if not long enough, assume that end is all-zeros */
		Number_LLR_bits = mxGetN(prhs[2]);
		if ( Number_LLR_bits > DataLength )
			mexErrMsgTxt("Too many a prior LLR inputs");

		llr_in = mxGetPr(prhs[2]);
		for (k=0;k<Number_LLR_bits;k++) {
			llr[k] = (float) llr_in[k];
		}
	}

	/* the bit-wise LLRs */		
	plhs[0] = mxCreateDoubleMatrix(1, DataLength, mxREAL );
	output_p = mxGetPr(plhs[0]);	
	
	for (n=0;n<NumberSymbols;n++) { /* loop over symbols */
	
		for (k=0;k<m;k++) {		
			/* initialize */
			num[k] = -1000000;			
			den[k] = -1000000;			
		}
			
		for (i=0;i<M;i++) {
			metric = input[n*M+i]; /* channel metric for this symbol */

			mask = 1 << m - 1;					
			for (j=0;j<m;j++) {		/* incorporate extrinsic info */
				if (mask&i) {
					metric += llr[n*m+j];
				}
				mask = mask >> 1;
			}

			mask = 1 << m - 1;
			for (k=0;k<m;k++) {	/* loop over bits */
				if (mask&i) {
					/* this bit is a one */
					num[k] = ( *max_star[demod_type] )( num[k], metric - llr[n*m+k] );
				} else {
					/* this bit is a zero */
					den[k] = ( *max_star[demod_type] )( den[k], metric );
				}
				mask = mask >> 1;
			}
		}	
			
		for (k=0;k<m;k++) {
			output_p[m*n+k] = num[k] - den[k];
		}
	}

	/* free memory */
	free( den );
	free( num );
	free( llr );

	return;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品忘忧草| 99久久精品费精品国产一区二区| 欧美人伦禁忌dvd放荡欲情| 一区二区国产盗摄色噜噜| 欧美性一二三区| 青青草97国产精品免费观看无弹窗版 | 欧美性淫爽ww久久久久无| 亚洲五月六月丁香激情| 欧美日韩久久不卡| 久久精品国产99国产| 欧美激情综合网| 91在线免费看| 五月综合激情婷婷六月色窝| 欧美一级xxx| 国产成a人无v码亚洲福利| 亚洲免费在线视频| 4438x亚洲最大成人网| 精品中文字幕一区二区小辣椒 | 久久久不卡网国产精品一区| 高清久久久久久| 一区二区三区在线播放| 欧美一区二区三区四区在线观看| 国产一区二三区好的| 综合分类小说区另类春色亚洲小说欧美| 在线精品视频小说1| 精品一区二区三区影院在线午夜 | 欧美成人精品福利| av亚洲产国偷v产偷v自拍| 性欧美大战久久久久久久久| 久久久久久免费网| 在线视频综合导航| 国产综合成人久久大片91| 亚洲精品va在线观看| 久久久久久免费| 欧美精品tushy高清| 成人avav影音| 日本欧美在线看| 最新不卡av在线| 精品欧美久久久| 欧美伊人久久大香线蕉综合69| 免费不卡在线观看| 一区二区三区在线观看欧美| 久久午夜老司机| 91麻豆精品久久久久蜜臀| 成人国产精品免费| 九九精品一区二区| 天堂影院一区二区| 一区二区三区小说| 中文一区二区完整视频在线观看 | 日韩女优毛片在线| 欧美日韩一区中文字幕| a亚洲天堂av| 国产91清纯白嫩初高中在线观看 | 亚洲成人精品在线观看| 国产精品毛片久久久久久久 | 久久精品免费在线观看| 8x8x8国产精品| 在线精品视频免费观看| 91麻豆免费看片| 国产成人激情av| 麻豆免费看一区二区三区| 亚洲大片免费看| 亚洲欧美乱综合| 国产精品毛片久久久久久久| 久久久av毛片精品| 精品国一区二区三区| 91精品国产高清一区二区三区蜜臀| 日本韩国一区二区三区视频| 91亚洲午夜精品久久久久久| av电影在线观看一区| 国产91精品在线观看| 国产精品亚洲一区二区三区妖精| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲欧美中日韩| 1024国产精品| 综合久久久久久| 亚洲欧美在线视频| 亚洲免费观看视频| 一区二区欧美在线观看| 亚洲精品日韩一| 亚洲欧美日韩国产一区二区三区 | 欧美喷水一区二区| 欧美日韩亚洲高清一区二区| 欧美日韩在线观看一区二区| 欧美中文字幕一区| 欧美午夜精品一区二区三区| 欧美色综合网站| 91.麻豆视频| 久久综合中文字幕| 国产欧美一区二区精品忘忧草| 欧美国产欧美综合| 亚洲欧美日韩久久| 肉丝袜脚交视频一区二区| 强制捆绑调教一区二区| 久久不见久久见免费视频7| 黄色成人免费在线| 成人黄色免费短视频| 91在线国产观看| 欧美日韩国产电影| 欧美tickling网站挠脚心| 中文子幕无线码一区tr| 亚洲三级免费电影| 视频一区国产视频| 国产精品综合二区| 在线一区二区三区四区五区| 欧美人狂配大交3d怪物一区| xvideos.蜜桃一区二区| 综合自拍亚洲综合图不卡区| 亚洲h在线观看| 国产精品18久久久久久久久久久久| 成人av在线网站| 欧美精品1区2区| 国产人伦精品一区二区| 一区二区三区四区精品在线视频 | 欧美激情中文不卡| 一区二区三区不卡视频| 国产主播一区二区三区| 91黄色免费观看| 精品三级在线看| 亚洲乱码日产精品bd| 久久成人免费网站| 色老综合老女人久久久| 欧美成人精品福利| 亚洲一区在线观看免费| 国产自产视频一区二区三区| 欧美综合亚洲图片综合区| 2020日本不卡一区二区视频| 一区二区三区在线免费| 国产美女一区二区三区| 欧美性xxxxxxxx| 国产精品免费丝袜| 另类小说图片综合网| 欧美亚洲国产怡红院影院| 国产欧美日韩三区| 美腿丝袜一区二区三区| 色猫猫国产区一区二在线视频| 欧美成人激情免费网| 夜色激情一区二区| 成人在线视频一区| 精品久久久久久最新网址| 亚洲国产精品一区二区久久恐怖片| 国产一区二区美女诱惑| 7777精品伊人久久久大香线蕉超级流畅| 欧美激情在线一区二区| 蜜臀av在线播放一区二区三区| 91久久香蕉国产日韩欧美9色| 久久精品日产第一区二区三区高清版| 日韩精品欧美成人高清一区二区| 99久久精品免费观看| 久久久久久久综合日本| 精品系列免费在线观看| 91精品国产综合久久福利 | 欧美一区二区视频在线观看2020| 亚洲欧洲日产国码二区| 成人午夜精品一区二区三区| ww亚洲ww在线观看国产| 老司机午夜精品99久久| 欧美日本高清视频在线观看| 一区二区三区中文字幕精品精品| 成人动漫中文字幕| 国产欧美一区二区精品仙草咪| 寂寞少妇一区二区三区| 日韩欧美亚洲国产另类 | 亚洲免费观看在线视频| 99国产欧美另类久久久精品| 国产精品视频九色porn| 国产精品一区二区无线| 久久久久久99精品| 国产毛片精品视频| 久久精品欧美一区二区三区麻豆 | 捆绑调教美女网站视频一区| 日韩欧美一区二区在线视频| 秋霞午夜鲁丝一区二区老狼| 91精品国产综合久久福利软件| 天堂一区二区在线| 日韩美女主播在线视频一区二区三区| 蜜桃视频免费观看一区| 日韩免费高清视频| 国产精品一二三四| 中文字幕一区二区三区四区| 91丨porny丨首页| 一区二区成人在线视频| 欧美日韩中文精品| 青青草视频一区| 久久精品免视看| av午夜一区麻豆| 亚洲国产欧美在线| 欧美一三区三区四区免费在线看| 美女高潮久久久| 欧美韩日一区二区三区| 91免费精品国自产拍在线不卡| 夜夜嗨av一区二区三区| 91麻豆精品国产91久久久久久| 九九国产精品视频| 亚洲品质自拍视频| 欧美一级免费观看| 日本麻豆一区二区三区视频| 久久久精品国产99久久精品芒果 | 欧美亚洲综合色| 九色porny丨国产精品|