Python实现《合成孔径雷达成像——算法与实现》图4.4。
import matplotlib.pyplot as plt
import numpy as np
import math
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
Re=6368 #地球半径km
h=800 #Radarsat-1卫星高度km
G=np.arange(260,420) #地距
beta_e=G/Re #G所张成的地心角
R0=(Re**2+(Re+h)**2-2*Re*(Re+h)*np.cos(beta_e))**0.5
theta_i=np.arcsin((Re+h)/R0*np.sin(beta_e))*180/math.pi
#theta_i=(Re+h)/R0*np.sin(beta_e)
dR=13.6 #斜距分辨率
dG=dR/((Re+h)/R0*np.sin(beta_e))
plt.figure(1)
plt.subplot(3,1,1)
plt.plot(G,R0)
plt.ylabel('斜距(km)')
plt.subplot(3,1,2)
plt.plot(G,theta_i)
plt.ylabel('入射角(°)')
plt.subplot(3,1,3)
plt.plot(G,dG)
plt.xlabel('地距(km)')
plt.ylabel('地距分辨率(m)')
plt.show()