No BSD License
-
Capped_Wedge_GUI(varargin)
CAPPED_WEDGE M-file for Capped_Wedge.fig
-
LFM_gui(varargin)
LFM_GUI M-file for LFM_gui.fig
-
array(varargin)
ARRAY M-file for array.fig
-
clutter_rcs_gui(varargin)
CLUTTER_RCS_GUI M-file for clutter_rcs_gui.fig
-
kalman_gui(varargin)
KALMAN_GUI M-file for kalman_gui.fig
-
linear_array_gui(varargin)
LINEAR_ARRAY_GUI M-file for linear_array_gui.fig
-
matched_filter_gui(varargin)
MATCHED_FILTER_GUI M-file for matched_filter_gui.fig
-
myradar_visit2_2_gui(varargin...
MYRADAR_VISIT2_2_GUI M-file for myradar_visit2_2_gui.fig
-
rcs_aspect_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_circ_plate_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_cylinder_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_ellipsoid_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_frequency_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_frustum_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_isosceles_driver()
This is the machine-generated representation of a Handle Graphics object
-
rcs_rect_plate_driver()
This is the machine-generated representation of a Handle Graphics object
-
stretch_gui(varargin)
STRETCH_GUI M-file for stretch_gui.fig
-
DielCappedWedgeTMFields_Ls(v,...
Function to calculate the near field components of a capped wedge
-
DielCappedWedgeTMFields_PW(v,...
Function to calculate the near field components of a capped wedge
-
LFM(B,T);
Compute alpha
-
addnoise(trajectory, sigmaaz,...
addnoise.m
-
barker_ambig(uinput)
Compute and plot the ambiguity function for a Barker code
-
burn_thru (pt, g, sigma, freq...
-
circ_array(N,dolxr,dolyr,thet...
-
clutter_rcs(sigma0, thetaE, t...
This function calculates the clutter RCS and the CNR for a ground based radar.
-
cylinder (r, h, lambda)
This program compute monostatic RCS for a cylinder
-
dbesselh(nu,kind,z)
-
dbesselj( nu,z )
-
dbessely( nu,z )
-
double_canceler(fofr1)
-
factor(n)
Compute the factorial of n using logarithms to avoid overflow.
-
fluct_loss(pd, pfa, np, sw_ca...
This fucntion calculates the SNR fluctiation loss for Swerling models
-
fresnelc(x)
-
fresnels(x)
-
ghk_tracker (X0, smoocof, inp...
read the intial estimate for the state vector
-
hrr_profile (nscat, scat_rang...
Range or Time domain Profile
-
improv_fac (np, pfa, pd)
This function computes the non-coherent integration improvment
-
incomplete_gamma ( vt, np)
This function implements Eq. (2.67) to compute the Incomplete Gamma Function
-
kalfilt(trajectory, x0, P0, p...
kalfilt.m
-
kalm(start_loc, velocity, yam...
-
kalman_filter(npts, T, X0, in...
read the intial estimate for the state vector
-
lfm_ambg(taup, b, up_down)
-
linear_array(Nr,dolr,theta0,w...
This function computes and returns the gain radiation pattern for a linear array
-
makeellip( x0, y0, radiusx, r...
-
maketraj(start_loc, xvelocity...
-
marcumsq (a,b)
This function uses Parl's method to compute PD
-
matched_filter(nscat,taup,b,r...
time bandwidth product
-
mono_pulse(phi0)
-
normrnd(mu,sigma,m,n);
NORMRND Random matrices from normal distribution.
-
pd_swerling1 (nfa, np, snrbar...
This function is used to calculate the probability of detection
-
pd_swerling2 (nfa, np, snrbar...
This function is used to calculate the probability of detection
-
pd_swerling3 (nfa, np, snrbar...
This function is used to calculate the probability of detection
-
pd_swerling4 (nfa, np, snrbar...
This function is used to calculate the probability of detection
-
pd_swerling5 (input1, indicat...
This function is used to calculate the probability of detection
-
planar_array_gui(varargin)
PLANAR_ARRAY_GUI M-file for planar_array_gui.fig
-
polardb(theta,rho,line_style)
POLARDB Polar coordinate plot.
-
power_aperture(snr,tsc,sigma,...
-
power_integer_2 (x)
-
prn_ambig(uinput)
Compute and plot the ambiguity function for a PRN code
-
pulse_integration(pt, freq, g...
-
que_func(x)
This function computes the value of the Q-function
-
radar_eq(pt, freq, g, sigma, ...
-
radar_eq_PC(np,pt, freq, g, s...
-
range_red_factor (te, pj, gj,...
This function computes the range reduction factor and produces
-
rcs_aspect(scat_spacing, freq...
This function demonstrates the effect of aspect angle on RCS
-
rcs_circ_plate (r, freq)
This program calculates and plots the backscattered RCS of
-
rcs_cylinder(r1, r2, h, freq,...
rcs_cylinder.m
-
rcs_ellipsoid (a, b, c, phi)
This program computes the back-scattered RCS for an ellipsoid.
-
rcs_frequency (scat_spacing, ...
This program demonstrates the dependency of RCS on wavelength
-
rcs_frustum (r1, r2, h, freq,...
This program computes the monostatic RCS for a frustum.
-
rcs_isosceles (a, b, freq, ph...
This program caculates the backscattered RCS for a perfectly
-
rcs_rect_plate(a, b, freq)
This program computes the backscattered RCS for a rectangular
-
rec_to_circ(N)
-
rect_array(Nxr,Nyr,dolxr,doly...
-
rndcheck(nargs,nparms,arg1,ar...
RNDCHECK error checks the argument list for the random number generators.
-
single_canceler (fofr1)
-
single_pulse_ambg (taup)
-
sir (pt, g, sigma, freq, tau,...
-
soj_req (pt, g, sigma, b, fre...
This function implements equations for SOJs
-
ssj_req (pt, g, freq, sigma, ...
This function implements Eq.s (10.9)
-
stretch(nscat,taup,f0,b,rrec,...
-
threshold (nfa, np)
This function calculates the threshold value from nfa and np.
-
train_ambg (taup, n, pri)
-
wedgeTMfields(v,rho,rhop,phii...
Function to calculate the near field components of a sharp wedge
-
Capped_WedgeTM.m
-
Fig2_3.m
-
Fig2_7.m
-
Fig2_8.m
-
Fig4_2.m
-
Fig4_6.m
-
PolKal.m
-
casestudy1_1.m
-
circular_array.m
-
clutterrcsgui.m
-
cylinderi.m
-
example11_1.m
-
fig10_8.m
-
fig11_18a.m
-
fig12_12-13.m
-
fig1_12.m
-
fig1_13.m
-
fig1_16.m
-
fig1_19.m
-
fig1_21.m
-
fig1_23.m
-
fig1_27.m
-
fig1_28.m
-
fig2_10.m
-
fig2_11ab.m
-
fig2_12.m
-
fig2_13.m
-
fig2_14.m
-
fig2_16.m
-
fig2_2.m
-
fig2_21.m
-
fig2_6a.m
-
fig2_6b.m
-
fig2_9.m
-
fig3_17.m
-
fig3_7.m
-
fig3_8.m
-
fig3_8_v1.m
-
fig3_8a.m
-
fig4_4.m
-
fig4_5.m
-
fig4_8.m
-
fig5_14.m
-
fig5_3.m
-
fig710.m
-
fig7_10.m
-
fig7_10a.m
-
fig7_10b.m
-
fig7_10c.m
-
fig7_11.m
-
fig7_9.m
-
fig8_5.m
-
fig8_53.m
-
fig8_7.m
-
fig9_20.m
-
fig9_21.m
-
fig9_27.m
-
fig9_28.m
-
figs13.m
-
fxdwght.m
-
initialize.m
-
mismatch.m
-
myradar_visit2_1.m
-
myradar_visit2_2.m
-
myradar_visit4.m
-
myradar_visit6.m
-
myradar_visit7.m
-
myradar_visit8.m
-
myradarvisit1_1.m
-
prob_snr1.m
-
range_red_factor_bat.m
-
range_red_factori.m
-
rcs_cylinder_cmplx.m
-
rcs_frustum1.m
-
rcs_sphere.m
-
scan_loss.m
-
sinc1.m
-
snr_sp.m
-
soj_req_bat.m
-
soj_reqi.m
-
sphereRCS.m
-
ssj_req_bat.m
-
ssj_reqi.m
-
testkalm.m
-
wedgeTM.m
-
View all files
|
|
| linear_array(Nr,dolr,theta0,winid,win,nbits);
|
function [theta,patternr,patterng] = linear_array(Nr,dolr,theta0,winid,win,nbits);
% This function computes and returns the gain radiation pattern for a linear array
% It uses the FFT to computes the pattern
%%%%%%%%%%%%%%%%%%%% ********** INPUTS ************** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Nr ==> number of elements; dolr ==> element spacing (d) in lambda units divided by lambda
% theta0 ==> steering angle in degrees; winid ==> use winid negative for no window, winid positive to enter your window of size(Nr)
% win is input window, NOTE that win must be an NrX1 row vector; nbits ==> number of bits used in the pahse shifters
% negative nbits mean no quantization is used
%%%%%%%%%%%%%%%%%%%% *********** OUTPUTS ************* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% theta ==> real-space angle; patternr ==> array radiation pattern in dBs
% patterng ==> array directive gain pattern in dBs
%%%%%%%%%%%%%%%%%%%% ************************ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
eps = 0.00001;
n = 0:Nr-1;
i = sqrt(-1);
%if dolr is > 0.5 then; choose dol = 0.25 and compute new N
if(dolr <=0.5)
dol = dolr;
N = Nr;
else
ratio = ceil(dolr/.25);
N = Nr * ratio;
dol = 0.25;
end
% choose proper size fft, for minimum value choose 256
Nrx = 10 * N;
nfft = 2^(ceil(log(Nrx)/log(2)));
if nfft < 256
nfft = 256;
end
% convert steering angle into radians; and compute the sine of angle
theta0 = theta0 *pi /180.;
sintheta0 = sin(theta0);
% detrmine and comupte quantized steering angle
if nbits < 0
phase0 = exp(i*2.0*pi .* n * dolr * sintheta0);
else
% compute and add the phase shift terms (WITH nbits quantization)
% Use formula thetal = (2*pi*n*dol) * sin(theta0) divided into 2^nbits
% and rounded to the nearest qunatization level
levels = 2^nbits;
qlevels = 2.0 * pi / levels; % compute quantization levels
% compute the phase level and round it to the closest quantizatin level at each array element
angleq = round(dolr .* n * sintheta0 * levels) .* qlevels; % vector of possible angles
phase0 = exp(i*angleq);
end
% generate array of elements with or without window
if winid < 0
wr(1:Nr) = 1;
else
wr = win';
end
% add the phase shift terms
wr = wr .* phase0;
% determine if interpolation is needed (i.e N > Nr)
if N > Nr
w(1:N) = 0;
w(1:ratio:N) = wr(1:Nr);
else
w = wr;
end
% compute the sine(theta) in real space sthat correspond to the FFT index
arg = [-nfft/2:(nfft/2)-1] ./ (nfft*dol);
idx = find(abs(arg) <= 1);
sinetheta = arg(idx);
theta = asin(sinetheta);
% convert angle into degrees
theta = theta .* (180.0 / pi);
% Compute fft of w (radiation pattern)
patternv = (abs(fftshift(fft(w,nfft)))).^2;
% convert raditiona pattern to dBs
patternr = 10*log10(patternv(idx) ./Nr + eps);
% Compute directive gain pattern
rbarr = 0.5 *sum(patternv(idx)) ./ (nfft * dol);
patterng = 10*log10(patternv(idx) + eps) - 10*log10(rbarr + eps);
return
|
|
Contact us at files@mathworks.com