Logo Constant Wave

LTE Source Code

 

Download the core C++ source code for LTE waveform generation

 
  • Use the code to develop your own applications
  • Gain insight into the implementation of LTE
  • Generate LTE uplink (PUSCH) waveforms
  • Includes 1.4, 3, 5,10,15 and 20 MHz bandwidths
  • Normal and Extended cyclic prefixes
  • QPSK, 16-QAM and 64-QAM modulations
Related Links
 
Download LTE Waveform Generation Source Code
 
Check out Spectro LTE Gen Software
 
source code screen capture
 

Frequently Asked Questions

 
How can I develop an application using your code?

Our source code is for waveform generation of LTE uplink signals. It is written in Microsoft Visual C++. It is designed for users who want to create programs for creating LTE uplink waveforms. Rather than write the waveform generation and the graphical user interface (GUI) and a hardware interface, you can save yourself some time by using our code for the waveform generation. The licensing terms are very flexible, you do not need to pay anything or even mention that you are using our code.

What are the advantages of subscribing to Spectro LTE Gen?

Our Spectro LTE Gen software is for people who do not want to write the graphical user interface (GUI) or hardware interface. It uses the same waveform generation algorithms which we make available in the source code file. In addition to generating waveforms, we have numerous tools included in Spectro LTE Gen like a spectrum analysis tool, an EVM measurement tool and a modulation tool.

Do you have an example program?

We include with the source code a simple command line example of how to use the code. You could compile and link a simple program to generate a waveform and save it to a file. That file could be compared to a file created by a different program (your code). Or, you could send it to a vector signal generator to produce an actual RF signal.

Is your software is useful for those developing hardware?

Yes, our code is designed for people developing their own physical chain, in that it allows you to compare the results of a physical chain with an ideal physical chain. You can use our software to create waveforms to compare with those coming from a physical chain implemented in hardware. Looking at the source code can aid in understanding how LTE waveforms are constructed. This can help during hardware development, by giving an example of LTE waveform generation, albeit in software.

What are the inputs to and outputs from the code?

The reason that we make source code available is to allow the waveform generation to be used in a variety of ways. At present, it accepts a bit stream as a char array and outputs a complex (I & Q) waveform array. By adding your code around it, you can make it handle your bit stream rather than our various types of random bit streams. The main C++ object that your code interacts with is called CWLTEPUSCHFrameGen. That object has this method:

void Generate(char* bits_ptr, int num_bits, int num_slots);

Just give it a char array of bits (one bit per char) of length num_bits. The argument num_slots tells the object how many slots of data to generate (20 slots per frame). In our example, we generate random bits and pass them to the waveform generator, but you can pass it any bits that you want.

Can we see what the waveforms look like with your software?

The source code is only for waveform generation. However, Spectro LTE Gen currently handles both waveform generation and waveform measurement, but it does not accept waveforms from other sources (like a file or instrument).

Do you offer an evaluation license or trial addition?

The source code is available at no cost. All you have to do is download it from our website. You can change the source code or use it in any way that you want. If you want a Windows program for LTE waveform generation, with many interesting features, we offer Spectro LTE Gen. It is available for download from our website. You must subscribe on a month-to-month basis using a credit card. To be clear: you pay for one month’s worth of use of Spectro LTE Gen. If the program is useful, you can renew for another month. If it is not useful, you just let the subscription end.

In summary, we are trying to provide two resources. First, we have a program for LTE uplink waveform generation called Spectro LTE Gen. This program is available to use on a month-to-month basis through a subscription on our website. Second, we make available the source code which is used to turn bits into I and Q waveforms. This is available for free. You can use the source code in any way that you would like.