【雷达通信】非相干多视处理(CSA)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

“在SAR系统中,多个独立的视可以由飞行载体以不同的方位角通过观察点时天。
一视由天线沿方位向第一个前向四分之一波束部分产生,下一视则来自下一个四分之一波束,
以此类推。然后,由于来自波束各部分的信号到达雷达接收机是重叠在一起的,所
以在时域或者空域上无法对数据进行分离。然而,具有高方位时间带宽积的一个实用SAR系
统是将时间和频率两者绑定在一起的,在多普勒域内包含了各视的所有信息。也就是说,具
有较高多普勒频率的数据一定是由方位向波束前缘触及到的地形点产生的,而当同一地点出
在方位波束后缘四分之一时,产生了多普勒频段低四分之一部分。”[1]

📚2 运行结果

 

 

部分代码:

Kr = -Kr;                       % 将调频率Kr改成负值
BW_range = 30.111e+06;          % 脉冲宽度
Vr = 7062;                      % 有效雷达速率
Ka = 1733;                      % 方位调频率
fnc = -6900;                    % 多普勒中心频率
Fa = PRF;                       % 方位向采样率
lamda = c/f0;                   % 波长
T_start = 6.5959e-03;           % 数据窗开始时间

Nr = round(Tr*Fr);              % 线性调频信号采样点数
Nrg = Nrg_cells;                % 距离线采样点数
if b == 1 || b == 2
    Naz = Nrg_lines_blk;         % 每一个数据块的距离线数
else
    Naz = Nrg_lines;              % 两个数据块,总共的距离线数
end
NFFT_r = Nrg;                   % 距离向FFT长度
NFFT_a = Naz;                   % 方位向FFT长度

R_ref = R0;                     % 参考目标选在场景中心,其最近斜距为 R_ref  
fn_ref = fnc;                   % 参考目标的多普勒中心频率

%%
%
% --------------------------------------------------------------------
% 对原始数据进行补零
% --------------------------------------------------------------------
if b == 1 || b == 2 
    data = zeros(1*2048,3000);
else
    data = zeros(2*2048,3000);
end
data(1:Naz,1:Nrg) = s_echo;
clear s_echo;
s_echo = data;
clear data;
[Naz,Nrg] = size(s_echo);

NFFT_r = Nrg;                   % 距离向FFT长度
NFFT_a = Naz;                   % 方位向FFT长度

% 作图显示
figure;
imagesc(abs(s_echo));
title('补零后的原始数据');       % 补零后的原始回波数据(未处理)的幅度图像
%}

%%
% --------------------------------------------------------------------
% 距离(方位)向时间,频率相关定义
% --------------------------------------------------------------------
% 距离
tr = 2*R0/c + ( -Nrg/2 : (Nrg/2-1) )/Fr;                % 距离时间轴
fr = ( -NFFT_r/2 : NFFT_r/2-1 )*( Fr/NFFT_r );          % 距离频率轴
% 方位
ta = ( -Naz/2: Naz/2-1 )/Fa;                            % 方位时间轴
fa = fnc + fftshift( -NFFT_a/2 : NFFT_a/2-1 )*( Fa/NFFT_a );    % 方位频率轴

% 生成距离(方位)时间(频率)矩阵
tr_mtx = ones(Naz,1)*tr;    % 距离时间轴矩阵,大小:Naz*Nrg
ta_mtx = ta.'*ones(1,Nrg);  % 方位时间轴矩阵,大小:Naz*Nrg
fr_mtx = ones(Naz,1)*fr;    % 距离频率轴矩阵,大小:Naz*Nrg
fa_mtx = fa.'*ones(1,Nrg);  % 方位频率轴矩阵,大小:Naz*Nrg

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]《合成孔径雷达成像——算法与实现》 ,(美)卡明等著;洪文等译;电子工业出版社;

[2]《合成孔径雷达——系统与信号处理》 ,(美)柯兰德等著;韩传钊等译;电子工业出

版社

🌈4 Matlab代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的MATLAB代码,用于处理雷达接触式生命检测数据: ```matlab % 读取数据 data = load('radar_data.txt'); % 设置参数 fs = 1000; % 采样率 fc = 24.125e9; % 雷达频率 c = 3e8; % 光速 lambda = c/fc; % 波长 R = 1; % 探测距离 % 时域信号处理 s = data(:,2); % 读取信号 N = length(s); % 信号长度 t = (0:N-1)/fs; % 时间向量 f = (-N/2:N/2-1)*fs/N; % 频率向量 s_fft = fft(s); % FFT变换 s_fft_shift = fftshift(s_fft); % 移频 s_abs = abs(s_fft_shift); % 取模 s_abs_db = 20*log10(s_abs); % 转换为分贝 % 频域信号处理 range_fft = 1:N; % 范围FFT range_fft_shift = fftshift(range_fft); % 范围FFT移频 range = range_fft_shift*c/(2*fc); % 范围计算 s_range = s_fft(range_fft); % 范围信号 s_range_abs = abs(s_range); % 取模 s_range_abs_db = 20*log10(s_range_abs); % 转换为分贝 % 显示结果 subplot(2,1,1); plot(t,s_abs_db); xlabel('时间 (s)'); ylabel('信号强度 (dB)'); title('时域信号'); subplot(2,1,2); plot(range,s_range_abs_db); xlabel('距离 (m)'); ylabel('信号强度 (dB)'); title('频域信号'); ``` 该代码首先读取雷达接触式生命检测的数据文件,然后根据数据的采样率、雷达频率和探测距离等参数,对数据进行处理。具体地,它先对信号进行FFT变换,然后移频并取模,最后将结果转换为分贝。接着,它对范围进行FFT变换,计算出距离,然后再将范围信号取模并转换为分贝。最后,它将时域信号和频域信号分别显示在两个子图中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值