|
|
@ -245,7 +245,11 @@ static void interpolate_pilots(srslte_chest_dl_t *q, cf_t *pilot_estimates, cf_t
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(7), &cesymb(11), &cesymb(8), 3);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(7), &cesymb(11), &cesymb(8), 3);
|
|
|
|
srslte_interp_linear_vector2(&q->srslte_interp_linvec, &cesymb(7), &cesymb(11), &cesymb(11), &cesymb(12), 2);
|
|
|
|
srslte_interp_linear_vector2(&q->srslte_interp_linvec, &cesymb(7), &cesymb(11), &cesymb(11), &cesymb(12), 2);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(8), &cesymb(1), &cesymb(0), 1);
|
|
|
|
srslte_vec_sub_ccc(&cesymb(1), &cesymb(8), q->srslte_interp_linvec.diff_vec, q->srslte_interp_linvec.vector_len);
|
|
|
|
|
|
|
|
srslte_vec_sc_prod_cfc(q->srslte_interp_linvec.diff_vec, (float) 1/7, q->srslte_interp_linvec.diff_vec,
|
|
|
|
|
|
|
|
q->srslte_interp_linvec.vector_len);
|
|
|
|
|
|
|
|
srslte_vec_sum_ccc(q->srslte_interp_linvec.diff_vec, &cesymb(1), &cesymb(0), q->srslte_interp_linvec.diff_vec);
|
|
|
|
|
|
|
|
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(8), &cesymb(2), 6);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(8), &cesymb(2), 6);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(8), &cesymb(9), 5);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(8), &cesymb(9), 5);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -256,7 +260,11 @@ static void interpolate_pilots(srslte_chest_dl_t *q, cf_t *pilot_estimates, cf_t
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(6), &cesymb(9), &cesymb(7), 2);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(6), &cesymb(9), &cesymb(7), 2);
|
|
|
|
srslte_interp_linear_vector2(&q->srslte_interp_linvec, &cesymb(6), &cesymb(9), &cesymb(9), &cesymb(10), 2);
|
|
|
|
srslte_interp_linear_vector2(&q->srslte_interp_linvec, &cesymb(6), &cesymb(9), &cesymb(9), &cesymb(10), 2);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(7), &cesymb(1), &cesymb(0), 1);
|
|
|
|
srslte_vec_sub_ccc(&cesymb(1), &cesymb(7), q->srslte_interp_linvec.diff_vec, q->srslte_interp_linvec.vector_len);
|
|
|
|
|
|
|
|
srslte_vec_sc_prod_cfc(q->srslte_interp_linvec.diff_vec, (float) 1/6, q->srslte_interp_linvec.diff_vec,
|
|
|
|
|
|
|
|
q->srslte_interp_linvec.vector_len);
|
|
|
|
|
|
|
|
srslte_vec_sum_ccc(q->srslte_interp_linvec.diff_vec, &cesymb(1), &cesymb(0), q->srslte_interp_linvec.diff_vec);
|
|
|
|
|
|
|
|
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(7), &cesymb(2), 5);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(7), &cesymb(2), 5);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(7), &cesymb(8), 4);
|
|
|
|
srslte_interp_linear_vector(&q->srslte_interp_linvec, &cesymb(1), &cesymb(7), &cesymb(8), 4);
|
|
|
|
}
|
|
|
|
}
|
|
|
|