Skip to content

kaizhongkaizhong/WaveSyn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WaveSyn

WaveSyn is a platform for testing and evaluating radar waveform synthesis algorithms originally used by Dr. Yi-nan Zhao's (orcid) research team. This team is dedicated to developing advanced radar signal processing techniques including adaptive detector and adaptive waveform design methods. The main author of WaveSyn is Dr. Feng-cong Li (orcid).

Pattern synthesis for MIMO radars

This work is based on the theory provided in Waveform Synthesis for Diversity-Based Transmit Beampattern Design. For co-located MIMO radars, to synthesize a beampattern which is close to an ideal beampattern, one should synthesize a correlation matrix R at first. This application can help the users to generate an optimized correlation matrix based on a given ideal beampattern.

As shown above, one can simply enter the parameters of the ideal pattern, and after click the "solve" button, the application will solve the semidefinite quadratic programming problem behind the scene. The users can export the generated correlation matrix as Matlab .mat data file or Excel data sheet. The code used in WaveSyn for solving the optimization problem is originally written by Tao Zhang who is a work mate of Feng-cong Li.

Waveform synthesis for SISO radars

We developed a window for testing waveform synthesis algorithms shown as follows:

This window can test many different algorithms. One may argue that the parameters of different algorithms are different, which makes it impossible to test many algorithms using one window. However, the "parameters" panel on this window is generated by code, which means this panel is dynamic; the algorithm loader can read meta inforamtion of the current algorithm by using meta-programming technique, and create an appropriate "parameters" panel automatically, which makes this window adaptable.

Features of WaveSyn

WaveSyn have some features to make your work easier. These features includes a multimedia console, a help system which is very helpful, and a scripting system which can prevent you from clicking the mouse and stroking the keyboard thousands of times. ###The multimedia console of WaveSyn The console window is the first window appears on the screen after WaveSyn is launched. This console displays all of the meaningful messages including stdout, stderr, command history, error messages, and embedded multimedia help & information.


###The scripting system The scripting system helps users to automate WaveSyn. To help users write their own script, WaveSyn is obliging and prints the corresponding commands in the console for most GUI operations, and these printed commands can help users to figure out the object model of WaveSyn.
Users can enter a piece of code directly in the console window, shown as follows:

The scripting system also supports single tab text editor such as notepad.exe (default on Windows) and Vim (GVim).
Learn more about the scripting system.

###Proxy system We implemented a proxy system for the model tree of WaveSyn based on XMLRPC. By utilizing the proxy system, one can access the model tree remotely; and thanks to the meta-programming technique, one can manipulate a remote model tree the same way as he manipulate a local model tree.

###Parallel computing Sometimes we test an algorithm by running its corresponding procedure many times. For computers with multicore CUPs, this process can be accelerated using parallel programming techniques such as multithreading. However, the GIL of Python prevents the threads from running in "truely parallel"; consequently, we use multiprocessing instead. Users can activate parallel computing by simply click the "parallel" checkbox on SingleSyn window.

About

WaveSyn is a platform for testing and evaluating radar waveform synthesis algorithms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.1%
  • Hy 14.5%
  • Jupyter Notebook 10.7%
  • Batchfile 0.3%
  • Vim Script 0.2%
  • PowerShell 0.2%