m Implementation of PAPR reduction technology in FPGA-based OFDM system, including testbench test files and MATLAB auxiliary testing

Table of contents

1. Algorithm simulation effect

2. Summary of theoretical knowledge involved in algorithms

2.1 Overview of PAPR issues in OFDM

2.2 PAPR suppression technology based on amplitude limiting method

3.Verilog core program

4. Complete algorithm code file


1. Algorithm simulation effect

This system was developed on the Vivado2019.2 platform:

Import the FPGA simulation results into matlab and perform papr comparison through matlab2022a:

2. Summary of theoretical knowledge involved in algorithms

        Peak to Average Power Ratio (PAPR—Peak to Average Power Ratio), referred to as Peak to Average Power Ratio (PAPR). MIMO-OFDM systems can provide larger coverage, better transmission quality, higher data rates and spectral efficiency. However, since OFDM symbols are superimposed by multiple independently modulated sub-carrier signals, when the phases of each sub-carrier are the same or similar, the superimposed signal will be modulated by the same initial phase signal, resulting in larger instantaneous power. Peak, which further brings a higher Peak to Average Power Ratio (PAPR-Peak to Average Power Ratio), referred to as Peak to Average Ratio (PAPR). Since the dynamic range of general power amplifiers is limited, MIMO-OFDM signals with large peak-to-average ratios can easily enter the nonlinear region of the power amplifier, causing nonlinear distortion of the signal, causing obvious spectrum spread interference and in-band signals. Distortion leads to serious degradation in the performance of the entire system. Peak-to-average ratio has become a major technical obstacle to MIMO-OFDM.

2.1 Overview of PAPR issues in OFDM

       First of all, OFDM signal is a special multi-carrier modulation technology, which converts high-speed data streams into multiple parallel data streams through a serial-to-parallel converter, and then uses different carriers to carry these parallel code streams. In this process, the amplitude and phase of each carrier can be controlled independently, thereby optimizing the signal.

       However, since multiple carriers of OFDM signals are orthogonal, the amplitude of each carrier may change drastically in time, resulting in a high peak-to-average power ratio (PAPR) of the signal. High PAPR not only reduces the signal-to-noise ratio (SNR) of the signal, but also negatively affects the performance of the system.

2.2 PAPR suppression technology based on amplitude limiting method

       In Orthogonal Frequency Division Multiplexing (OFDM) technology, since the signal is superposed by multiple independently modulated sub-carrier signals, when the phases of each sub-carrier are the same or similar, the superimposed signal will be affected by the same initial phase signal. modulation, resulting in a larger instantaneous power peak, which further brings a higher Peak to Average Power Ratio (PAPR—Peak to Average Power Ratio), referred to as Peak to Average Ratio (PAPR).

       The main manifestation of the PAPR problem is that when the peak value of the OFDM signal appears, the dynamic range of the power amplifier is limited. Therefore, a signal with a large peak-to-average ratio can easily enter the nonlinear region of the power amplifier, causing nonlinear distortion of the signal and causing obvious Spectrum spread interference and in-band signal distortion cause serious degradation in the performance of the entire system. In order to solve the PAPR problem, PAPR suppression technology based on the amplitude limiting method was proposed. This technology mainly includes the following two methods:

  1. Amplitude limiting method: This method reduces PAPR by reducing the peak amplitude of the signal, but it will sacrifice a certain spectral efficiency.
  2. Companding method: This method reduces PAPR by changing the amplitude distribution of each carrier, but requires a large amount of computing resources.

        The above PAPR suppression technology based on the amplitude limiting method is proposed based on the characteristics and requirements of OFDM signal processing. It can effectively reduce the PAPR of OFDM signals and improve the performance of the system. However, specific requirements and limitations in its application also need to be considered.

3.Verilog core program

`timescale 1ns / 1ps
 

module OFDM_tops(
                i_clk,
                i_rst,
                
                i_before_fft1,
                i_last_fft1,
                i_enable1,
                i_real_dat1,
                i_imag_dat1,


                o_start_ifft,
                o_ends_ifft,
                o_enable_ifft, 
                o_real_ifft,
                o_imag_ifft,
                
                
                o_start_papr,
                o_ends_papr,
                o_enable_papr, 
                o_real_papr,
                o_imag_papr 
                );
    
input             i_clk;                 
input             i_rst;   
      
input             i_before_fft1;                
input             i_last_fft1;   
input             i_enable1;  
input signed[15:0]i_real_dat1;                 
input signed[15:0]i_imag_dat1;   


output  o_start_ifft;
output  o_ends_ifft;
output  o_enable_ifft;
output signed[31:0]o_real_ifft;                 
output signed[31:0]o_imag_ifft;


output  o_start_papr;
output  o_ends_papr;
output  o_enable_papr;
output signed[31:0]o_real_papr;                 
output signed[31:0]o_imag_papr;  



Tants Tantsu1(
                .i_clk          (i_clk),
                .i_rst          (i_rst),
                
                .i_before_fft1  (i_before_fft1),
                .i_last_fft1    (i_last_fft1),
                .i_enable1      (i_enable1),
                .i_real_dat     (i_real_dat1),
                .i_imag_dat     (i_imag_dat1),
 
                .o_real_ifft    (o_real_ifft),
                .o_imag_ifft    (o_imag_ifft),
                .o_start        (o_start_ifft),
                .o_ends         (o_ends_ifft),
                .o_enable       (o_enable_ifft)
                 
                );
 
 ofdm_papr ofdm_papr_u(
                .i_clk          (i_clk),
                .i_rst          (i_rst),
                
                .i_real_dat1    (o_real_ifft),
                .i_imag_dat1    (o_imag_ifft),

                .o_real_ifft    (o_real_papr),
                .o_imag_ifft    (o_imag_papr)
                );
 
reg  o_start_papr;
reg  o_ends_papr;
reg  o_enable_papr;

always @(posedge i_clk or posedge i_rst)
begin
     if(i_rst)
     begin
     o_start_papr   <= 1'd0;
     o_ends_papr    <= 1'd0;
     o_enable_papr  <= 1'd0;
     end
else begin
     o_start_papr   <= o_start_ifft;
     o_ends_papr    <= o_ends_ifft;
     o_enable_papr  <= o_enable_ifft;
     end
end  

endmodule
00_046m

4. Complete algorithm code file

IN

Guess you like

Origin blog.csdn.net/hlayumi1234567/article/details/133801547