把T = 7.24e-6; # % 信号持续时间 B = 5.8e6; # % 信号带宽 K = B/T; # % 调频率 ratio = 10; # % 过采样率 Fs = ratio*B; # % 采样频率 dt = 1/Fs; # % 采样间隔 N = int(np.ceil(T/dt)); # % 采样点数 t = ((np.arange(N))-N/2)/N*T; # % 时间轴flipud st = np.exp(1j*np.pi*K*np.square(t)); # % 生成信号 ht = np.conj(np.flipud(st)); # % 匹配滤波器 out = np.fft.fftshift(np.fft.ifft(np.fft.fft(st)*np.fft.fft(ht))); Z = np.abs(out); Z = Z/np.max(Z); Z = 20*np.log10(np.spacing(1)+Z); plt.figure(figsize=(10,8))#set(gcf,'Color','w'); plt.subplot(2,2,1) plt.plot(t*1e6,np.real(st)); plt.title('(a)输入阵列信号的实部');plt.ylabel('幅度'); plt.subplot(2,2,2) plt.plot(t*1e6,Z);plt.axis([-1,1,-30,0]); plt.title('(c)压缩后的信号(经扩展)');plt.ylabel('幅度(dB)'); plt.subplot(2,2,3); plt.plot(t*1e6,out); plt.title('(b)压缩后的信号');plt.xlabel('相对于t_{0}时间(\mus)');plt.ylabel('幅度'); plt.subplot(2,2,4); plt.plot(t*1e6,np.abs(np.angle(out)));plt.axis([-1,1,-5,5]); plt.title('(d)压缩后信号的相位(经扩展)');plt.xlabel('相对于t_{0}时间(\mus)');plt.ylabel('相位(弧度)');改为matlab代码
时间: 2023-06-14 17:05:28 浏览: 220
T = 7.24e-6; % 信号持续时间
B =5.8e6; % 信号宽
K = B/T % 调频率
ratio =10; % 过采样率
Fs = ratio*B; 采样频率
= 1/Fs; %采样间隔
N =(T/dt); %采样点数
= ((0:N-1N/2)/N; % 时间轴
st = exp(j*pi*K*t.^2); % 生成信
ht = conj(flipud(st)); % 匹配滤波器
out = fftshift(ifft(fft(st).*fft(ht))); % 压缩后的信号
Z = abs(out);
Z = Z(Z);
Z = 20*log10(eps+Z);
subplot(2,2,)
plot(t*1e6,real(st));
title('(a)输入阵列信号的实部');
ylabel('幅度');
subplot(2,2,2)
plot(t*1e6);
axis([-1,1,-30,0]);
title('(c)压缩后的信号(经扩展)');
ylabel('幅度(dB)');
subplot(2,2,3);
plot(t*1e6,out);
title('(b)压缩后的信号');
xlabel('相对于t_{0时间(\mus)');
ylabel('幅度');
subplot(2,2,4);
plot(t*1e6,abs(angle(out)));
axis([-1,1,-5,5]);
title('(d)压缩后信号的相位(经扩展)');
xlabel('相对于t_{0}时间(\mus)');
ylabel('相位(弧度)');
阅读全文