📄 de_64qam.c
字号:
*/
void mlxDe_64qam(int nlhs, mxArray * plhs[], int nrhs, mxArray * prhs[]) {
mxArray * mprhs[1];
mxArray * mplhs[1];
int i;
if (nlhs > 1) {
mlfError(
mxCreateString(
"Run-time Error: File: de_64qam Line: 1 Column:"
" 1 The function \"de_64qam\" was called with m"
"ore than the declared number of outputs (1)."),
NULL);
}
if (nrhs > 1) {
mlfError(
mxCreateString(
"Run-time Error: File: de_64qam Line: 1 Column:"
" 1 The function \"de_64qam\" was called with m"
"ore than the declared number of inputs (1)."),
NULL);
}
for (i = 0; i < 1; ++i) {
mplhs[i] = NULL;
}
for (i = 0; i < 1 && i < nrhs; ++i) {
mprhs[i] = prhs[i];
}
for (; i < 1; ++i) {
mprhs[i] = NULL;
}
mlfEnterNewContext(0, 1, mprhs[0]);
mplhs[0] = Mde_64qam(nlhs, mprhs[0]);
mlfRestorePreviousContext(0, 1, mprhs[0]);
plhs[0] = mplhs[0];
}
/*
* The function "Mde_64qam" is the implementation version of the "de_64qam"
* M-function from file
* "c:\matlab6p5\work\adptive_ofdm\adptive_ofdm\de_64qam.m" (lines 1-92). It
* contains the actual compiled code for that M-function. It is a static
* function and must only be called from one of the interface functions,
* appearing below.
*/
/*
* function y=de_64qam(x) %qam解调,X1是序列长度,K1就是2^K1qam
*/
static mxArray * Mde_64qam(int nargout_, mxArray * x) {
mexLocalFunctionTable save_local_function_table_
= mclSetCurrentLocalFunctionTable(&_local_function_table_de_64qam);
mxArray * y = NULL;
mxArray * y1 = NULL;
mclCopyArray(&x);
/*
*
* x=x*sqrt(42);
*/
mlfAssign(&x, mclMtimes(mclVa(x, "x"), mlfSqrt(_mxarray0_)));
/*
* y=real(x);
*/
mlfAssign(&y, mlfReal(mclVa(x, "x")));
/*
* y1=imag(x);
*/
mlfAssign(&y1, mlfImag(mclVa(x, "x")));
/*
* if (y>=0)&(y<=2) y=1;
*/
{
mxArray * a_ = mclInitialize(mclGe(mclVv(y, "y"), _mxarray15_));
if (mlfTobool(a_)
&& mlfTobool(mclAnd(a_, mclLe(mclVv(y, "y"), _mxarray1_)))) {
mxDestroyArray(a_);
mlfAssign(&y, _mxarray2_);
/*
* elseif (y>2) &(y<=4) y=3;
*/
} else {
mxDestroyArray(a_);
{
mxArray * a_0 = mclInitialize(mclGt(mclVv(y, "y"), _mxarray1_));
if (mlfTobool(a_0)
&& mlfTobool(
mclAnd(a_0, mclLe(mclVv(y, "y"), _mxarray3_)))) {
mxDestroyArray(a_0);
mlfAssign(&y, _mxarray4_);
/*
* elseif (y>4) &(y<=6) y=5;
*/
} else {
mxDestroyArray(a_0);
{
mxArray * a_1
= mclInitialize(mclGt(mclVv(y, "y"), _mxarray3_));
if (mlfTobool(a_1)
&& mlfTobool(
mclAnd(
a_1, mclLe(mclVv(y, "y"), _mxarray5_)))) {
mxDestroyArray(a_1);
mlfAssign(&y, _mxarray6_);
/*
* elseif (y>6) y=7;
*/
} else {
mxDestroyArray(a_1);
if (mclGtBool(mclVv(y, "y"), _mxarray5_)) {
mlfAssign(&y, _mxarray7_);
/*
* elseif (y<-6) y=-7;
*/
} else if (mclLtBool(mclVv(y, "y"), _mxarray8_)) {
mlfAssign(&y, _mxarray9_);
/*
* elseif (y>=-6) &(y<-4) y=-5;
*/
} else {
mxArray * a_2
= mclInitialize(
mclGe(mclVv(y, "y"), _mxarray8_));
if (mlfTobool(a_2)
&& mlfTobool(
mclAnd(
a_2,
mclLt(
mclVv(y, "y"), _mxarray10_)))) {
mxDestroyArray(a_2);
mlfAssign(&y, _mxarray11_);
/*
* elseif (y>=-4) &(y<-2) y=-3;
*/
} else {
mxDestroyArray(a_2);
{
mxArray * a_3
= mclInitialize(
mclGe(
mclVv(y, "y"), _mxarray10_));
if (mlfTobool(a_3)
&& mlfTobool(
mclAnd(
a_3,
mclLt(
mclVv(y, "y"),
_mxarray12_)))) {
mxDestroyArray(a_3);
mlfAssign(&y, _mxarray13_);
/*
* else y=-1;
*/
} else {
mxDestroyArray(a_3);
mlfAssign(&y, _mxarray14_);
}
}
}
}
}
}
}
}
}
/*
* end
*/
}
/*
* if (y1>=0)&(y1<=2) y1=1;
*/
{
mxArray * a_ = mclInitialize(mclGe(mclVv(y1, "y1"), _mxarray15_));
if (mlfTobool(a_)
&& mlfTobool(mclAnd(a_, mclLe(mclVv(y1, "y1"), _mxarray1_)))) {
mxDestroyArray(a_);
mlfAssign(&y1, _mxarray2_);
/*
* elseif (y1>2) &(y1<=4) y1=3;
*/
} else {
mxDestroyArray(a_);
{
mxArray * a_4
= mclInitialize(mclGt(mclVv(y1, "y1"), _mxarray1_));
if (mlfTobool(a_4)
&& mlfTobool(
mclAnd(a_4, mclLe(mclVv(y1, "y1"), _mxarray3_)))) {
mxDestroyArray(a_4);
mlfAssign(&y1, _mxarray4_);
/*
* elseif (y1>4) &(y1<=6) y1=5;
*/
} else {
mxDestroyArray(a_4);
{
mxArray * a_5
= mclInitialize(mclGt(mclVv(y1, "y1"), _mxarray3_));
if (mlfTobool(a_5)
&& mlfTobool(
mclAnd(
a_5, mclLe(mclVv(y1, "y1"), _mxarray5_)))) {
mxDestroyArray(a_5);
mlfAssign(&y1, _mxarray6_);
/*
* elseif (y1>6) y1=7;
*/
} else {
mxDestroyArray(a_5);
if (mclGtBool(mclVv(y1, "y1"), _mxarray5_)) {
mlfAssign(&y1, _mxarray7_);
/*
* elseif (y1<-6) y1=-7;
*/
} else if (mclLtBool(mclVv(y1, "y1"), _mxarray8_)) {
mlfAssign(&y1, _mxarray9_);
/*
* elseif (y1>=-6) &(y1<-4) y1=-5;
*/
} else {
mxArray * a_6
= mclInitialize(
mclGe(mclVv(y1, "y1"), _mxarray8_));
if (mlfTobool(a_6)
&& mlfTobool(
mclAnd(
a_6,
mclLt(
mclVv(y1, "y1"), _mxarray10_)))) {
mxDestroyArray(a_6);
mlfAssign(&y1, _mxarray11_);
/*
* elseif (y1>=-4) &(y1<-2) y1=-3;
*/
} else {
mxDestroyArray(a_6);
{
mxArray * a_7
= mclInitialize(
mclGe(
mclVv(y1, "y1"), _mxarray10_));
if (mlfTobool(a_7)
&& mlfTobool(
mclAnd(
a_7,
mclLt(
mclVv(y1, "y1"),
_mxarray12_)))) {
mxDestroyArray(a_7);
mlfAssign(&y1, _mxarray13_);
/*
* else y1=-1;
*/
} else {
mxDestroyArray(a_7);
mlfAssign(&y1, _mxarray14_);
}
}
}
}
}
}
}
}
}
/*
* end
*/
}
/*
* x=complex(y,y1);
*/
mlfAssign(&x, mlfComplex(mclVv(y, "y"), mclVv(y1, "y1")));
/*
*
*
* if x==-7+7*j y=[0 0 0 0 0 0];%y==[0 0 0 0 0 0] x=-7+7*j;
*/
if (mclEqBool(mclVa(x, "x"), _mxarray16_)) {
mlfAssign(&y, _mxarray17_);
/*
* elseif x==-5+7*j y=[0 0 0 0 0 1];%y==[0 0 0 0 0 1] x=-5+7*j;
*/
} else if (mclEqBool(mclVa(x, "x"), _mxarray19_)) {
mlfAssign(&y, _mxarray20_);
/*
* elseif x==-1+7*j y=[0 0 0 0 1 0];%y==[0 0 0 0 1 0] x=-1+7*j;
*/
} else if (mclEqBool(mclVa(x, "x"), _mxarray22_)) {
mlfAssign(&y, _mxarray23_);
/*
* elseif x==-3+7*j y=[0 0 0 0 1 1];%y==[0 0 0 0 1 1] x=-3+7*j;
*/
} else if (mclEqBool(mclVa(x, "x"), _mxarray25_)) {
mlfAssign(&y, _mxarray26_);
/*
* elseif x==7+7*j y=[0 0 0 1 0 0];%y==[0 0 0 1 0 0] x=7+7*j;
*/
} else if (mclEqBool(mclVa(x, "x"), _mxarray28_)) {
mlfAssign(&y, _mxarray29_);
/*
* elseif x==5+7*j y=[0 0 0 1 0 1];%y==[0 0 0 1 0 1] x=5+7*j;
*/
} else if (mclEqBool(mclVa(x, "x"), _mxarray31_)) {
mlfAssign(&y, _mxarray32_);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -