Lines Matching defs:bin

1431     int bin, idx;
1435 * [15:00] u16, accum_cnt[15:00]: number of samples in the bin
1436 * [42:16] u27, accum_tx[26:00]: sum(tx amplitude) of the bin
1438 * sum(rx amplitude distance to lower bin edge) of the bin
1439 * [90:64] s27, accum_ang[26:00]: sum(angles) of the bin
1443 * Disregard any bin that contains less than
1449 for (bin = 0; bin < NUM_BIN; bin++) {
1450 accum_cnt[bin] = paprd_train_data_l[bin] & 0xffff;
1452 accum_tx[bin] =
1453 ((paprd_train_data_l[bin] >> 16) & 0xffff) |
1454 ((paprd_train_data_u[bin] & 0x7ff) << 16);
1455 accum_rx[bin] =
1456 ((paprd_train_data_u[bin] >> 11) & 0x1f) |
1457 ((paprd_train_data_l[bin + 23] & 0xffff) << 5);
1458 accum_ang[bin] =
1459 ((paprd_train_data_l[bin + 23] >> 16) & 0xffff) |
1460 ((paprd_train_data_u[bin + 23] & 0x7ff) << 16);
1463 * "%d\t%d\t%d\t%d\n", accum_cnt[bin], accum_tx[bin],
1464 * accum_rx[bin], accum_ang[bin]);
1466 if (accum_cnt[bin] > thresh_accum_cnt) {
1468 x_est[bin + 1] =
1469 ((((accum_tx[bin] << scale_factor) +
1470 accum_cnt[bin]) / accum_cnt[bin]) + 32) >> scale_factor;
1471 y[bin + 1] =
1472 (((((accum_rx[bin] << scale_factor) +
1473 accum_cnt[bin]) / accum_cnt[bin]) + 32) >> scale_factor) +
1475 if (accum_ang[bin] >= (1 << 26)) {
1476 theta[bin + 1] =
1477 ((accum_ang[bin] - (1 << 27)) * (1 << scale_factor) +
1478 accum_cnt[bin]);
1479 theta[bin + 1] = theta[bin + 1] / (int) accum_cnt[bin];
1486 theta[bin + 1] =
1487 ((accum_ang[bin] * (1 << scale_factor)) +
1488 accum_cnt[bin]) / accum_cnt[bin];
1501 * Find average theta of first 5 bin and all of those to same value.
1504 for (bin = 1; bin < 6; bin++) {
1505 theta_low_bin += theta[bin];
1508 for (bin = 1; bin < 6; bin++) {
1509 theta[bin] = theta_low_bin;
1515 for (bin = 0; bin <= max_index; bin++) {
1516 theta[bin] = theta[bin] - theta_low_bin;
1517 /*printf("bin=%d, theta[bin] = %d\n", bin, theta[bin]);*/
1539 for (bin = 0; bin <= max_index; bin++) {
1540 y_lin[bin] =
1541 (g_fxp * (x_est[bin] - x_est[3]) + (1 << scale_factor)) /
1546 for (bin = 0; bin <= max_index; bin++) {
1547 y_est[bin] = y[bin] - y_intercept;
1548 y_lin[bin] = y_lin[bin] - y_intercept;
1551 for (bin = 0; bin <= 3; bin++) {
1552 y_est[bin] = bin * 32;
1554 x_est[bin] = ((y_est[bin] * 1 << scale_factor) + g_fxp) / g_fxp;
1558 * for (bin = 0; bin <= max_index; bin++) {
1560 * bin, y_est[bin], bin, x_est[bin]);
1563 for (bin = 0; bin <= max_index; bin++) {
1564 x_est_fxp1_nonlin[bin] =
1565 x_est[bin] - ((1 << scale_factor) * y_est[bin] + g_fxp) / g_fxp;
1566 /*printf("x_est_fxp1_nonlin[%d] = %d\n", bin, x_est_fxp1_nonlin[bin]);*/
1589 for (bin = 0; bin <= half_hi; bin++) {
1590 if (y_est[bin + half_lo] == 0) {
1598 x_tilde[bin] =
1599 (x_est_fxp1_nonlin[bin + half_lo] * (1 << m) +
1600 y_est[bin + half_lo]) / y_est[bin + half_lo];
1601 x_tilde[bin] = (x_tilde[bin] * (1 << m) + y_est[bin + half_lo]) /
1602 y_est[bin + half_lo];
1603 x_tilde[bin] = (x_tilde[bin] * (1 << m) + y_est[bin + half_lo]) /
1604 y_est[bin + half_lo];
1606 y_sqr[bin] =
1607 (y_est[bin + half_lo] * y_est[bin + half_lo] +
1609 x_tilde_abs[bin] = paprd_abs(x_tilde[bin]);
1610 y_quad[bin] = y_sqr[bin] * y_sqr[bin];
1611 sum_y_sqr = sum_y_sqr + y_sqr[bin];
1612 sum_y_quad = sum_y_quad + y_quad[bin];
1617 for (bin = 0; bin <= half_hi; bin++) {
1618 b1_tmp[bin] = y_sqr[bin] * (half_hi + 1) - sum_y_sqr;
1619 b2_tmp[bin] = sum_y_quad - sum_y_sqr * y_sqr[bin];
1620 b1_abs[bin] = paprd_abs(b1_tmp[bin]);
1621 b2_abs[bin] = paprd_abs(b2_tmp[bin]);
1625 * "bin=%d, b1_tmp[bin] = %d, b2_tmp[bin] = %d\n",
1626 * bin, b1_tmp[bin], b2_tmp[bin]);
1637 for (bin = 0; bin <= half_hi; bin++) {
1638 x_tilde[bin] = x_tilde[bin] / (1 << q_x);
1639 b1_tmp[bin] = b1_tmp[bin] / (1 << q_b1);
1640 b2_tmp[bin] = b2_tmp[bin] / (1 << q_b2);
1644 * "bin=%d, b1_tmp[bin]=%d b2_tmp[bin]=%d x_tilde[bin] = %d\n",
1645 * bin, b1_tmp[bin], b2_tmp[bin], x_tilde[bin]);
1647 beta_raw = beta_raw + b1_tmp[bin] * x_tilde[bin];
1648 alpha_raw = alpha_raw + b2_tmp[bin] * x_tilde[bin];
1709 for (bin = 0; bin <= half_hi; bin++) {
1712 * "bin=%d half_lo=%d m=%d theta[bin+half_lo]=%d "
1713 * "y_est[bin+half_lo]=%d\n",
1714 * bin, half_lo, m, theta[bin+half_lo], y_est[bin+half_lo]);
1717 theta_tilde[bin] =
1718 ((theta[bin + half_lo] << m) + y_est[bin + half_lo]) /
1719 y_est[bin + half_lo];
1720 theta_tilde[bin] = ((theta_tilde[bin] << m) + y_est[bin + half_lo]) /
1721 y_est[bin + half_lo];
1722 theta_tilde[bin] = ((theta_tilde[bin] << m) + y_est[bin + half_lo]) /
1723 y_est[bin + half_lo];
1725 /*printf("bin=%d theta_tilde[bin]=%d\n", bin, theta_tilde[bin]);*/
1726 beta_raw = beta_raw + b1_tmp[bin] * theta_tilde[bin];
1727 alpha_raw = alpha_raw + b2_tmp[bin] * theta_tilde[bin];
1730 printf("bin=%d, alpha_raw=%d, beta_raw=%d\n", bin, alpha_raw, beta_raw);