脉冲压缩的matlab仿真

clear all;close all;clc;

f0 = 10e9;
Tp = 10e-6;
B = 10e6;
fs = 100e6;
R0 = 3000;
c = 3e8;
tr = 2*R0/c;
k = B/Tp;
N = 4096;
t = (0:N-1)/fs;

%% 发射信号
S0 = rectpuls(t-Tp/2,Tp) .* exp(1ipik*(t-Tp/2).^2);
figure(1);
subplot(2,1,1);plot(tc/2,real(S0));title(‘发射信号实部’);xlabel(‘距离/m’);
subplot(2,1,2);plot(t
c/2,imag(S0));title(‘发射信号虚部’);xlabel(‘距离/m’);
%subplot(3,1,3);plot(abs(fft(S0)));

%% 发射信号频谱
S0_fft = fft(S0,N);

%% 回波构造
S1 = rectpuls(t-tr-Tp/2,Tp) .* exp(1ipik*(t-tr-Tp/2).^2) .* exp(-1i2pif0tr);
figure(2);
subplot(2,1,1);plot(tc/2,real(S1));title(‘回波函数实部’);xlabel(‘距离/m’);
subplot(2,1,2);plot(t
c/2,imag(S1));title(‘回波函数虚部’);xlabel(‘距离/m’);
%subplot(3,1,3);plot(abs(fft(S1)));

%% 回波频谱
f = fs/N * (-N/2:N/2 - 1);
S1_fft = fft(S1,N);
figure(3);
subplot(2,1,1);plot(abs(S1_fft));title(‘回波频谱’);xlabel(‘频率’);
subplot(2,1,2);plot(fftshift(abs(S1_fft)));title(‘回波频谱’);xlabel(‘频率’);

%% 脉冲压缩
S_F = ifft( S1_fft .* conj(S0_fft));
figure(4);
subplot(2,1,1);plot(tc/2,abs(S_F));title(‘脉压’);xlabel(‘距离/m’);
subplot(2,1,2);plot(t
c/2,db(abs(S_F)/max(S_F)));title(‘归一化’);xlabel(‘距离/m’);

%% 频域加窗
win = hamming(410);
window = [zeros(1,1843),win’,zeros(1,1843)]; %窗矩阵

S0_fft_w = fftshift(S0_fft);
S0_fft_w = window .* S0_fft_w;
% figure(5)
% plot(f,S0_fft_w);title(‘频谱加窗’);xlabel(‘频率/Hz’);

%% 加窗后脉压
S_F_w = ifft( S1_fft .* conj(fftshift(S0_fft_w)));
figure(6);
%subplot(2,1,1);plot(tc/2,abs(S_F_w));title(‘脉压’);xlabel(‘距离/m’);
%subplot(2,1,2);
plot(t
c/2,db(abs(S_F_w)/max(S_F_w)));title(‘频域加窗后脉压’);xlabel(‘距离/m’);ylabel(‘dB’);
% S_F_w = window .* S_F;
% figure(5);
% %hold on
% subplot(2,1,1);plot(ct/2,abs(S_F_w));title(‘加窗’);xlabel(‘距离/m’);
% subplot(2,1,2);plot(t
c/2,db(abs(S_F_w)/max(S_F_w)));title(‘归一化’);xlabel(‘距离/m’);

%% 加窗和未加窗对比
% figure(6)
% plot(tc/2,abs(S_F));
% hold on;
% plot(c
t/2,abs(S_F_w),‘r’);xlabel(‘距离/m’);title(‘脉压’);
% figure(7)
% plot(tc/2,db(abs(S_F)/max(S_F)));
% hold on;
% plot(t
c/2,db(abs(S_F_w)/max(S_F_w)),‘r’);title(‘归一化’);xlabel(‘距离/m’);

figure(7)
plot(tc/2,db(abs(S_F)/max(S_F)));
hold on
plot(t
c/2,db(abs(S_F_w)/max(S_F_w)),‘r’);title(‘频域加窗和未加窗对比’);xlabel(‘距离/m’);ylabel(‘dB’);

%% 时域加窗
S0_w = hamming(1000)’ .* S0(1:1000);
S_F_wt = ifft(S1_fft.conj(fft(S0_w,N)));
figure(8)
plot(t
c/2,db(abs(S_F_wt)/max(S_F_wt)));
hold on
plot(t*c/2,db(abs(S_F_w)/max(S_F_w)),‘r’);title(‘时域和频域加窗对比’);xlabel(‘距离/m’);ylabel(‘dB’);
legend(‘时域’,‘频域’);

% figure(8)
% plot(t*c/2,db(abs(S_F)/max(S_F)).*window);

  • 7
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值