# GNU Radio | Async FEC encoder/decoder loopback | Issue during decoding?

I have implemented a loopback flowgraph intending to perform the following:

1. FEC encode (repetition code) an input stream in16_2.dat
2. Store the encoded stream as out16_2_fec_async_enc.dat
3. FEC decode the encoded stream and store it as out16_2_fec_async_dec.dat

Follows the implemented flowgraph:

My expectation: I was hoping that out16_2_fec_async_dec.dat would be equal to in16_2.dat.

What really happened: out16_2_fec_async_dec.dat was empty. I can confirm that the encoded data, out16_2_fec_async_enc.dat, is apparently correct, by running:

$xxd -b in16_2.dat 00000000: 00000000 00000000 11111111 11111111 01010101 01010101 ....UU 00000006: 10101010 10101010$ xxd -b out16_2_fec_async_enc.dat
00000000: 00000000 00000000 00000000 00000000 00000000 00000000  ......
00000006: 00000000 00000000 11111111 11111111 11111111 11111111  ......
0000000c: 11111111 11111111 11111111 11111111 00001111 00001111  ......
00000012: 00001111 00001111 00001111 00001111 00001111 00001111  ......
00000018: 11110000 11110000 11110000 11110000 11110000 11110000  ......
0000001e: 11110000 11110000                                      ..


Also, the confirmation that out16_2_fec_async_dec.dat is empty:

\$ xxd -b out16_2_fec_async_dec.dat



I wonder what may be missing in this setup?

The issue is that the FEC Async Decoder expects the input to be soft decisions with one decision per item instead of packed PDUs.

Here's a working example:

Encoder deployment:

• Packed: yes
• Rev. unpacking: yes
• Rev. packing: yes

Repack Bits:

• Packet alignment: Output
• Endieness: LSB

Decoder deployment:

• Packed: yes
• Rev. packing: yes