-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathGen_Data_Whitt.m
135 lines (107 loc) · 4.5 KB
/
Gen_Data_Whitt.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
function [T,R,S1,S2,S3,S_test,M1,M2,M3,M_test,M_test2] = Gen_Data(delta_dB,f_dB,f_phase,SNR_dB)
% 函数,用来生成定标用数据
%
% 输入变量:
% 1)delta_dB 设置 R 和 T 失真矩阵的串扰大小,单位 dB(串扰相位取随机相位)
% 2)f_dB 设置 R 和 T 失真矩阵的幅度不平衡,单位 dB
% 3)f_phase 设置 R 和 T 失真矩阵的相位不平衡,单位 度(°)——可以指定,也可以随机生成
% 4)SNR_dB 设置系统模型中加性噪声水平,表示比绝对幅度A低 SNR_dB(信噪比),单位 dB
% 输出变量:
% 1)T,R 分别表示失真矩阵的设置值(真值)
% 2)S1,S2,S3 分别表示选用的三个参考极化定标器的散射矩阵
% 3)M1,M2,M3 分别对应 S1,S2,S3 的观测矩阵
% 4)S_test 和 M_test 分别对应检测用 22.5°二面角反射器(用来完整的解决Whitt算法问题)的散射矩阵和观测矩阵
% 5)M_test2 表示一个检测用三面角反射器(S1)的观测矩阵,用来计算极化精度
%
%
% 生成极化定标所需要的几个矩阵
% 1)三组不同定标器的理论散射矩阵 S;
% 2)生成三个参考极化定标器的观测矩阵 M;
% 3)除了上述三个参考极化定标器外,再生成 2 个检测用角反射器的观测矩阵 M;
% 采用的系统模型如下
% M = A*exp(1j*phy)*RST + N
% 设置:
% 1)A 设置为 1,绝对幅度因子
% 2)phy 从生成的 [-π,π] 随机数中选取
% 3)R 和 T 的设置见下文
% 4)N 表示加性噪声
%
% 更新至:2017.11.09. 09:20
% —— R 和 T 矩阵的串扰相位随机生成;
% —— 不平衡 f 的相位(相位不平衡)随机生成,但 R 和 T 的保持一致.
%%
% 生成 9 个区间为 [-π,π] 的随机数,用来作为:
% 1)发射、接收矩阵中串扰的相位
% 发射、接收矩阵中各2个,总共需要4个随机数作为相位;
% 2)不同定标点目标所对应的绝对相位 phy(见系统模型中的 phy)
% Whitt算法需要3个不同的参考定标器,再加上2检测用角反射器,
% 一个22.5°二面角,一个是三面角
% 总共需要5个随机数作为绝对相位;
Phase_TR = rand(1,9)*(2*pi) - pi; % [-π,π] 中的随机数
% save('Phase_TR.mat','Phase_TR');
% load Phase_TR;
%%
% 设置系统失真矩阵
% 1) 接收失真矩阵 R
% R = [ 1 , delta2
% delta1, f1 ];
delta2_dB = delta_dB; % delta2,串扰,单位 dB
delta1_dB = delta_dB; % delta1,串扰,单位 dB
f1_dB = f_dB; % f1,幅度不平衡,单位 dB
% --------------------------------------------------------
% 这是随机生成相位不平衡数值;
% 如果需要指定,则注销该行即可。
f_phase = rand(1,1)*(360); % [0, 360]之间随机数(°)
% --------------------------------------------------------
f1_phase = f_phase; % f1,相位不平衡,单位 度(°)
R = [ 1, 10^(delta2_dB/20)*exp(1j*Phase_TR(1,1));
10^(delta1_dB/20)*exp(1j*Phase_TR(1,2)), 10^(f1_dB/20)*exp(1j*(f1_phase/180*pi))];
% R = [ 1, 10^(delta2_dB/20) *exp(1j*pi/4);
% 10^(delta1_dB/20), 10^(f1_dB/20) *exp(1j*(f1_phase/180*pi))];
% 2) 发射失真矩阵 T
% T = [ 1 , delta3
% delta4, f2 ];
% 2016.08.11. 假设发射和接收失真矩阵具有互易性(包括幅度和相位);
delta3_dB = delta1_dB; % delta3,串扰,单位 dB
delta4_dB = delta2_dB; % delta4,串扰,单位 dB
f2_dB = f1_dB; % f2,幅度不平衡,单位 dB
f2_phase = f1_phase; % f2,相位不平衡,单位 度(°)
T = [ 1, 10^(delta3_dB/20)*exp(1j*Phase_TR(1,3))
10^(delta4_dB/20)*exp(1j*Phase_TR(1,4)), 10^(f2_dB/20)*exp(1j*(f2_phase/180*pi))];
% T = [ 1, 10^(delta3_dB/20);
% 10^(delta4_dB/20) *exp(1j*pi/4), 10^(f2_dB/20) *exp(1j*(f2_phase/180*pi))];
%%
% 设置三组不同定标器的理论散射矩阵
% 1) 三面角反射器
S1 = [ 1, 0
0, 1];
% 2) 0°二面角反射器
S2 = [ 1, 0
0, -1];
% 3) 45°二面角反射器
S3 = [ 0, 1
1, 0];
% 4)新增加 22.5° 二面角反射器
S_test =[ 1, 1
1, -1];
%%
% 根据系统失真矩阵和设定的理论散射矩阵,计算得到对应的观测矩阵
A = 1; % 设置,绝对幅度因子
% 1) 三面角反射器
% M1 = A*exp(1j*Phase_TR(1,5))*R*S1*T;
M1 = A*exp(1j*Phase_TR(1,5))*R*S1*T + A*10^(-SNR_dB/20)*exp(1j.*(rand(2,2)*2*pi-pi));
% 2) 0°二面角反射器
% M2 = A*exp(1j*Phase_TR(1,6))*R*S2*T;
M2 = A*exp(1j*Phase_TR(1,6))*R*S2*T + A*10^(-SNR_dB/20)*exp(1j.*(rand(2,2)*2*pi-pi));
% 3) 45°二面角反射器
% M3 = A*exp(1j*Phase_TR(1,7))*R*S3*T;
M3 = A*exp(1j*Phase_TR(1,7))*R*S3*T + A*10^(-SNR_dB/20)*exp(1j.*(rand(2,2)*2*pi-pi));
% 4)检测用 22.5°二面角反射器
% M_test = A*exp(1j*Phase_TR(1,8))*R*S_test*T;
M_test = A*exp(1j*Phase_TR(1,8))*R*S_test*T + A*10^(-SNR_dB/20)*exp(1j.*(rand(2,2)*2*pi-pi));
% 5)检测用三面角反射器
% M_test2 = A*exp(1j*Phase_TR(1,9))*R*S1*T;
M_test2 = A*exp(1j*Phase_TR(1,9))*R*S1*T + A*10^(-SNR_dB/20)*exp(1j.*(rand(2,2)*2*pi-pi));
%%
% 至此,仿真数据完成
end