Skip to content

Latest commit

 

History

History
45 lines (38 loc) · 2.99 KB

README.md

File metadata and controls

45 lines (38 loc) · 2.99 KB

Comparison of various linearisation techniques for Digital-to-Analogue Converters

  1. Introduction
  2. Linearisation Methods
  3. Results
  4. Dependencies
  5. Simulation

Introduction

In this repository you can find various implementations of linearisation methods (LM) that are being investigated with the aim of improving the accuracy of digital-to-analogue converters (DACs). The methods are first and foremost evaluated for the application to a custom integrated circuit (IC), attempting to co-optimise the performance of the linearsiation method and the IC design simultaneuously. More about this project can be found on the project group's website: https://pinacl.ux.uis.no/.

The latest results have been published in the paper titled "Improving the Accuracy of Digital-to-Analogue Converters (DACs). The paper was accepted for publication as an open access publication in Measurement: Sensors. The paper was presented at the Technical Committee, 4 of IMEKO (IMEKO TC4 - Measurement of Electrical Quantities) at The XXIV IMEKO World Congress 2024, organised by the PTB, the Physikalisch-Technische Bundesanstalt, held in Hamburg, Germany, on 26 - 29 August 2024. For details regarding the modelling of the DACs and implementation of the linearisation methods (LM), please refer to the paper.

Linearisation methods

This repository contains the implementation of 7 linearisation methods (LM) which are as follows:

  1. PHYSCAL - Physical level Calibration
  2. NSDCAL - Noise shaping with Digital Calibration
  3. PHFD - Periodic High-Frequency Dithering
  4. SHPD - Stochastic High-Pass Dithering
  5. DEM - Dynamic Element Matching
  6. MHOQ - Moving Horizon Optimal Quantiser, or Model Predictive Control (MPC)
  7. ILC - Iterative Learning Control

Results

A summary of the latest results can be found in this repository at results/results.md.

Dependencies

The code in this repository is dependent on the libraries listed below:

numpy
scipy
matplotlib
statistics
itertools
math    

Optimization solver

gurobi

Simulation

To run simulations, open run_me.py and:

  1. Choose quantiser configuration
  2. Choose linearisation methods