В настоящее время я работаю с бумагой Данные радара CW с пошаговым изменением частоты для оптимальной обработки сигнала Мне нужно найти лучшую комбинацию t
, чтобы получить минимум J
. Вот процедура, чтобы найти t
:
- У меня есть 2 числа
t
: t=[t1 t2]
. t
будет начинаться с любого значения, но больше нуля. t
будет вставлено в алгоритм, чтобы найти Jminimum
t2
остается постоянным, в то время как минимум J
находится по размеру t1
. t1
остается неизменным на ранее найденном значении, в то время как минимум J
находится по размеру t2
. - 3 и 4 повторяются до тех пор, пока значения временной задержки не перестанут обновляться.
Мой вопрос: как имплантировать эту процедуру в мой код?
Ниже мой код:
clear
clc
close all
load('C:\Users\User\Desktop\fyp\defect_free(H).mat');
load('C:\Users\User\Desktop\fyp\f_column.mat');
load('C:\Users\User\Desktop\fyp\fi_column.mat');
load('C:\Users\User\Desktop\fyp\fr_column.mat');
fi=fi_column;
fr=fr_column;
f=f_column';
abs_H=abs(ifft(H));% getting magnitude of H from data in frequency domain
abs_H_temp=abs_H(1:2,:);% select from row 1 to row 2
for z=1:100000; % number of iterations
t=[rand(1,1) rand(1,1)]; %generate set of t
%algorithm
for x=1:101; % number of frequency
for y=1:n; %number of t
Fr(x,y)=cos(2*pi*f(x)*t(y)); %real number of F
Fi(x,y)=-i*sin(2*pi*f(x)*t(y)); % imaginary number of F
end
end
Fr_T=Fr';
Fi_T=Fi';
A=(Fr_T*Fr)+(Fi_T*Fi);
B=(Fr_T*fr)+(Fi_T*fi);
a=lsqminnorm(A,B) ; % solve tp get a set of a
J(z)=sum((a-abs_H_temp))^2; % to find the minimum of J from measured data
end
J_min=min(J);