This project implements two types of CFAR (Constant False Alarm Rate) algorithms: SOCA (Smallest Of Cell Averaging) and GOCA (Greatest Of Cell Averaging). The project is organized into four main folders, each serving a specific purpose related to the implementation and testing of these algorithms.
file.mat
: The input data file used by the MATLAB algorithms.app1.mlapp
: The MATLAB GUI application to assist in tuning the CFAR parameters.cfar_app.m
: The MATLAB file containing the CFAR algorithm, which serves as the golden reference for the project.cfar_algorithm.sv
: The HDL file implementing the CFAR algorithm.cfar_tb.sv
: The test bench for the CFAR design.detect_if.sv
: The interface between the DUT (Device Under Test) and the test bench.top.sv
: The top-level file containing the DUT and test bench.screen_from_gui_GOCA.png
: Screenshot of the running GUI app for GOCA.
screen_of_gui_matlab.png
: Screenshot of the MATLAB code and the UI of App Designer.
screen_of_rtl.png
: Screenshot of the RTL written in SystemVerilog.
screen_of_questasim_result.png
: Screenshot of RTL results from simulation in Questasim.
screen_of_simulink_fil.png
: Screenshot of Simulink model used to connect with FPGA.
screen_of_command_window.png
: Screenshot of the command window calling Quartus to generate the .sof
file.
FPGA_IN_THE_LOOP_CFAR.slx
: The Simulink model file for connecting with FPGA.matlab_script.mlx
: MATLAB script that prepares inputs for Simulink and retrieves results from FPGA.dummy_top_FIL.fil.sof
: Bitstream file for FPGA.dummy_top_FIL.sv
: SystemVerilog file used in the FIL process.for_fpga_in_the_loop.qsf
: Quartus settings file for generating .sof
file.file.mat
in MATLAB.cfar_app.m
to execute the CFAR algorithm.app1.mlapp
to launch the GUI and tune the CFAR parameters for both SOCA and GOCA.RTL_SV
folder:
cfar_algorithm.sv
: The main CFAR algorithm implementation.cfar_tb.sv
: The test bench for the CFAR algorithm.detect_if.sv
: The interface between the DUT and the test bench.top.sv
: The top-level module integrating the DUT and the test bench.Screens
folder.FIL
folder to connect with the FPGAIf you would like to contribute to this project, please fork the repository and use a feature branch. Pull requests are warmly welcome.