Changed uX, uX_t sX, sX_t to uinX_t
Cleaned some PDCP/driver code types parameters and vars Please see openair2/COMMON/platform_types.h for simple coding rules. please declare prototypes of functions in .h and include .h files in where the function is used and where it is implemented. git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5096 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
#include <xmmintrin.h>
|
||||
|
||||
// This is 512/(1:256) in __m128i format
|
||||
s16 inv_ch[256*8] = {512,512,512,512,512,512,512,512,
|
||||
int16_t inv_ch[256*8] = {512,512,512,512,512,512,512,512,
|
||||
256,256,256,256,256,256,256,256,
|
||||
170,170,170,170,170,170,170,170,
|
||||
128,128,128,128,128,128,128,128,
|
||||
@@ -263,14 +263,14 @@ s16 inv_ch[256*8] = {512,512,512,512,512,512,512,512,
|
||||
};
|
||||
|
||||
void freq_equalization(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
s32 **rxdataF_comp,
|
||||
s32 **ul_ch_mag,
|
||||
s32 **ul_ch_magb,
|
||||
u8 symbol,
|
||||
u16 Msc_RS,
|
||||
u8 Qm) {
|
||||
u16 re;
|
||||
s16 amp;
|
||||
int32_t **rxdataF_comp,
|
||||
int32_t **ul_ch_mag,
|
||||
int32_t **ul_ch_magb,
|
||||
uint8_t symbol,
|
||||
uint16_t Msc_RS,
|
||||
uint8_t Qm) {
|
||||
uint16_t re;
|
||||
int16_t amp;
|
||||
__m128i *ul_ch_mag128,*ul_ch_magb128,*rxdataF_comp128;
|
||||
|
||||
rxdataF_comp128 = (__m128i *)&rxdataF_comp[0][symbol*frame_parms->N_RB_DL*12];
|
||||
@@ -279,11 +279,11 @@ void freq_equalization(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
|
||||
for (re=0;re<(Msc_RS>>2);re++) {
|
||||
|
||||
amp=(*((s16*)&ul_ch_mag128[re]));
|
||||
amp=(*((int16_t*)&ul_ch_mag128[re]));
|
||||
if (amp>255)
|
||||
amp=255;
|
||||
|
||||
// printf("freq_eq: symbol %d re %d => %d,%d,%d, (%d) (%d,%d) => ",symbol,re,*((s16*)(&ul_ch_mag128[re])),amp,inv_ch[8*amp],*((s16*)(&ul_ch_mag128[re]))*inv_ch[8*amp],*(s16*)&(rxdataF_comp128[re]),*(1+(s16*)&(rxdataF_comp128[re])));
|
||||
// printf("freq_eq: symbol %d re %d => %d,%d,%d, (%d) (%d,%d) => ",symbol,re,*((int16_t*)(&ul_ch_mag128[re])),amp,inv_ch[8*amp],*((int16_t*)(&ul_ch_mag128[re]))*inv_ch[8*amp],*(int16_t*)&(rxdataF_comp128[re]),*(1+(int16_t*)&(rxdataF_comp128[re])));
|
||||
rxdataF_comp128[re] = _mm_mullo_epi16(rxdataF_comp128[re],*((__m128i *)&inv_ch[8*amp]));
|
||||
if (Qm==4)
|
||||
ul_ch_mag128[re] = _mm_set1_epi16(324); // this is 512*2/sqrt(10)
|
||||
@@ -291,7 +291,7 @@ void freq_equalization(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
ul_ch_mag128[re] = _mm_set1_epi16(316); // this is 512*4/sqrt(42)
|
||||
ul_ch_magb128[re] = _mm_set1_epi16(158); // this is 512*2/sqrt(42)
|
||||
}
|
||||
// printf("(%d,%d)\n",*(s16*)&(rxdataF_comp128[re]),*(1+(s16*)&(rxdataF_comp128[re])));
|
||||
// printf("(%d,%d)\n",*(int16_t*)&(rxdataF_comp128[re]),*(1+(int16_t*)&(rxdataF_comp128[re])));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user