The original goal was to write this MATLAB file in VHDL in an attempt to have faster processing due to parallel processing. This project is part of FSU's EEL3705L requirements. Evidently reading the supporting MATLAB data files are a VHDL programming problem in themselves so my professor suggested making the data files a constant. The same was considered for the output calculations as the data files would need converting back to a .MAT file.
My current task is to get the program to simulate. The abbreviated sif and cal constants are placeholders for compilation purposes. I should get constants as out put as the original .m file generated constants for the follow on .m file
%
%This RMA SAR algorithm was written by Gregory L. Charvat as part of his dissertation:
%G. L. Charvat, ``A Low-Power Radar Imaging System," Ph.D. dissertation,
%Dept. of Electrical and Computer Engineering, Michigan State University,
%East Lansing, MI, 2007.
%
%Please cite appropriately.
%
%This algorithm was based on:
%Range Migration Algorithm from ch 10 of Spotlight Synthetic Aperture Radar
%Signal Processing Algorithms, Carrara, Goodman, and Majewski
%
%The radar system used here is from the following sources:
%G. L. Charvat. "Build a high resolution synthetic aperture radar imaging system in your backyard," MIT Haystack Observatory, May 12, 2010.
%G. L. Charvat. "Low-Cost, High Resolution X-Band Laboratory Radar System for Synthetic Aperture Radar Applications." Austin Texas: Antennas Measurement Techniques Association conference, October 2006.
%G. L. Charvat, L. C. Kempel. "Low-Cost, High Resolution X-Band Laboratory Radar System for Synthetic Aperture Radar Applications." East Lansing, MI: IEEE Electro/Information Technology Conference, May 2006.
%G. L. Charvat, "Low-cost, high-resolution, X-band laboratory radar system for synthetic aperture radar applications," Michigan State University Chapter of the IEEE, January 31, 2007
%
%Radar specifications:
% LFM chirp from 7.835 GHz - 12.817 GHz in 10 mS
% TX power = 15 dBm
% TX and RX beamwidth = 25 deg both E and H planes
% rail SAR length is 96"
% cross-range sample spacing = 1"
%
%Data: Target scene of pushpins (thumbtacks). Acquired in May of 2006 while in graduate school as part of the
%Electromagnetics Group at Michigan State University
clear all;
c = 3E8; %(m/s) speed of light
%*********************************************************************
%load IQ converted data here
load rback_cl s; %load variable sif %for background subtraction cal data
%*********************************************************************
%perform background subtraction
sif_sub = s;
load rgostate_cl s; %load variable sif %for image data
sif = s - sif_sub; %perform coherent background subtraction
%sif = s; %image without background subtraction
%sif = sif_sub; %image the background
clear s ss;
clear sif_sub;
%***********************************************************************
%radar parameters
fc = (12.817E9 - 7.835E9)/2 +7.835E9; %(Hz) center radar frequency
B = (12.817E9 - 7.835E9); %(hz) bandwidth
cr = B/10E-3; %(Hz/sec) chirp rate
Tp = 10E-3; %(sec) pulse width
%VERY IMPORTANT, change Rs to distance to cal target
Xa = 0; %(m) beginning of new aperture length
delta_x = 1*(1/12)*0.3048; %(m) 2 inch antenna spacing
L = delta_x*(size(sif,1)); %(m) aperture length
Xa = linspace(-L/2, L/2, (L/delta_x)); %(m) cross range position of radar on aperture L
Za = 0;
t = linspace(0, Tp, size(sif,2)); %(s) fast time, CHECK SAMPLE RATE
Kr = linspace(((4*pi/c)*(fc - B/2)), ((4*pi/c)*(fc + B/2)), (size(t,2)));
%************************************************************************
%callibration
load rcal71 s; %load callibration file to standard target
Rs = (71/12)*.3048; %(m) y coordinate to scene center (down range), make this value equal to distance to cal target
Ya = Rs; %SEE GEOMETRY FIGURE 10.6
s_cal = s;
load rcalback s; %load background data for cal to standard target
s_cal = s_cal - s; %perform background subtraction
cal = s_cal;
%calculate ideal cal target parameters
%target parameters, 3 targets
at1 = 1; %amplitude of cal target
xt1 = 0;
yt1 = Rs; %(m) distance to cal target
zt1 = 0;
%Rt and Rb for 1 cal target according to equation 10.26
Rb1 = sqrt((Ya - yt1)^2 + (Za - zt1)^2);
xa = 0;
Rt1 = sqrt((xa - xt1).^2 + Rb1^2);
Kr = linspace(((4*pi/c)*(fc - B/2)), ((4*pi/c)*(fc + B/2)), (size(t,2))); %according to range defined on bottom of page 410
for ii = 1:size(t,2) %step thru each time step to find phi_if
phi_if1(ii) = Kr(ii)*(Rt1 - Rs);
end
cal_theory = at1*exp(-j*phi_if1);
clear phi_if1;
%calculate the calibration factor
cf = cal_theory./(cal);
%apply the cal data
for ii = 1:size(sif,1)
sif(ii,:) = sif(ii,:).*cf; %turn off cal
end
%Save background subtracted and callibrated data
save sif sif delta_x Rs Kr Xa Rs;
%clear all;
%run IFP
XBAND_RMA_IFP;