合成孔径雷达成像——算法与实现图【2.6】仿真

T = 1;
dt = 1/400;
t = 0:dt:1;
fs = 1/dt;
f0 = 15;
ft = 100;
BW = 75;%带宽75Hz
k = BW/T;%斜率为带宽时间比
N  = length(t);

先对确定各个参数,其中带宽书中给出,图的形状为cos(at+bt^2)然后再乘一个削减系数,复数情况为exp(1i*)函数。

s1 = cos(2*pi*(f0.*t+0.5*k*t.^2)).*p;
s2 = exp(1i*2*pi*((f0-52.5).*t+0.5*k*t.^2)).*p;
s3 = cos(2*pi*(ft.*t+0.5*k*t.^2)).*p;
s4 = exp(1i*2*pi*(ft.*t+0.5*k*t.^2)).*p;

构建信号

%% 
p0 = t+3;
p_max = max(p0);
p = p0./p_max;

这里为原信号加上的系数,即图中傅里叶变换图像额有一定的斜率,p0=t+a,a越大,斜率越大,然后进行归一化即可。这部分代码再建立信号之前。

F1_1 = fftshift(fft(s1,N));
F1 = F1_1./max(abs(F1_1));
F2_2 = fftshift(fft(s2,N));
F2 = F2_2./max(abs(F2_2));
F3_3 = fftshift(fft(s3,N));
F3 = F3_3./max(abs(F3_3));
F4_4 = fftshift(fft(s4,N));
F4 = F4_4./max(abs(F4_4));

然后进行傅里叶变换,变换后进行归一化。最后绘图。

附上完整代码:

%% 参数
T = 1;
dt = 1/400;
t = 0:dt:1;
fs = 1/dt;
f0 = 15;
ft = 100;
BW = 75;%带宽75Hz
k = BW/T;%斜率为带宽时间比
N  = length(t);

%% 幅度修正
p0 = t+3;
p_max = max(p0);
p = p0./p_max;

%% 建立原信号
s1 = cos(2*pi*(f0.*t+0.5*k*t.^2)).*p;
s2 = exp(1i*2*pi*((f0-52.5).*t+0.5*k*t.^2)).*p;
s3 = cos(2*pi*(ft.*t+0.5*k*t.^2)).*p;
s4 = exp(1i*2*pi*(ft.*t+0.5*k*t.^2)).*p;
%% 原信号绘图
figure
subplot(2,2,1),plot(s1);
subplot(2,2,2),plot(s2);
subplot(2,2,3),plot(s3);
subplot(2,2,4),plot(s4);

%% 傅里叶变换
F1_1 = fftshift(fft(s1,N));
F1 = F1_1./max(abs(F1_1));
F2_2 = fftshift(fft(s2,N));
F2 = F2_2./max(abs(F2_2));
F3_3 = fftshift(fft(s3,N));
F3 = F3_3./max(abs(F3_3));
F4_4 = fftshift(fft(s4,N));
F4 = F4_4./max(abs(F4_4));

%% 绘图
f = -fs/2:fs/N:fs/2-fs/N;
figure
subplot(2,2,1); plot( f,abs(F1));
ylabel('幅度'); title('(a)实&基带');grid on
subplot(2,2,2); plot( f,abs(F2));
ylabel('幅度'); title('(b)复&基带');grid on
subplot(2,2,3); plot( f,abs(F3));
ylabel('幅度'); title('(c)实&非基带'); grid on
subplot(2,2,4); plot( f,abs(F4));
ylabel('幅度'); title('(d)复&非基带'); grid on

结果图如下:
原信号
合成孔径雷达成像——算法与实现图【2.6】仿真_第1张图片

傅里叶变化后:
合成孔径雷达成像——算法与实现图【2.6】仿真_第2张图片
参考代码:

https://blog.csdn.net/zhoubanlu4/article/details/106151085

你可能感兴趣的:(合成孔径雷达成像算法与实现,灵活运用,matlab,仿真,合成孔径雷达,傅里叶变换)