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.