2022 National Graduate Mathematical Modeling Competition Huawei Cup Question A Mobile Scene Super-Resolution Positioning Problem Solving Documentation and Procedures

2022 National Graduate Mathematical Modeling Competition Huawei Cup

Question A: Super-resolution positioning problem in mobile scenes

Original title reproduced:

  In daily family life, people may need to spend a lot of time looking for small items randomly placed in certain corners of the home. However, if certain important items are labeled with circuits, and then the whole-house coverage capabilities of sweeping robots can be used to accurately locate these objects, it will greatly improve the convenience of people's lives. In the field of intelligent assisted driving or autonomous driving, it is even more necessary to accurately detect the position and speed of nearby vehicles and pedestrians to control vehicle speed, steering and braking to avoid accidents. These are all mobile scene positioning problems. Obviously, the higher the positioning accuracy, the greater the application value, especially super-resolution positioning, which has broad application prospects.
  Existing mobile scene positioning products usually use frequency-modulated continuous wave radar FMCW (frequency-modulated continuous-wave) to perform positioning by transmitting signal waves with linearly increasing frequencies and receiving reflected signal waves. The schematic diagram is as follows, where PA (Power Amplifier
Insert image description here
  ) , LNA (Low Noise Amplifier), ADC (Analogue-to-Digital Converter). Most existing products use baseline algorithms, which result in low resolution and cannot meet the growing demand for super-resolution positioning. There is an urgent need to improve resolution through modeling and designing corresponding algorithms to enhance product competitiveness.
  For simplicity, we consider a planar 2D scene. Assume that within a chirp period T, the frequency of the radar transmission signal and the transmission wave signal are f(t)=f_0+γt,0≤t<T s_TX (t)=A_TX exp⁡(j2π( f_0 t+γ/2 t^2 )),0≤t<T where A_TX represents the signal transmission power, f_0 represents the carrier frequency, γ represents the frequency modulation slope, T represents the chirp period, and j represents the imaginary unit. Then the radar received signal after being reflected by an object with a distance of R_0 is   s_RX (t)=A_RX exp⁡(j2π( f_0 (t-τ)+γ/2 (t-τ)^2 )),τ≤t<T
                
          

              
Among them, A_RX represents the signal reception power, τ=2R_0/c is the reception delay, where c represents the speed of light. The transmit signal and the received signal overlap on [τ,T]. By inputting these two signals into the mixer, the intermediate frequency (IF) signal s_IF (t)=s_TX (t) s_RX^* (t)=A_TX can be obtained A_RX exp(j2π(γτt+ f_0 τ)),τ<t≤ T. The τ^2(τ≪1) term is ignored. Since the frequency of the intermediate frequency signal is f_IF=γτ, R_0=c/2γ f_IF.
      

  On the horizontal plane, N_a equivalent virtual antenna arrays with an aperture L are evenly arranged. We establish a coordinate system with the center of the antenna array as the origin, the x-axis of the antenna array, and the y-axis perpendicular to the antenna array.

Insert image description here
  Assume that the distance from object O_k to the center is r_k, and the angle θ_k with the y-axis, then the corresponding coordinates are The two-way echo distance of /(N_a-1),y_n=0}, n=0,1,⋯,N_a-1.) is R_( n,k)=2√((x_n-X_k )^2+ (y_n-Y_k)^2) For an object with such an echo distance, the FMCW radar receives an intermediate frequency signal on the nth antenna at time t. represents t) s_(n,k) (t)=a_k e^j(2πγT_s tτ+2πf_0 τ) =a_k e^j(2πγ T_s t R_(n,k)/c +2π f_0 R_(n,k) /c) ,t=0,1,2,⋯,[T/T_s]-1 where a_k represents the reflectivity of the object, T_s is the sampling interval, c is the speed of light, and [T/T_s] represents rounding. At time t within a chirp cycle, the intermediate frequency signal received by the nth antenna is a mixture of K target objects with noise intermediate frequency signals z_n (t)=∑_(k=1)^K▒〖s_(n, k) (t)+w_n (t)〗,t=0,1,2,⋯,[T/T_s]-1Here w_n represents noise. In the moving scene, the radar obtains one frame (N_f chirp periods) of intermediate frequency signal group {Z_q,q=0,⋯,N_f-1}. Here, for any given q, the intermediate frequency signal Z_q={z_n (t),n=0,⋯,N_a-1,t=0,⋯,[T/T_s]-1} means collected in the qth chirp period signal. Since the time in the chirp period (~50 microseconds) is extremely short, it can be considered that the object remains stationary during this period. Within one frame, the relative position of the object moves significantly.
                  
  
              
  
          

  
      

  
  Super-resolution positioning in mobile scenes refers to designing a robust low-complexity online algorithm to locate objects in real-time super-resolution in the above mobile scenes. (It may be assumed that the antenna radius is much smaller than the distance of the object)
  Existing algorithms and research status:
  The baseline algorithm in existing products is to measure distance and angle by adding a Hamming window and then doing FFT. The advantage is low complexity, and the disadvantage is low resolution.
  Traditional algorithms such as the MUSIC algorithm separate the signal space and the noise space through spatial smoothing filtering and decomposition of characteristic subspaces, but this will also cause a reduction in resolution and greater interference from noise.
  Existing compressed sensing algorithms take advantage of the sparsity of spatial object distribution and can effectively improve resolution, but processing this continuous Fourier dictionary scenario and designing low-complexity algorithms is a huge challenge.
  Question:
  1. Based on the noise-free simulation data provided, establish a positioning model, calculate the relative position of the object, and display it in a two-dimensional polar coordinate diagram (the abscissa represents distance, and the ordinate represents angle).
  2. Based on the provided Gaussian noise simulation data, use the IF signal within a chirp period to design a super-resolution algorithm to accurately locate multiple objects.
  3. Design an online low-complexity algorithm, use one frame of intermediate frequency signal for super-resolution positioning, and verify the performance of the algorithm through numerical experiments. Based on the provided frame of data, the relative motion trajectory of the object is calculated and displayed in a two-dimensional graph (the abscissa represents distance, and the ordinate represents angle).
  4. Considering that in actual scenarios, due to aging and other reasons, the antenna array will also have errors in its own positioning. Based on the provided simulation data, an improved algorithm is designed to improve the robustness of the positioning algorithm.

Overview of the overall solution process (abstract)

  In daily family life, people may need to spend a lot of time looking for small items randomly placed in some corners of the home. However, if circuit tags are attached to certain important items, and then these objects can be accurately located using the full-house coverage capabilities of sweeping robots, this will greatly improve the convenience of people's lives. In the field of autonomous driving or intelligent assisted driving, millimeter-wave radar has been used in car driving as an important auxiliary tool. These scenarios require precise detection of the position and speed of nearby vehicles and pedestrians in order to control vehicle speed, steering and braking to prevent accidents. These are all mobile scene positioning problems. How to improve the angular resolution of millimeter wave radar has become an urgent problem that needs to be solved. Obviously, the higher the positioning accuracy, the greater the application value, especially high-resolution positioning, which has broad application prospects.
  For question 1, this section analyzes the FCMV-MIMO radar system using two transmitters and 43 receivers and gives one possible system structure. Based on this system, the FCMV signal model and the FCMV-MIMO equivalent virtual aperture radar model are established, and the principles of the baseline method ranging and angle measurement commonly used in engineering are analyzed. Aiming at the shortcoming of low angle measurement resolution of the baseline method, the MUSIC algorithm based on the Gaelic circle is introduced for super-resolution DOA estimation. Based on the above two algorithms, this section uses the baseline method for ranging and the Gaelic circle MUSIC algorithm for angle measurement to achieve joint positioning, and the positioning results are given: Target 1 is 7.0303m away from the array phase center, and the angle with the vertical direction of the array is 0.0011°; Target 2 is 7.0303m away from the array phase center, and the angle with the vertical direction of the array is 0.1334°.
  For question two, considering that the performance of the MUSIC algorithm deteriorates sharply in the case of low signal-to-noise ratio, this section establishes a DOA estimation model based on compressed sensing and proposes a CS-DOA estimation algorithm based on the modified L1-SVD hybrid norm constraint. Through iterative regularization parameters, the false peak effect caused by the proximity of multiple targets in the classic CS algorithm is effectively eliminated, and the super-resolution angle measurement capability is improved. The final multi-target positioning results are given: target 1 is 8.2218m away from the array phase center, and the angle with the vertical direction of the array is -0.71°; target 2 is 8.2218m away from the array phase center, and the angle with the array vertical direction is 0.71°.
  Regarding question three, since the compressed sensing algorithm is too complex to process continuous Fourier dictionary scenes, this section adopts a fast DOA estimation algorithm based on subspace rotation transformation, which can achieve online target positioning. At the same time, in view of the distance and angle binary mapping problems caused by super-resolution algorithm positioning solution, two target matching and positioning algorithms, namely three-dimensional joint and baseline method preprocessing, are proposed. Finally, the positioning results of 32 chirp cycles are given and the target motion trajectory is drawn.
  In response to question 4, this section first uses the joint iterative optimization method of amplitude and phase error and angle based on feature space to correct the amplitude and phase error of the array element, and obtains the precise positioning result of the target: target 1 is 6.1246m away from the array phase center, and is sandwiched by - in the vertical direction of the array. 0.1040°; Target 2 is 6.0056m away from the array phase center, and the angle with the vertical direction of the array is 0.1210°. At the same time, based on the idea of ​​inter-channel phase difference balance, this paper innovatively constructs a spatial phase constant factor, and proposes a joint phase error adaptive pre-correction and MUSIC DOA estimation algorithm to better achieve the correction of amplitude and phase errors, and obtain the corresponding The target high-precision positioning results: target 1 is 6.1246m away from the array phase center, and the angle with the vertical direction of the array is -0.1053°; target 2 is 6.0056m away from the array phase center, and the angle with the array vertical direction is 0.1183°.

Model assumptions:

  By analyzing the topic, the settings of this article are as follows:
  1. The actual MIMO radar constructs a virtual antenna array through joint transmission and reception. Since the intermediate frequency data after reception has been given, this article will not consider the specific transmission situation, but mainly from the perspective of signal processing. Angle to solve super-resolution positioning problem.
  2. The antenna radius is much smaller than the distance of the object, that is, the target is considered to be in the far field range of the array aperture.
  3. In each scenario, it is assumed that there are K objects that need to be analyzed and determined within the radar detection range. The detection range is a sector-shaped area within a radius of 10 meters with the origin as the center and an upward opening angle of 100°.
  4. Since the actual radar detects the target in three dimensions in space, including the three dimensions of pitch, azimuth and distance. This article only considers the two-dimensional positioning of the distance and angle of the target relative to the array.
  5. In a moving scene, the target moves relative to the radar. The radar obtains one frame (32 chirp cycles) of intermediate frequency signal group. Since the time in the chirp cycle is extremely short, it can be considered that the target is stationary during this time. In one frame, due to changes in the target's motion state, the target's position shifts.
  6. The noise involved in this question is all Gaussian white noise, and does not include colored noise or other types of noise.

problem analysis:

  Analysis of Question 1:
  In recent years, thanks to the advancement of semiconductor technology and the popularity of the Internet of Things, devices equipped with millimeter wave technology have begun to enter the lives of the general public, such as millimeter wave radars that realize gesture recognition and human health information monitoring. These devices only use the distance information and Doppler information of millimeter wave radar. With the introduction of MIMO technology, MIMO radar expands the array elements in space through an equivalent virtual array. Due to these characteristics, millimeter-wave radars are theoretically easier to design into large-scale arrays to achieve high azimuth resolution capabilities. Regarding the positioning model and its solution that need to be established for problem 1, it is clear here that positioning includes distance measurement and angle estimation levels. At the same time, angle estimation is also called wave of arrival method estimation in the field of array signal processing, which is a common DOA estimation. Therefore distance measurement and DOA estimation belong together to the positioning technology category. The core of question one is to calculate the position of the object relative to the array and achieve target positioning by processing the noise-free data given in the question. Therefore, this section first needs to perform data analysis on the given data_q1.mat, and use the parameters known in the question to deduce the FCMV-MIMO radar system structure. In the following, basic models such as the FCMV signal model and the FCMV-MIMO radar equivalent virtual aperture model will be modeled based on this structure. The establishment of the basic model will help strengthen the understanding of data_q1.mat data. This section will design the joint baseline-MUSIC method to achieve precise positioning of the target and finally display the target positioning results in the form of tables and polar coordinate diagrams.

  Analysis of Problem 2:
  The traditional spatial spectrum estimation method has various shortcomings, taking into account the unique sparse characteristics of the spatial signal itself. Sparse sampling using compressed sensing sampling theory is used to obtain data at a sampling rate lower than the Nyquist theorem. At the same time, a suitable sparse reconstruction algorithm is used to reconstruct the sparse signal. Therefore, it can make up for the shortcomings of traditional array direction finding estimation and achieve certain results. It can also increase the resolution and robustness of the algorithm to a certain extent, and is applicable to any type of source. There is no need to consider the impact of source coherence/incoherence on the array direction finding algorithm. Hereinafter, array direction finding is also called DOA estimation.

  Analysis of Question 3:
  From the algorithm analysis of Questions 1 and 2, it can be seen that if the high-resolution angle measurement algorithm combined with the baseline method distance measurement method detects that the target is located in different distance units, the target matching problem needs to be solved. If the target is in the same distance unit, baseline method ranging and high-resolution angle measurement can obtain more accurate positioning results. Since the third problem is a frame with a total of 32 chirp cycles and the target moves, a suitable target matching method needs to be considered. The first idea is to combine the three dimensions of array dimension, snapshot dimension and chirp period dimension to make use of the target motion trend, so multiple targets can be distinguished; the second idea is to think that a single chirp period object is stationary, which is equivalent to 32 chirp periods alone. position. In this case, it is necessary to first use two-dimensional FFT to preprocess the target information to obtain a rough estimate of the target, and then use range FFT, high-resolution angle measurement, and target matching with the preprocessing results to finally obtain the target position through the above steps. result. Since this question requires both low complexity and super-resolution angle measurement, if preprocessing and matching are used, it will undoubtedly increase time consumption. Therefore, this section adopts the first idea, combines three-dimensional information to distinguish multiple targets, and obtains 32 positioning results through simulation. The movement trajectory of the target is drawn in the coordinate system.

  Analysis of Question 4:
  In actual scenarios, due to the influence of interference and other factors on the antenna or the amplitude and phase errors of the antenna itself caused by inaccurate standards, there will be a certain deviation in the angle estimation of the antenna array. Because of the existence of these errors, it has a great impact on the angle estimation accuracy of the MIMO radar system. In order to improve the array positioning problem in the presence of errors, it is required that the system errors be compensated as much as possible during the modeling process.

Model establishment and solution overall paper thumbnail

Insert image description here
Insert image description here
Insert image description here

For all the papers, please see "Only modeling QQ business cards" below. Just click on the QQ business card.

code:

clear all;
close all;
clc;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 2022106 日
%% question one
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 系统参数
c = 3e8; %光速
Ts = 1.25e-7; %采样周期
fs = 1/Ts; %采样频率(8M)
T = 3.2e-5; %chirp 周期
Nf = 32; %一帧有 32 个 chirp
L = 0.0815; %每个虚拟孔径的长度
gama = 78.986e12; %调频率
Na = 86; %阵元个数
f0 = 78.8e9; %中心频率
POINT_NUM = 256; %点数
lmda = c/f0; %波长
B = gama*T; %chirp 带宽
dd = 2*L/(Na-1); %阵元间距
%% 导入数据
load('data_q1.mat');
%% 1.基线法求解
R0_x = (0:fs/(POINT_NUM-1):fs)*c/(2*gama); %距离维度坐标
theta_y=-90:180/(128-1):90; %角度维度坐标
mm =abs(fftshift((fft((fft(Z,[],2)),128,1)),1)); %基线法
figure(1)
mesh(R0_x,theta_y,mm); %画出 R-thita 图
axis([0 10 -90 90]) %坐标限制
% xlabel('距离/m'); ylabel('角度/°'); zlabel('幅度'); 
% axes('Position',[0.4 0.3 0.3 0.25])
% mesh(R0_x(118:120),theta_y(60:70),mm(60:70,118:120))
% xlabel('距离/m'); ylabel('角度/°'); zlabel('幅度'); 
% colormap Jet
win = hann(length(mm(1,:)));
win = repmat(win,1,128).';
mm_hanming = mm.*win;
figure(2)
mesh(R0_x,theta_y,mm_hanming); %画出 R-thita 图
axis([0 10 -90 90]) %坐标限制
xlabel('距离/m'); ylabel('角度/°'); zlabel('幅度'); 
xlabel('距离/m'); ylabel('角度/°'); zlabel('幅度'); 
axes('Position',[0.4 0.3 0.3 0.25])
mesh(R0_x(118:120),theta_y(60:70),mm(60:70,118:120))
xlabel('距离/m'); ylabel('角度/°'); zlabel('幅度'); 
colormap Jet
plot(theta_y,mm(:,119));hold on;grid on;
xlabel('角度/°'); ylabel('幅度'); 
%% 2.MUSIC 算法求解目标方位角
thita = 0:0.0001:180; %角度搜索范围
d = 0:dd:(Na-1)*dd; 
R=Z*Z'/POINT_NUM; %信号的自相关函数 
[EV,D]=eig(R); %相关函数特征值分解
EVAq=diag(D)'; %对角矩阵重拍
[EVA,I]=sort(EVAq); %特征值排序
EVA=fliplr(EVA); %特征值反褶
EV=fliplr(EV(:,I)); %特征向量反褶
P = EV(:,4:end); %提取噪声子空间
for i=1:length(thita) %谱峰搜索
 A=exp(j*2*pi*d/lmda*cos(thita(i)*pi/180)).';
 S(i)=1/(A'*P*P'*A);
end
thita = thita - 90;
out = Peak_Seek(thita,S,2);
figure(2) 
plot(thita,20*log10(abs(S)/max(abs(S))),'r');hold on; %将谱峰功率转换成 dB
grid on;hold on;
axis([-50 50 -90 0]) %坐标限制
title('MUSIC 测角')
xlabel('目标方位(度)')
ylabel('输出功率(dB)')
axes('Position',[0.4 0.3 0.3 0.25])
% plot(theta_y(60:70),mm(60:70,119));
plot(thita(1800000/2-2000:1800000/2+3340),20*log10(abs(S(1800000/2-
2000:1800000/2+3340)/max(abs(S)))),'r');hold on; %将谱峰功率转换成 dB
xlabel('目标方位(度)')
ylabel('输出功率(dB)')
colormap Jet
axis([-0.2 0.4 -33 0]) 
clear all;
close all;
clc;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 2022107 日
%% question two
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 系统参数
c = 3e8; %光速
Ts = 1.25e-7; %采样周期
fs = 1/Ts; %采样频率(8M)
T = 3.2e-5; %chirp 周期
Nf = 32; %一帧有 32 个 chirp
L = 0.0815; %每个虚拟孔径的长度
gama = 78.986e12; %调频率
Na = 86; %阵元个数
f0 = 78.8e9; %中心频率
POINT_NUM = 256; %点数
lmda = c/f0; %波长
B = gama*T; %chirp 带宽
dd = 2*L/(Na-1); %阵元间距
%% 导入数据
load('data_q2.mat');
%% 1.L1-SVD 求解
K = 2; %信源数
%snapshot= size(Z_noisy,2); %快拍数
snapshot=256;
X=Z_noisy;
Searching_doa=-50:0.01:50;
for m=1:length(Searching_doa)
 AA(:,m) = exp(-1j*(0:Na-1)*dd*2*pi*sin(Searching_doa(m)*pi/180)/lmda); %构造一度为网格间距的
完备基矩阵
end
Y=X; %得到观测数据矩阵
Dk1=eye(K);
Dk2 = zeros(K,snapshot-K);
Dk = [Dk1,Dk2].';
[U,D,V] = svd(Y); %进行奇异值分解
Ysv = Y*V'*Dk;
p=0.001; 
yita=chi2inv(1-p,Na^2); 
Sumvector=ones(length(Searching_doa),1);
R=X*X'/snapshot; 
[EDV,ED]= eig(R);
EVAq=diag(ED)'; %对角矩阵重拍
[EVA,I]=sort(EVAq); %特征值排序
EVA=fliplr(EVA); %特征值反褶
P_esv=(norm(EVA(:,(3:end))))^2; 
cvx_begin quiet %CVX 工具包
variables p q
variables r(length(Searching_doa)) % 表示决策向量是一个 1801 维的向量
variable SSV1(length(Searching_doa),K) complex; % 表示决策向量是一个 1801*2 的复数矩阵
expression xsv(length(Searching_doa),1)
expressions Zk(Na,K) complex
minimize(p+5*q); %合理选择正则化参数
subject to
Zk = Ysv-AA*SSV1;
Zvec = vec(Zk); %把矩阵转化为向量
norm(Zvec) <=p ; %第一个不等式约束
Sumvector'*r<=q; %第二个不等式约束
for i=1:length(Searching_doa) %第三个不等式约束
 xsv(i,:)=norm(SSV1(i,:));
end
for i=1:length(Searching_doa)
 xsv(i)<=r(i);
end
cvx_end
power=10*log10(abs(xsv)/max(abs(xsv)));
figure()
plot(Searching_doa,power,'r');
xlabel('DOA/degree');
ylabel('PowerdB');
clear all;
close all;
clc;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 2022107 日
%% question three
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 系统参数
c = 3e8; %光速
Ts = 1.25e-7; %采样周期
fs = 1/Ts; %采样频率(8M)
T = 3.2e-5; %chirp 周期
Nf = 32; %一帧有 32 个 chirp
L = 0.0815; %每个虚拟孔径的长度
gama = 78.986e12; %调频率
Na = 86; %阵元个数
f0 = 78.8e9; %中心频率
POINT_NUM = 256; %点数
lmda = c/f0; %波长
B = gama*T; %chirp 带宽
dd = 2*L/(Na-1); %阵元间距
%% 导入数据
load('data_q3.mat');
b_3=permute(Z_time,[2 3 1]);
for i = 1:32
%% 1.基线法测距
R0_x = (0:fs/(POINT_NUM-1):fs)*c/(2*gama); %距离维度坐标
theta_y=-90:180/(128-1):90; %角度维度坐标
mm =abs(fftshift((fft((fft(b_3(:,:,i),[],2)),128,1)),1)); %基线法
win = hann(length(mm(1,:)));
win = repmat(win,1,128).';
mm_hanming = mm.*win;
figure((i-1)*2+1);
mesh(R0_x,theta_y,mm_hanming); %画出 R-thita 图
axis([0 10 -90 90]) 
 
%% 2.SRT-MUSIC 在线测角
b_4=b_3(:,:,i);
thita = 0:0.001:180; %角度搜索范围
d = 0:dd:(Na-1)*dd; 
Z=b_4;
R=Z*Z'/POINT_NUM; %信号的自相关函数 
[EV,D]=eig(R); %相关函数特征值分解
EVAq=diag(D)'; %对角矩阵重拍
[EVA,I]=sort(EVAq); %特征值排序
EVA=fliplr(EVA); %特征值反褶
EV=fliplr(EV(:,I)); %特征向量反褶
G = EV(:,3:end); %提取噪声子空间
G_rank=rank(G);
G_2=G(83:end,:);
G_2ni=pinv(G_2);
G_s=G*G_2ni;
G_3=G(1:82,:)*G_2ni;
for ii=1:length(thita) %谱峰搜索
 A=exp(1i*2*pi*d/lmda*cos(thita(ii)*pi/180)).';
 A_1=A(1:82,:);
 A_2=A(83:end,:);
 S(ii)=1/((A_1'*G_3*G_3'*A_1)+37+2*real(A_1'*G_3*A_2));
end
figure((i-1)*2+2);
plot(thita-90,20*log10(abs(S)/max(abs(S))),'k');hold on; %将谱峰功率转换成 dB
grid on;hold on;
title('SRT-MUSIC 测角')
xlabel('目标方位(度)')
ylabel('输出功率(dB)')
end
clc
clear all
close all
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 2022109 日
%% question four
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 系统参数
c = 3e8; %光速
Ts = 1.25e-7; %采样周期
fs = 1/Ts; %采样频率(8M)
T = 3.2e-5; %chirp 周期
Nf = 32; %一帧有 32 个 chirp
L = 0.0815; %每个虚拟孔径的长度
gama = 78.986e12; %调频率
Na = 86; %阵元个数
f0 = 78.8e9; %中心频率
POINT_NUM = 256; %点数
lmda = c/f0; %波长
B = gama*T; %chirp 带宽
dd = 2*L/(Na-1); %阵元间距
derad = pi/180; %deg -> rad
radeg = 180/pi;
twpi = 2*pi;
kelm = Na; %阵列数量
dd = 0.5; %space 
iwave = 2; %源个数
%% 导入数据
load('data_q4.mat'); 
Z = Z_antnoisy;
chose = [0,1] %选择想运行的算法
%% 1.联合相位误差自适应预校正和 MUSIC 的 DOA 估计算法
if (chose(1))
kk = angle(Z);
for i = 1: 85
 phy_cha(i,:) = kk(i+1,:)- kk(i,:);
end
figure(1);
mesh(phy_cha);
gamma = 50;
for i = 1:256
 mean_phy = mean(phy_cha(:,i));
 for j =1:85
 if( abs(phy_cha(j,i)) > gamma * mean_phy )
 if(phy_cha(j,i)>0)
 Z(j+1,i) = Z(j+1,i)*exp(1i*(-phy_cha(j,i)));
 phy_cha(j,i) = angle(Z(j+1,i))-angle(Z(j,i));
 if(j<85)
 phy_cha(j+1,i) = angle(Z(j+2,i))-angle(Z(j+1,i)); 
 end
 
 else
 Z(j+1,i) = Z(j+1,i).*exp(1i*(-phy_cha(j,i))); 
 phy_cha(j,i) = angle(Z(j+1,i))-angle(Z(j,i));
 if(j<85)
 phy_cha(j+1,i) = angle(Z(j+2,i))-angle(Z(j+1,i));
 end
 end
 end 
 end 
end
kk1 = angle(Z);
for i = 1: 85
 phy_cha1(i,:) = kk1(i+1,:)- kk1(i,:);
end
 
figure(2);
mesh(phy_cha1);
R0_x = (0:fs/(512-1):fs)*c/(2*gama); %距离维度坐标
theta_y=-90:180/(256-1):90; %角度维度坐标
mm =abs(fftshift((fft((fft(Z,512,2)),512,1)),1)); %基线法
mm1 = fft(Z,[],2);
mesh(abs(mm1));
mesh(abs(mm));
imagesc(R0_x,theta_y,mm);
imagesc(abs(mm1))
Rxx=Z*Z'/POINT_NUM;
[EVq,D]=eig(Rxx);%%%% 
EVA=diag(D)';
[EVA,I]=sort(EVA);
EVA=fliplr(EVA);
EV=fliplr(EVq(:,I));
d=0:dd:(kelm-1)*dd; % 
iang = -90:0.0001:90;
for kk = 1:length(iang)
 a=exp(-1i*twpi*d*sin(derad*iang(kk))).'; 
 En=EV(:,2+1:kelm);
 SP(kk)=1/(a'*En*En'*a);
end
figure(3);
SP=abs(SP);
SPmax=max(SP);
SP=10*log10(SP/SPmax);
h=plot(iang,SP); 
set(h,'Linewidth',2)
xlabel('angle (degree)')
ylabel('magnitude (dB)')
% 
set(gca, 'XTick',[-90:10:90])
grid on 
out=Peak_Seek(iang,SP,2);
end
%% 2.基于特征空间的幅相误差和角度联合迭代优化方法
if(chose(2))
 
Rxx=Z*Z'/POINT_NUM;
% InvS=inv(Rxx); %%%%
[EVq,D]=eig(Rxx);%%%% 
EVA=diag(D)';
[EVA,I]=sort(EVA);
EVA=fliplr(EVA);
EV=fliplr(EVq(:,I));
d=0:dd:(kelm-1)*dd;
iang = -90:0.001:90;
for kk = 1:length(iang)
 a=exp(-j*twpi*d*sin(derad*iang(kk))).'; 
 En=EV(:,2+1:kelm);
% SP(kk)=(a'*a)/(a'*En*En'*a);
 SP(kk)=1/(a'*En*En'*a);
 
end
% 
figure(1);
SP=abs(SP);
SPmax=max(SP);
SP=10*log10(SP/SPmax);
h=plot(iang,SP);
set(h,'Linewidth',2)
xlabel('angle (degree)')
ylabel('magnitude (dB)')
set(gca, 'XTick',[-90:10:90])
grid on 
out=Peak_Seek(iang,SP,iwave);
w=[1;zeros(kelm-1,1)];
% [temp,i0]=min(abs(theta-mean(sita0)));
Tao=diag([1;randn(kelm-1,1)+j*randn(kelm-1,1)]);
Tao=diag(ones(kelm,1));
% ==== ==== 通道幅相误差的自校正算法
for num=1:100
 clear SP est_cita
 num
 % ==== 搜索 P 个角度
 for ii=1:length(iang)
% a_theta=exp(j*2*pi/lamda*r*cos(theta(ii)-2*pi*k/M)*cos(fai0(1)));
 a_theta=exp(-j*twpi*d*sin(derad*iang(ii))).';
% SP(ii)=1/sum((abs((Tao*a_theta)'*En).^2));
% SP(ii)=(a_theta'*a_theta)/(a_theta'*En*En'*a_theta);
 SP(ii)=1/((Tao*a_theta)'*En*En'*(Tao*a_theta));
 
 end
 
 figure(3);plot(iang,10*log10(SP/max(SP)));pause(2);hold on;
 
% i1=find(Pc(1:i0)==max(Pc(1:i0)));i2=find(Pc(i0:end)==max(Pc(i0:end)));
 out(num+1,:)=Peak_Seek(iang,SP,iwave);
 
 if(out(num+1,1)>0.3&&out(num+1,1)<-0.3) out(num+1,1)=out(num,1); end
 if(out(num+1,2)>0.3&&out(num+1,2)<-0.3) out(num+1,2)=out(num,2); end
 
 
% est_cita=[theta(i1) theta(i0+i2-1)];EST_cita(num,:)=est_cita/pi*180;
 clear Tao gama
 Q=zeros(kelm,kelm);
 for jj=1:iwave
% a_cita=exp(j*2*pi/lamda*r*cos(est_cita(jj)-2*pi*k/M)*cos(fai0(1)));
 a_cita=exp(-j*twpi*d*sin(derad*out(num+1,jj))).';
 erfa=diag(a_cita);
 Q=Q+erfa'*En*En'*erfa;
 end
 gama=inv(Q)*w/(w.'*inv(Q)*w);
 Tao=diag(gama);
 
 J(num)=gama'*Q*gama;
 if num>=2 & (abs(J(num-1)-J(num))<2e-3)
 
 break
 end
end
end
For all the papers, please see "Only modeling QQ business cards" below. Just click on the QQ business card.

Guess you like

Origin blog.csdn.net/weixin_43292788/article/details/132831315