import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 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*t**2); # % 生成信号 st = np.exp(1j*np.pi*K*t**2)+0.75*np.random.randn(N); # % 生成带有高斯噪声的信号 ht = np.exp(-1j*np.pi*K*t**2); # % 匹配滤波器 out = np.fft.fftshift(np.fft.ifft(np.fft.fft(st)*np.fft.fft(ht))); # % 计算循环卷积 # Z = abs(out); # Z = Z/max(Z); # Z = 20*log10(eps+Z); Z = np.abs(out); Z = Z/np.max(Z); Z = 20*np.log10(np.finfo(float).eps+Z); tt = t*1e6; plt.figure(figsize=(10,8))#set(gcf,'Color','w'); plt.subplot(2,2,1) plt.plot(tt,np.real(st)); plt.title('(a)输入阵列信号的实部');plt.ylabel('幅度'); plt.subplot(2,2,2) plt.plot(tt,Z);plt.axis([-1,1,-30,0]); plt.title('(c)压缩后的信号(经扩展)');plt.ylabel('幅度(dB)'); plt.subplot(2,2,3); plt.plot(tt,out); plt.title('(b)压缩后的信号');plt.xlabel('相对于t_{0}时间(\mus)');plt.ylabel('幅度'); plt.subplot(2,2,4); plt.plot(tt,np.angle(out));plt.axis([-1,1,-5,5]); plt.title('(d)压缩后信号的相位(经扩展)');plt.xlabel('相对于t_{0}时间(\mus)');plt.ylabel('相位(弧度)'); plt.tight_layout()改为matlab代码
时间: 2023-06-13 14:06:44 浏览: 134
SimHei.rar
T = 7.24e-6; % 信号持续时间
B = 5.8e6; % 信号带宽
K = B/T; % 调频率
ratio = 10; % 过采样率
Fs = ratio*B; % 采样频率
dt = 1/Fs; % 采样间隔
N = ceil(T/dt); % 采样点数
t = ((0:N-1)-N/2)/N*T; % 时间轴flipud
st = exp(1j*pi*K*t.^2) + 0.75*randn(1,N); % 生成带有高斯噪声的信号
ht = exp(-1j*pi*K*t.^2); % 匹配滤波器
out = fftshift(ifft(fft(st).*fft(ht))); % 计算循环卷积
Z = abs(out);
Z = Z/max(Z);
Z = 20*log10(eps+Z);
tt = t*1e6;
figure('units','normalized','position',[0.1,0.1,0.8,0.8],'Color','w');
subplot(2,2,1)
plot(tt,real(st));
title('(a)输入阵列信号的实部');
ylabel('幅度');
subplot(2,2,2)
plot(tt,Z);
axis([-1,1,-30,0]);
title('(c)压缩后的信号(经扩展)');
ylabel('幅度(dB)');
subplot(2,2,3);
plot(tt,out);
title('(b)压缩后的信号');
xlabel('相对于t_{0}时间(\mus)');
ylabel('幅度');
subplot(2,2,4);
plot(tt,angle(out));
axis([-1,1,-5,5]);
title('(d)压缩后信号的相位(经扩展)');
xlabel('相对于t_{0}时间(\mus)');
ylabel('相位(弧度)');
sgtitle('基于调频信号的压缩成像', 'fontsize', 16);
tight_layout();
阅读全文