After processing TX frequency domain data skip IFFT call for symbols that aren't used, the time domain buffer is memset instead.
63 lines
2.6 KiB
C
63 lines
2.6 KiB
C
/*
|
|
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.openairinterface.org/?page_id=698
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*-------------------------------------------------------------------------------
|
|
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
* contact@openairinterface.org
|
|
*/
|
|
|
|
#ifndef __MODULATION_COMMON__H__
|
|
#define __MODULATION_COMMON__H__
|
|
#include "PHY/defs_common.h"
|
|
#include "PHY/defs_nr_common.h"
|
|
/** @addtogroup _PHY_MODULATION_
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
\fn void PHY_ofdm_mod(int *input,int *output,int fftsize,unsigned char nb_symbols,unsigned short nb_prefix_samples,Extension_t
|
|
etype) This function performs OFDM modulation with cyclic extension or zero-padding
|
|
@param input The sequence input samples in the frequency-domain This is a concatenation of the input symbols in SIMD redundant
|
|
format
|
|
@param output The time-domain output signal
|
|
@param fftsize size of OFDM symbol size (\f$N_d\f$)
|
|
@param nb_symbols The number of OFDM symbols in the block
|
|
@param nb_prefix_samples The number of prefix/suffix/zero samples
|
|
@param etype Type of extension (CYCLIC_PREFIX,CYCLIC_SUFFIX,ZEROS)
|
|
*/
|
|
void PHY_ofdm_mod(const int *input,
|
|
int *output,
|
|
int fftsize,
|
|
unsigned char nb_symbols,
|
|
unsigned short nb_prefix_samples,
|
|
Extension_t etype
|
|
);
|
|
|
|
|
|
void normal_prefix_mod(int32_t *txdataF,int32_t *txdata,uint8_t nsymb,LTE_DL_FRAME_PARMS *frame_parms);
|
|
void nr_normal_prefix_mod(c16_t *txdataF,
|
|
c16_t *txdata,
|
|
uint8_t nsymb,
|
|
const NR_DL_FRAME_PARMS *frame_parms,
|
|
uint32_t slot,
|
|
bool was_symbol_used[NR_NUMBER_OF_SYMBOLS_PER_SLOT]);
|
|
|
|
void do_OFDM_mod(c16_t **txdataF, c16_t **txdata, uint32_t frame,uint16_t next_slot, LTE_DL_FRAME_PARMS *frame_parms);
|
|
|
|
|
|
/** @}*/
|
|
#endif
|