Giter Club home page Giter Club logo

crt_fft_radar's Introduction

Usage

The highest peak on the X axis denotes the origin of the wave system.

Images were created in GNU Octave with the following commands:

crt(1577, [11,12,13,14,15],2)

crt_conv(1577, [11,12,13,14,15],2)

Description

The idea of a Chinese Remainder Theorem based Continuous Wave RADAR is that one may compute the distance by the incoming phases of several carriers, without precisely, measuring their travelling time. Only the phase difference between source and endpoints are needed.

The problem with CRT is when the remainder is around zero, then if it flips to the maximum due to measurement error, it gives perfectly false results. Besides it is for natural numbers only.

The idea is to use the Fourier transform to calculate the interference of adequatly shaped signals. Such signals are pulse trains, whose wavelength equals that of the carriers, pulse widths represent the phase measurements' errors, and they are all shifted with the measured phase difference.

Within the distance specified by CRT ie. the multiple of all wavelengths, this interference is going to have a maximum at the place where all pulse trains pulses align, ie. their phase is zero. The worse the phases' imprecision the more such peaks one might observe, yet with a lucky selection of carriers, better precision and the application of convolution, we stand chances there will be few. While the correct peak is always necessarily among the, and the pulse with the highest energy is the likeliest to be the correct one.

This code computes the distance of an object similarly to the Chinese Remainder Theorem yet with spatial Fourier Transfroms from the phases of possibly reflected radio signals. It works with real numbers, not just with relative prime naturals.

Concept

Calculating the best distance guess can be thought of as in interference problem: if the received signals were sent out with the respective phase delays that were measure, then the interference would be the strongest at the original reflection point. This can be simulated by Fourier transforming such signals, that only have a non-zero values where offset plus the wavelength plus-minus the measurements' imprecisions determine it. Then adding up such Fourier transforms and calculating the inverse Fourier transform, yields the highest peak at the original point where phases were aligned: in this very siimple proof of concept I calculated with the traced object being the source of radio signals, and all signals were sent out with phase 0. Summing up the Fourier series is a solution, because of superposition.

Possible improvements

  • the non-zero values in the saptial functions (variable 'a') could be replaced by the measurements actual error distribution, which may give more exact results
  • there are most of time multiple spikes at the same highest maximum, yet the widest one seems to be the correct guess
  • the space domain functions don't all have to be calculated for the Fourier transform, the laws of Fourier calculation should be enough to calculate the measurement error distributions' transform, and then caculate if it was delayed by the offset plus the wavelength
  • imprecision likely varies from wavelength to wavelength

Story

I had a weird idea that CRT's properties were useful in distance measurement, yet while searching, i constantly bumped into papers discussing 'robust CRT', trying to overcome its error prone nature due to measurements' imprecisions. Most of these papers use really heavy math to solve the problem of moduluses wrapping over between maximum and zero.

So i gave it some thought and here's what i got: a numerical computation, relatively easy to implement, and which inherently doesn't care about period boundaries, yet may cost much more computing power than a closed equation, but can be understood, discussed and implemented by average engineers.

crt_fft_radar's People

Contributors

fbv81bp avatar

Watchers

 avatar

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.