当前位置: 首页 > 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);

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

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

http://www.lqws.cn/news/512209.html

相关文章:

  • 【神经网络预测】基于LSTM、PSO - LSTM、随机森林和多项式拟合的火力机组排放预测
  • 解锁Selenium:Web自动化的常用操作秘籍
  • 超实用教程:n8n + MCP(MinIO Client Processor)构建智能文件处理流水线 - 从零部署到企业级自动化实战​
  • ubuntu20.04安装多版本python时,如何使用sudo python3.10
  • Linux离线搭建Jenkins
  • 有AI后,还用学编程吗?
  • 哈希表理论与算法总结
  • 飞往大厂梦之算法提升-day08
  • Java实现简易即时通讯系统
  • leetcode230-二叉搜索树中第K小的元素
  • OSS与NAS混合云存储架构:非结构化数据统一管理实战
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | MovieApp(电影卡片组件)
  • AI时代工具:AIGC导航——AI工具集合
  • 60天python训练营打卡day41
  • Oracle LogMiner日志分析工具介绍
  • 数据库AICD特性之--一致性 Consistency
  • 项目需求评审报告参考模板
  • Linux系统---Nginx配置nginx状态统计
  • leetcode173.二叉搜索树迭代器
  • 计算机网络期末复习
  • OSS生命周期管理自动化:7天冷归档+30天低频访问的合规存储策略(结合企业级数据分级场景)
  • 微控制器及应用/嵌入式微控制器 期末复习指南
  • Flask(六) 数据库操作SQLAlchemy
  • order、sort、distribute和cluster by(Spark/Hive)
  • HarmonyOS开发基础 --面向鸿蒙的TypeScript基础语法一文入门
  • SpringBoot | 越权和数据权限控制的一种实现方案
  • spring01-简介
  • “苏超”拉动周末消费,抖音生活服务:比赛城市迎来普遍消费上涨
  • 鸿蒙 FolderStack 组件全解析:折叠屏悬停布局开发指南
  • 【源码】Reactive 源码