当前位置: 首页 > news >正文

脉内频率捷变LFM信号

% 设置种子
rng(42);
%=========================================================================%
%                        雷达参数设置                                     %
%=========================================================================%
clear all;close all;clc;
C = 3.0e8;              %光速(m/s)
BandWidth = 10.0e6;      %雷达发射信号带宽,带宽=B=1/tau,tau是脉冲宽度
TimeWidth = 50.0e-6;    %雷达发射信号的脉冲时宽
k = BandWidth/TimeWidth;%调频斜率
PRT = 100e-6;           %雷达发射脉冲重复周期(s),100us对应1/2*100*300=15000米最大无模糊距离
maxDis = 1/2*PRT*C;
FsTimes = 3; % 采样倍数
Fs = BandWidth*FsTimes;       %采样频率 采样点数为PRT*Fs=480
NoisePower = 1;         %噪声功率
SNR = 0;               %信噪比,以dB为单位
JSR = 20;               %干信比,以dB为单位
SigPower = 10^(SNR/10); %目标功率,无量纲
jammingPower = (10^(JSR/10))*SigPower;  %干扰功率,无量纲,由干信比和信号功率计算得到
TargetDistance = 2500;  %目标距离,单位:m
TargetDelay = 2*TargetDistance/C;           %延时时间,由目标的距离换算成时间,即线性调频信号的时间
mDelayNumber = fix(Fs*2*TargetDistance/C);  %把目标距离换算成采样点(距离门)
rangeInd = linspace(0,maxDis,Fs*PRT); %距离门
deltaT = (1/Fs); %采样间隔时间
deltaDis = deltaT*C/2; %距离分辨力
plot_enable_H = 1;      %绘图控制符
plot_enable_L = 0;      %绘图控制符
Cytimes = 10; %循环次数
tempAcc = zeros(1,Cytimes);
%=========================================================================%
%                            调用函数产生线性调频信号                     %
%=========================================================================%
[LFMPulse,targetEchoPRT,matchedFilterCoeff,pulseNumber,PRTNumber] = GenerateLFMSignal(BandWidth,TimeWidth,PRT,Fs,SigPower,TargetDistance,plot_enable_H);%调用函数
fprintf('Target appear in the %.1f us, distence is %.1f m, at %dth sampling point\n',TargetDelay*1e6,TargetDistance,mDelayNumber);%% 将信号分段
SN = 10; %分段数目
SW = fix(pulseNumber/10); % 每段的点数
FDLFM = zeros(10,SW); %每行存储一段LFM信号
for byd = 1:SNFDLFM(byd,:) =  LFMPulse((byd-1)*SW+1:byd*SW); %对LFM分段保存
end
randInd = randperm(SN); %频率捷变的数
randLFM = zeros(1,pulseNumber);
for tsl = 1:SNrandF = randInd(tsl);randLFM((tsl-1)*SW+1:tsl*SW) = FDLFM(randF,:); %对i段信号赋值
end
figure;
datfig = real(randLFM); 
datfig = abs(datfig)./max(abs(datfig));
plot(datfig,'linewidth',1);axis tight;
xlabel('Sampling point');
ylabel('Normalized amplitude');
title('捷变频LFM');
set(gca, 'FontSize', 10); % 将当前坐标轴的字体大小设置为10磅
%% 进行fft
S = randLFM; %待stft的信号
wlen =  64;%设置窗口长度。窗口越长时间分辨率越差,频率分辨率越好。
fftN = 64; %fft的点数
hop = 1; %每次平移的步长,最小为1。越小图像时间精度越好,但计算量大。
win = hanning(wlen, 'periodic');%窗函数
% figure; %绘制汉宁窗
% % plot(win);title('汉宁窗');
[Sstft, f1, t1] = mystft(S, win, hop, Fs,fftN); %采用自定义函数进行短时傅里叶变换
% %=========================================================================%
% %                     绘制短时傅里叶变换的伪彩色图                        %
% %=========================================================================%
Ind = 1:length(S);
figure;
Figure=pcolor(Ind,f1,Sstft); %绘制伪彩色图
xlabel('Sampling point');ylabel('Frequency(Hz)');
colormap('jet'); %指定色系:parula、turbo、jet等等
shading flat;%将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
shading interp;%在网格片内采用颜色插值处理,得出的表面图显得最光滑。
colorbar; %显示图像的颜色条,提供对图像彩色的可视化表示,使得用户能够更直观的理解图像数据的分布和范围
%% 频率捷变线性调频信号的脉压
randLFMPC = xcorr(randLFM);
figure;
plot(abs(randLFMPC),'linewidth',1);

生成的脉内频率捷变信号如下:
在这里插入图片描述
时频图如下:
在这里插入图片描述

脉压之后的结果如下
在这里插入图片描述
可以看到,频率捷变之后旁瓣升高了。

相关文章:

  • 定制旅游网站建设成都seo工具是什么意思
  • webstorm广州优化营商环境条例
  • 网站开发对算法有要求么深圳疫情防控最新消息
  • 织梦网站维护html网页制作用什么软件
  • 失物招领网站开发项目需求分析怎么找百度客服
  • 大连专业模板网站制作网站建设优化收费
  • 【sklearn】K-means、密度聚类、层次聚类、GMM、谱聚类
  • IntersectionObserver 详细介绍(实现加载下一页效果)
  • 代码随想录|图论|01图论基础
  • 项目需求评审报告参考模板
  • cherry-pick除了使用命令,有没有什么工具可以使用,或者更高效的方法
  • OSS生命周期管理自动化:7天冷归档+30天低频访问的合规存储策略(结合企业级数据分级场景)
  • 从代码学习深度学习 - 情感分析:使用循环神经网络 PyTorch版
  • 【运维系列】Plane 开源项目安装和配置指南
  • 爬虫004----网页解析库
  • css 文字跳跃动画
  • prometheus 配置邮件告警
  • iostat中的util原理
  • 大模型项目实战:业务场景和解决方案
  • 数学:关于向量计算的三角形法则
  • GoAdmin代码生成器实践
  • 中断控制与实现
  • APP测试-APP启动耗时
  • Android 9.0(API 28)后字重设置
  • LeetCode热题100—— 35. 搜索插入位置
  • ubuntu22.04修改IP地址