📄 binconvdecbpsk.cc.txt
字号:
// BinConvdec01.cc // Todd K. Moon// Copyright 2004 by Todd K. Moon// Permission is granted to use this program/data// for educational/research only#include "BinConvdecBPSK.h"#include "matalloc.h"#include "BPSKmodvec.h"void BinConvdecBPSK::buildoutputmat(BinConv & encoder)// builds the lookup from [state][input] to output array,{ unsigned int savestate = encoder.getstate(); // outputmat[state][input][outputnum] CALLOCTENSOR(outputmat,double,numstates,numbranches,n); unsigned char ins[k]; unsigned int state; unsigned int inp; int i,j; unsigned char *out; unsigned char outint; double *modout; BPSKmodvec modulator(n); for(state = 0; state < numstates; state++) { // for each state for(inp = 0; inp < numbranches; inp++) { encoder.setstate(state); // convert inp to array for(i = 0; i < k; i++) { if(inp&(1<<i)) ins[i] = 1; else ins[i] = 0;} out = encoder.encode(ins); modout = modulator.mod(out); for(j = 0; j < n; j++) { outputmat[state][inp][j] = modout[j]; } } } cout << "In BinconvdecBPSK: outputs: " << endl; for(state = 0; state < numstates; state++) { cout << "state=" << state << ": "; for(inp=0; inp < numbranches; inp++) { for(j = 0; j < n; j++) { cout << int(outputmat[state][inp][j]); } cout << " "; } cout << endl; } encoder.setstate(savestate);} /*Local Variables:compile-command: "g++ -c BinConvdecBPSK.cc"End:*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -