1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| /* This function wraps around the fixed 8-bit decoder, performing the
| * basis transformations necessary to meet the CCSDS standard
| *
| * Copyright 2002, Phil Karn, KA9Q
| * May be used under the terms of the GNU Lesser General Public License (LGPL)
| */
| #include "ccsds.h"
| #include "fec.h"
|
| int decode_rs_ccsds(data_t *data,int *eras_pos,int no_eras,int pad){
| int i,r;
| data_t cdata[NN];
|
| /* Convert data from dual basis to conventional */
| for(i=0;i<NN-pad;i++)
| cdata[i] = Tal1tab[data[i]];
|
| r = decode_rs_8(cdata,eras_pos,no_eras,pad);
|
| if(r > 0){
| /* Convert from conventional to dual basis */
| for(i=0;i<NN-pad;i++)
| data[i] = Taltab[cdata[i]];
| }
| return r;
| }
|
|