Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paper: CAF Implementation on FPGA Using Python Tools #482

Open
wants to merge 75 commits into
base: 2019
from

Conversation

Projects
None yet
3 participants
@chiranthsiddappa
Copy link

commented May 25, 2019

If you are creating this PR in order to submit a draft of your paper,
see http://procbuild.scipy.org/ for logs generated by the build
process.

See the project readme
for more information.

@chiranthsiddappa

This comment has been minimized.

Copy link
Author

commented May 25, 2019

The shell script did not work for building, however this did:
python3 publisher/build_paper.py papers/chiranth_siddappa/
But I see that the build server is having difficulty building as well.

@nicoguaro

This comment has been minimized.

Copy link

commented Jun 5, 2019

Should I add comments to the paper in this PR?

@chiranthsiddappa

This comment has been minimized.

Copy link
Author

commented Jun 5, 2019

Hi @nicoguaro ,

If there are some very specific changes, maybe an edit in the rst would suffice. But I believe we are to exchange and address comments here so that the public may include and view any comments as well as SciPy participants. I am of course following this thread myself.

@nicoguaro

This comment has been minimized.

Copy link

commented Jun 5, 2019

The document is 10 pages long and the suggestion is to be no-longer than 8 pages.

@deniederhut

This comment has been minimized.

Copy link
Member

commented Jun 18, 2019

👀 you've been making a lot of commits! Is this ready for me to take a second look?

@chiranthsiddappa

This comment has been minimized.

Copy link
Author

commented Jun 18, 2019

@deniederhut Thanks for the review! I have a few remaining items to address at this time.

If you have some time to provide a little more feedback though, I was wondering what could make the statement of "synthesized to any target device" more clear throughout the paper..

@deniederhut

This comment has been minimized.

Copy link
Member

commented Jun 21, 2019

Sure thing! It would be nice to know which devices specifically, and sort of a general, hand-wavy explanation as to what the major differences are between devices that your library is capable of abstracting over (e.g. can abstract of different I/O setups, but not different instruction sets).

@deniederhut

This comment has been minimized.

Copy link
Member

commented Jun 25, 2019

Just checking in - the approval deadline is tomorrow. Have you had time to make the final changes you mentioned? Or should I re-review as-is?

@chiranthsiddappa

This comment has been minimized.

Copy link
Author

commented Jun 25, 2019

Just checking in - the approval deadline is tomorrow. Have you had time to make the final changes you mentioned? Or should I re-review as-is?

I will make the final changes today. It won't be very drastic from the current draft.

@deniederhut
Copy link
Member

left a comment

This is shaping up nicely! I really enjoyed reading the more detailed sections on your implementation of arithmetic functions.

It looks like the citations sections still needs some work, and I think the introduction could be reorganized a bit to make things more clear. It would be good to trim down the abstract a bit as well, since this paper is currently over the 8 page limit.

@@ -0,0 +1,31 @@
The purpose of this project is to provide a geolocation solution by generating code for the complex ambiguity function

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

This abstract is pretty long -- typically they are 4-8 sentences.

@@ -0,0 +1,675 @@
:author: Chiranth Siddappa
:email: csiddapp@uccs.edu
:institution: University of Colorado Colorado Springs

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

It looks like you are missing the :corresponding: tag here

Introduction
============

The basic algorithm for calculating the complex ambiguity function for time difference of arrival and frequency offset (CAF)

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

Some readers might not know what a complex ambiguity function is. Here, you use it to define your problem space before you define what it is. It might make it easier for others to follow your paper if your introduction describes:

  1. What people were trying to do (tell how far away something is)
  2. Other approaches to doing this, and what was good or bad about them (e.g. false positives)
  3. Briefly, what CAF is, and how it relates to previous solutions
The CAF has many practical applications, the more traditional being the aforementioned radar and sonar type systems, with a similar use case in image processing.
The use of cross-correlations in the form of the dot product to find similarities
is the same theoretical basis for our use in geolocation.
The main motivator for this project comes from the use of the CAF at the author's workplace where the field of work is

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

This sentence could be simplified to read "This project is concerned with satellite communication."

This method of calculation has yet to be simplified.
Currently GPU's have been employed as the main workhorse due to the availability as a co-prorcessor.
But the use of the FPGA has always been an attractive alternative due to the high configurability of the hardware options,
but comes with much higher up front design cost :cite:`Hennessy`.

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

Why is the design cost higher? Because of the number of configuration options?

represents a satellite's drift.
Then, cross correlations can be used to determine the time delay by denoting the peak of the resulting output as a time
delay of arrival (TDOA).
The captured signals will be different for every use case, which motivates the need to ensure

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

What do you mean by this? That every satellite needs its own fpga implementation?

attempting to shift the signal as close as possible to the original reference signal.
The time offset is what allows for the computation of a TDOA, and the frequency offset is what allows for the
computation of the FDOA.
In this implementation, the frequency offset is created by a signal generator and a complex multiply module that are

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

I might start a new paragraph here

The resulting spectrum is shown in Fig. :ref:`sig-gen`. This satisfies the frequency (:math:`f`) portion of the equation.
The complex multiply module is similarly configurable for different bit widths through the complex multiply generator
class :cite:`caf-verilog`.
An example CAF surface is provided in Fig. :ref:`caf-surface-example` showing how the energy of the signal is spread over

This comment has been minimized.

Copy link
@deniederhut

deniederhut Jun 26, 2019

Member

I might start a new paragraph here


This project made extensive use of the Python ecosystem through the use of pip, Jupyter, and many other packages. The
reader is encouraged to view the :code:`caf-verilog` source code :cite:`caf-verilog` and view the releases that have been
made on PyPI :cite:`caf-verilog-pypi`.

This comment has been minimized.

Copy link
@deniederhut
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.