Products & Services Solutions Academia Support User Community Company

Learn more about Communications Toolbox   

Using the Semianalytic Technique to Compute BERs

Section Overview

You can use BERTool to generate and analyze BER data via the semianalytic technique. The semianalytic technique is discussed in Performance Results via the Semianalytic Technique, and When to Use the Semianalytic Technique is particularly relevant as background material.

To access the semianalytic capabilities of BERTool, open the Semianalytic tab.

For further details about how BERTool applies the semianalytic technique, see the reference page for the semianalytic function, which BERTool uses to perform computations.

Example: Using the Semianalytic Tab in BERTool

This example illustrates how BERTool applies the semianalytic technique, using 16-QAM modulation. This example is a variation on the example in Example: Using the Semianalytic Technique, but it is tailored to use BERTool instead of using the semianalytic function directly.

Running the Semianalytic Example

  1. To set up the transmitted and received signals, run steps 1 through 4 from the code example in Example: Using the Semianalytic Technique. The code is repeated below.

    % Step 1. Generate message signal of length >= M^L.
    M = 16; % Alphabet size of modulation
    L = 1; % Length of impulse response of channel
    msg = [0:M-1 0]; % M-ary message sequence of length > M^L
    
    % Step 2. Modulate the message signal using baseband modulation.
    modsig = qammod(msg,M); % Use 16-QAM.
    Nsamp = 16;
    modsig = rectpulse(modsig,Nsamp); % Use rectangular pulse shaping.
    
    % Step 3. Apply a transmit filter.
    txsig = modsig; % No filter in this example
    
    % Step 4. Run txsig through a noiseless channel.
    rxsig = txsig*exp(1i*pi/180); % Static phase offset of 1 degree
  2. Open BERTool and go to the Semianalytic tab.

  3. Set parameters as shown in the following figure.

  4. Click Plot.

Visible Results of the Semianalytic Example

After you click Plot, BERTool creates a listing for the resulting data in the data viewer.

BERTool plots the data in the BER Figure window.

Procedure for Using the Semianalytic Tab in BERTool

The procedure below describes how you typically implement the semianalytic technique using BERTool:

  1. Generate a message signal containing at least ML symbols, where M is the alphabet size of the modulation and L is the length of the impulse response of the channel in symbols. A common approach is to start with an augmented binary pseudonoise (PN) sequence of total length (log2M)ML. An augmented PN sequence is a PN sequence with an extra zero appended, which makes the distribution of ones and zeros equal.

  2. Modulate a carrier with the message signal using baseband modulation. Supported modulation types are listed on the reference page for semianalytic. Shape the resultant signal with rectangular pulse shaping, using the oversampling factor that you will later use to filter the modulated signal. Store the result of this step as txsig for later use.

  3. Filter the modulated signal with a transmit filter. This filter is often a square-root raised cosine filter, but you can also use a Butterworth, Bessel, Chebyshev type 1 or 2, elliptic, or more general FIR or IIR filter. If you use a square-root raised cosine filter, use it on the nonoversampled modulated signal and specify the oversampling factor in the filtering function. If you use another filter type, you can apply it to the rectangularly pulse shaped signal.

  4. Run the filtered signal through a noiseless channel. This channel can include multipath fading effects, phase shifts, amplifier nonlinearities, quantization, and additional filtering, but it must not include noise. Store the result of this step as rxsig for later use.

  5. On the Semianalytic tab of BERTool, enter parameters as in the table below.

    Parameter NameMeaning
    Eb/No rangeA vector that lists the values of Eb/N0 for which you want to collect BER data. The value in this field can be a MATLAB expression or the name of a variable in the MATLAB workspace.
    Modulation typeThese parameters describe the modulation scheme you used earlier in this procedure.
    Modulation order
    Differential encodingThis check box, which is visible and active for MSK and PSK modulation, enables you to choose between differential and nondifferential encoding.
    Samples per symbolThe number of samples per symbol in the transmitted signal. This value is also the sampling rate of the transmitted and received signals, in Hz.
    Transmitted signalThe txsig signal that you generated earlier in this procedure
    Received signalThe rxsig signal that you generated earlier in this procedure
    NumeratorCoefficients of the receiver filter that BERTool applies to the received signal
    Denominator

      Note   Consistency among the values in the GUI is important. For example, if the signal referenced in the Transmitted signal field was generated using DPSK and you set Modulation type to MSK, the results might not be meaningful.

  6. Click Plot.

Semianalytic Computations and Results

After you click Plot, BERTool performs these tasks:

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS