MCPcopy Create free account
hub / github.com/F-Stack/f-stack / gen_qm8_llr

Function gen_qm8_llr

dpdk/app/test-bbdev/test_bbdev_perf.c:1559–1649  ·  view source on GitHub ↗

* Generate Qm LLRS for Qm==8 * Modulation, AWGN and LLR estimation from max log development */

Source from the content-addressed store, hash-verified

1557 * Modulation, AWGN and LLR estimation from max log development
1558 */
1559static void
1560gen_qm8_llr(int8_t *llrs, uint32_t i, double N0, double llr_max)
1561{
1562 int qm = 8;
1563 int qam = 256;
1564 int m, k;
1565 double I, Q, p0, p1, llr_, b[qm], log_syml_prob[qam];
1566 /* 5.1.4 of TS38.211 */
1567 const double symbols_I[256] = {
1568 5, 5, 7, 7, 5, 5, 7, 7, 3, 3, 1, 1, 3, 3, 1, 1, 5,
1569 5, 7, 7, 5, 5, 7, 7, 3, 3, 1, 1, 3, 3, 1, 1, 11,
1570 11, 9, 9, 11, 11, 9, 9, 13, 13, 15, 15, 13, 13,
1571 15, 15, 11, 11, 9, 9, 11, 11, 9, 9, 13, 13, 15,
1572 15, 13, 13, 15, 15, 5, 5, 7, 7, 5, 5, 7, 7, 3, 3,
1573 1, 1, 3, 3, 1, 1, 5, 5, 7, 7, 5, 5, 7, 7, 3, 3, 1,
1574 1, 3, 3, 1, 1, 11, 11, 9, 9, 11, 11, 9, 9, 13, 13,
1575 15, 15, 13, 13, 15, 15, 11, 11, 9, 9, 11, 11, 9, 9,
1576 13, 13, 15, 15, 13, 13, 15, 15, -5, -5, -7, -7, -5,
1577 -5, -7, -7, -3, -3, -1, -1, -3, -3, -1, -1, -5, -5,
1578 -7, -7, -5, -5, -7, -7, -3, -3, -1, -1, -3, -3,
1579 -1, -1, -11, -11, -9, -9, -11, -11, -9, -9, -13,
1580 -13, -15, -15, -13, -13, -15, -15, -11, -11, -9,
1581 -9, -11, -11, -9, -9, -13, -13, -15, -15, -13,
1582 -13, -15, -15, -5, -5, -7, -7, -5, -5, -7, -7, -3,
1583 -3, -1, -1, -3, -3, -1, -1, -5, -5, -7, -7, -5, -5,
1584 -7, -7, -3, -3, -1, -1, -3, -3, -1, -1, -11, -11,
1585 -9, -9, -11, -11, -9, -9, -13, -13, -15, -15, -13,
1586 -13, -15, -15, -11, -11, -9, -9, -11, -11, -9, -9,
1587 -13, -13, -15, -15, -13, -13, -15, -15};
1588 const double symbols_Q[256] = {
1589 5, 7, 5, 7, 3, 1, 3, 1, 5, 7, 5, 7, 3, 1, 3, 1, 11,
1590 9, 11, 9, 13, 15, 13, 15, 11, 9, 11, 9, 13, 15, 13,
1591 15, 5, 7, 5, 7, 3, 1, 3, 1, 5, 7, 5, 7, 3, 1, 3, 1,
1592 11, 9, 11, 9, 13, 15, 13, 15, 11, 9, 11, 9, 13,
1593 15, 13, 15, -5, -7, -5, -7, -3, -1, -3, -1, -5,
1594 -7, -5, -7, -3, -1, -3, -1, -11, -9, -11, -9, -13,
1595 -15, -13, -15, -11, -9, -11, -9, -13, -15, -13,
1596 -15, -5, -7, -5, -7, -3, -1, -3, -1, -5, -7, -5,
1597 -7, -3, -1, -3, -1, -11, -9, -11, -9, -13, -15,
1598 -13, -15, -11, -9, -11, -9, -13, -15, -13, -15, 5,
1599 7, 5, 7, 3, 1, 3, 1, 5, 7, 5, 7, 3, 1, 3, 1, 11,
1600 9, 11, 9, 13, 15, 13, 15, 11, 9, 11, 9, 13, 15,
1601 13, 15, 5, 7, 5, 7, 3, 1, 3, 1, 5, 7, 5, 7, 3, 1,
1602 3, 1, 11, 9, 11, 9, 13, 15, 13, 15, 11, 9, 11, 9,
1603 13, 15, 13, 15, -5, -7, -5, -7, -3, -1, -3, -1,
1604 -5, -7, -5, -7, -3, -1, -3, -1, -11, -9, -11, -9,
1605 -13, -15, -13, -15, -11, -9, -11, -9, -13, -15,
1606 -13, -15, -5, -7, -5, -7, -3, -1, -3, -1, -5, -7,
1607 -5, -7, -3, -1, -3, -1, -11, -9, -11, -9, -13, -15,
1608 -13, -15, -11, -9, -11, -9, -13, -15, -13, -15};
1609 /* Average constellation point energy */
1610 N0 *= 170.0;
1611 for (k = 0; k < qm; k++)
1612 b[k] = llrs[qm * i + k] < 0 ? 1.0 : 0.0;
1613 /* 5.1.4 of TS38.211 */
1614 I = (1 - 2 * b[0]) * (8 - (1 - 2 * b[2]) *
1615 (4 - (1 - 2 * b[4]) * (2 - (1 - 2 * b[6]))));
1616 Q = (1 - 2 * b[1]) * (8 - (1 - 2 * b[3]) *

Callers 1

generate_llr_inputFunction · 0.85

Calls 2

randnFunction · 0.85
maxstarFunction · 0.85

Tested by

no test coverage detected