5 | | Our SISO OFDM transceiver is implemented as two Simulink models built using Xilinx's System Generator for DSP. Both models are designed from scratch for real-time, wideband operation on the WARP hardware. The models have top-level interfaces to the WARP radio board's Tx/Rx analog converters. They also utilize an OPB interface for data exchange and control by the embedded PowerPC in the WARP FPGA. Both models are available in the [source:ResearchApps/PHY/SISO_OFDM repository]. |
| 5 | Our SISO OFDM transceiver is implemented as two Simulink models built using Xilinx's System Generator for DSP. Both models are designed from scratch for real-time, wideband operation on the WARP hardware. The models have top-level interfaces to the WARP radio board's Tx/Rx analog converters. They also utilize an OPB interface for data exchange and control by the embedded PowerPC in the WARP FPGA. |
| 6 | |
| 7 | == Files == |
| 8 | All of the files required to use our OFDM model are available in the [source:/ResearchApps/PHY/SISO_OFDM repository]. A description of each file is included below. |
| 9 | |
| 10 | === System Generator/Simulink Models === |
| 11 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_txrx_simOnly.mdl ofdm_txrx_simOnly.mdl][[BR]] |
| 12 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_txrx_freqCorrect_simOnly.mdl ofdm_txrx_freqCorrect_simOnly.mdl] |
| 13 | These models are simulation-ready OFDM transceivers. The second includes experimental carrier frequency offset correction, a block which will eventually be merged into the main models. These models cannot be used in hardware without being converted to OPB peripherals and are included here as the simulation-friendly counterparts to the OPB models below. |
| 14 | |
| 15 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_tx_opb.mdl ofdm_tx_opb.mdl] |
| 16 | Complete OFDM transmitter model, including the OPB interface. This model is used to generate the OFDM transmitter pcore. This model is not useful in simulation. |
| 17 | |
| 18 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_rx_opb.mdl ofdm_rx_opb.mdl] |
| 19 | Complete OFDM receiver model, including the OPB interface. This model is used to generate the OFDM receiver pcore. This model is not useful in simulation. |
| 20 | |
| 21 | |
| 22 | |
| 23 | |
| 24 | === MATLAB scripts === |
| 25 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_tx_init.m ofdm_tx_init.m] |
| 26 | This script sets a number of initial values and parameters for the transmitter model. Some of these parameters are shared by both the transmitter and receiver models, so this script is also called by the receiver model's initilization script. |
| 27 | |
| 28 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_rx_init.m ofdm_rx_init.m] |
| 29 | This script sets a number of initial values and parameters in the receiver model. It also requires [source:/ResearchApps/PHY/SISO_OFDM/ofdm_tx_init.m ofdm_tx_init.m], [source:/ResearchApps/PHY/SISO_OFDM/ofdm_rx_init_packetTimingControl.m ofdm_rx_init_packetTimingControl.m] and [source:/ResearchApps/PHY/SISO_OFDM/CRC_table_gen.m CRC_table_gen.m]. |
| 30 | |
| 31 | [source:/ResearchApps/PHY/SISO_OFDM/ofdm_rx_init_packetTimingControl.m ofdm_rx_init_packetTimingControl.m] |
| 32 | Defines the behavior of the receiver's packet timing control block, setting the expected arrival times of different parts of a received packet. |
| 33 | |
| 34 | [source:/ResearchApps/PHY/SISO_OFDM/CRC_table_gen.m CRC_table_gen.m] |
| 35 | Generates a table of remainders for the calculation of a 32-bit CRC. This table is used by both the Tx and Rx models for checksum calculation. |
| 36 | |
| 37 | |