From a985544627675036ba69f0fd651c3517e40a03d0 Mon Sep 17 00:00:00 2001 From: Guy De Souza <desouza@eurecom.fr> Date: Fri, 1 Jun 2018 13:28:38 +0200 Subject: [PATCH] fft scaling fix --- openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c | 3 ++- openair1/PHY/LTE_TRANSPORT/prach.c | 12 ++++++------ openair1/PHY/TOOLS/tools_defs.h | 8 ++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c index fd7b8d601a..388ed6bf29 100644 --- a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c @@ -81,7 +81,8 @@ void lte_sync_timefreq(PHY_VARS_UE *ue,int band,unsigned int DL_freq) //compute frequency-domain representation of 6144-sample chunk dft6144((int16_t *)rxp, - sp); + sp, + 1); /* diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index f782129c81..fb80d13b5e 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -357,10 +357,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, if (prach_fmt == 4) { dft256(prach2,rxsigF[aa],1); } else { - dft3072(prach2,rxsigF[aa]); + dft3072(prach2,rxsigF[aa],1); if (prach_fmt>1) - dft3072(prach2+6144,rxsigF[aa]+6144); + dft3072(prach2+6144,rxsigF[aa]+6144,1); } break; @@ -371,10 +371,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, dft1024(prach2,rxsigF[aa],1); fft_size = 1024; } else { - dft6144(prach2,rxsigF[aa]); + dft6144(prach2,rxsigF[aa],1); if (prach_fmt>1) - dft6144(prach2+12288,rxsigF[aa]+12288); + dft6144(prach2+12288,rxsigF[aa]+12288,1); fft_size = 6144; } @@ -395,7 +395,7 @@ void rx_prach0(PHY_VARS_eNB *eNB, case 75: if (prach_fmt == 4) { - dft3072(prach2,rxsigF[aa]); + dft3072(prach2,rxsigF[aa],1); } else { dft18432(prach2,rxsigF[aa]); @@ -417,7 +417,7 @@ void rx_prach0(PHY_VARS_eNB *eNB, } } else { if (prach_fmt == 4) { - dft3072(prach2,rxsigF[aa]); + dft3072(prach2,rxsigF[aa],1); } else { dft18432(prach2,rxsigF[aa]); diff --git a/openair1/PHY/TOOLS/tools_defs.h b/openair1/PHY/TOOLS/tools_defs.h index e3b04babdc..a4266d2d0e 100644 --- a/openair1/PHY/TOOLS/tools_defs.h +++ b/openair1/PHY/TOOLS/tools_defs.h @@ -174,25 +174,25 @@ This function performs optimized fixed-point radix-2 FFT/IFFT. void idft1536(int16_t *sigF,int16_t *sig,int scale); -void idft6144(int16_t *sigF,int16_t *sig); +void idft6144(int16_t *sigF,int16_t *sig, int scale); void idft12288(int16_t *sigF,int16_t *sig); void idft18432(int16_t *sigF,int16_t *sig); -void idft3072(int16_t *sigF,int16_t *sig); +void idft3072(int16_t *sigF,int16_t *sig, int scale); void idft24576(int16_t *sigF,int16_t *sig); void dft1536(int16_t *sigF,int16_t *sig,int scale); -void dft6144(int16_t *sigF,int16_t *sig); +void dft6144(int16_t *sigF,int16_t *sig, int scale); void dft12288(int16_t *sigF,int16_t *sig); void dft18432(int16_t *sigF,int16_t *sig); -void dft3072(int16_t *sigF,int16_t *sig); +void dft3072(int16_t *sigF,int16_t *sig, int scale); void dft24576(int16_t *sigF,int16_t *sig); -- GitLab