#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include "mex.h"
//声明函数
float f(float a,float b);
float g(float a,float b,int c);
int *decode(float *llr,int *CBR,int N,int n);
int mod(int a,int b);
/*int main(){
int CBR[8]={0,0,0,1,0,1,1,1};
float llr[8]={4.5,-4.4,2.8,4.2,-7.4,9.0,8.9,-4.4};
int *u;
u=decode(llr,CBR,8,3);
for(int i=0;i<8;i++){
printf("%d ",u[i]);
}
}*/
//译码函数
int *decode(float *llr,int *CBR,int N,int n){
//赋值llr CBR
//mod执行次数
int A[N]={
};
for(int i=0;i<N;i++){
int j = i + 1;
int layer = 0;
while (j % 2 == 0) {
j /= 2;
layer += 1;
}
A[i] = layer;
}
//f执行次数
int B[N] = {
};
B[0] = 0;
for (int i = 1; i < N; i++) {
int j = i;
int layer = 0;
while (j % 2 == 0) {
j /= 2;
layer += 1;
}
B[i] = layer;
}
//P数组------C数组
double P[N][n + 1];
int C[N][n +</
polar SC译码(非递归) C语言+matlab混和编程
于 2022-04-23 21:10:55 首次发布