Giter Site home page Giter Site logo

power-amplifier-model's Introduction

Power Amplifier Model

This is a power amplifier model class for MATLAB. It is loaded with a parallel hammerstein model of a WARP board. This class allows the user to transmit through the PA model, or retrain the model given an input and output signal.

How to install this:

Option 1: Add PowerAmplifier.m to the path:

Download this repo. Put the PowerAmplifier.m in the folder of your project or in any folder that is in the Matlab path. Then proceed to use the class to use the provided PA model or train a new model.

Option 2: Add as a submodule in your git project:

If you already are using git with your project, you can use this as a submodule. In the main directory of your project, run

git submodule add https://github.com/ctarver/Power-Amplifier-Model.git
git submodule update --init --recursive

This repo should show up in your project. Then just commit the new submodule to your project like you would commit anything. To use the class, you still need to add the PowerAmplifier.m to your Matlab path. addpath(genpath(Power-Amplifier-Model))

How to use the PowerAmplifier class:

Initialize with: pa = PowerAmplifier(params);

The input params should be as follows:

  • params.order: Odd, positive integer that is the highest nonlinear, polynomial term considered in the model.
  • params.memory_depth: Integer that represents the number of taps in the filters that model the memory effects.
  • params.noise_variance: Small, decimal value that is an additional gaussian noise added to the PA output to be more realistic. Like thermal noise.
  • params.add_lo_leakage: Boolean flag to add a constant to model local oscillator leakage.
  • params.add_iq_imbalance: Boolean flag to add IQ imbalance. The actual severeity of the imbalance can be modified in the class constructor.

To send something through the PA model, simply use the transmit method, rx_Data = pa.transmit(tx_Data).

Checkout the example.m to see more.

power-amplifier-model's People

Contributors

ctarver avatar

Forkers

dhp520

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.