Commit 7b3fe853 authored by Sandeep Kumar's avatar Sandeep Kumar

fixed file name, updated the IF4 frame structure, added dummy functions for frame generation

parent 448b26f6
/*******************************************************************************
OpenAirInterface
Copyright(c) 1999 - 2014 Eurecom
OpenAirInterface is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenAirInterface is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenAirInterface.The full GNU General Public License is
included in this distribution in the file called "COPYING". If not,
see <http://www.gnu.org/licenses/>.
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
*******************************************************************************/
/*! \file PHY/LTE_TRANSPORT/if4_tools.c
* \brief
* \author Mauricio Gunther, Raymond Knopp, S. Sandeep Kumar
* \date 2016
* \version 0.1
* \company Eurecom
* \email: knopp@eurecom.fr, ee13b1025@iith.ac.in
* \note
* \warning
*/
#include "PHY/LTE_TRANSPORT/if4_tools.h"
/*
typedef struct data_block_type {
......@@ -10,7 +52,7 @@ void allocate_data_block(long *data_block ,int length){
}
*/
void send_IF4(PHY_VARS_eNB eNB, int subframe){
void send_IF4(PHY_VARS_eNB *eNB, int subframe){
eNB_proc_t *proc = &eNB->proc;
//int frame=proc->frame_tx;
//int subframe=proc->subframe_tx;
......@@ -45,3 +87,28 @@ memset(&eNB->common_vars.txdataF[0][aa][subframe*fp->ofdm_symbol_size*(fp->symbo
*/
}
void recv_IF4( ) {
}
IF4_dl_packet gen_IF4_dl_packet( ) {
IF4_dl_packet dl_packet;
return dl_packet;
}
IF4_ul_packet gen_IF4_ul_packet( ) {
IF4_ul_packet ul_packet;
return ul_packet;
}
IF4_prach_packet gen_IF4_prach_packet( ) {
IF4_prach_packet prach_packet;
return prach_packet;
}
......@@ -56,7 +56,15 @@ struct IF4_frame_status {
uint32_t rsvd:2;
};
/// IF4 PRACH Configuration (32 bits)
/// IF4 Antenna Gain
struct IF4_gain {
/// Reserved
uint32_t rsvd:10;
/// FFT Exponent Output
uint32_t exponent:6;
};
/// IF4 LTE PRACH Configuration (32 bits)
struct IF4_lte_prach_conf {
/// Reserved
uint32_t rsvd:3;
......@@ -70,31 +78,23 @@ struct IF4_lte_prach_conf {
uint32_t exponent:6;
};
/// IF4 Antenna Gain
struct IF4_gain {
/// Reserved
uint32_t rsvd:10;
/// FFT Exponent Output
uint32_t exponent:6;
};
struct IF4_dl_packet {
/// Destination Address
/// Source Address
/// Type
uint16_t type;
/// Sub-Type
uint16_t sub_type;
/// Reserved
uint32_t rsvd;
/// Frame Status
IF4_frame_status frame_status;
/// Data Blocks
/// Frame Check Sequence
uint32_t fcs;
};
struct IF4_ul_packet {
......@@ -103,22 +103,29 @@ struct IF4_ul_packet {
/// Source Address
/// Type
uint16_t type;
/// Sub-Type
uint16_t sub_type;
/// Reserved
uint32_t rsvd;
/// Frame Status
IF4_frame_status frame_status;
/// Gain 0
IF4_gain gain0;
/// Gain 1
IF4_gain gain1;
/// Gain 2
IF4_gain gain2;
/// Gain 3
IF4_gain gain3;
/// Gain 4
IF4_gain gain4;
/// Gain 5
IF4_gain gain5;
/// Gain 6
IF4_gain gain6;
/// Gain 7
IF4_gain gain7;
/// Data Blocks
/// Frame Check Sequence
......@@ -126,10 +133,30 @@ struct IF4_ul_packet {
};
struct IF4_prach_packet {
/// Destination Address
/// Source Address
/// Type
uint16_t type;
/// Sub-Type
uint16_t sub_type;
/// Reserved
uint32_t rsvd;
/// LTE Prach Configuration
IF4_lte_prach_conf prach_conf;
/// Prach Data Block (one antenna)
/// Frame Check Sequence
uint32_t fcs;
};
IF4_dl_packet gen_IF4_dl_packet();
IF4_ul_packet gen_IF4_ul_packet();
IF4_prach_packet gen_IF4_prach_packet();
void send_IF4(PHY_VARS_eNB *eNB, int subframe);
void recv_IF4(PHY_VARS_eNB *eNB, int subframe);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment