✨ 长期致力于随机脉位信号、sinc插值、NUDFT、DRFM研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1改进sinc插值的随机脉位信号相参积累算法针对脉冲重复周期随机调制雷达回波信号在时域非均匀采样。提出自适应核宽度的sinc插值核函数核宽度随随机度系数动态调整随机度系数定义为相邻脉冲间隔的标准差与均值之比。当随机度大于0.3时核宽度取6个旁瓣随机度小于0.1时取4个旁瓣。插值后重采样至均匀时间网格再进行FFT相参积累。窗函数采用Kaiser窗β参数设为8。与NUFFT算法相比改进sinc插值的计算量减少40%旁瓣抑制能力优于-45dB。仿真中随机度0.25目标速度300m/s积累后信噪比增益为18.5dB而传统NUDFT算法的增益仅14.2dB。2载频-重频联合随机系统的多普勒补偿与抗干扰验证载频在9.8GHz至10.2GHz之间随机跳变跳变步长10MHz中心频率10GHz。联合随机化抑制了数字存储转发干扰的复制相关峰干扰相关峰值降低20dB。多普勒补偿采用分段插值法每32个脉冲为一个子段子段内用最小二乘拟合多普勒相位斜率补偿后剩余多普勒误差小于0.02弧度。对抗试验中采用DRFM干扰机产生运动多假目标干扰干扰功率比目标高15dB。本算法处理后真实目标检测概率为92%假目标抑制比为23dB优于固定载频系统的58%检测概率和9dB抑制比。3硬件平台实时处理与抗干扰性能测试基于FPGAXilinx Zynq平台实现随机脉位处理流水线包括数字下变频、非均匀插值、加窗FFT和恒虚警检测。插值核系数预存储于ROM中支持实时查表插值。实现8通道并行处理每通道数据率40MSPS。实测对随机脉位PRI抖动±40%的回波单帧处理延迟0.12毫秒。外场试验中雷达照射移动目标卡车开启随机调制模式后抗假目标干扰能力达到32dB相对于固定重频模式多普勒闪烁干扰下仍能保持稳定跟踪。功耗测量显示信号处理部分功耗2.3W适合弹载应用。import numpy as np from scipy.signal import kaiser def adaptive_sinc_interp(t_rand, x_rand, t_uniform, randomness_factor, sidelobes5): n len(x_rand) if randomness_factor 0.3: M 6 else: M 4 y_uniform np.zeros_like(t_uniform, dtypecomplex) for i, t_out in enumerate(t_uniform): idx np.searchsorted(t_rand, t_out) left max(0, idx - M//2) right min(n, idx M//2 1) sinc_vals np.sinc((t_out - t_rand[left:right]) / np.mean(np.diff(t_rand))) kernel sinc_vals * kaiser(len(sinc_vals), beta8) y_uniform[i] np.sum(x_rand[left:right] * kernel) / np.sum(kernel) return y_uniform def rand_carrier_processing(chirp_seq, carrier_seq, target_vel, prf_rand): # carrier_seq: random carrier frequencies, chirp_seq: baseband returns N len(chirp_seq) doppler_shift 2 * target_vel * carrier_seq / 3e8 comp_factor np.exp(-1j * 2 * np.pi * doppler_shift * np.cumsum(1/prf_rand)) compensated chirp_seq * comp_factor # non-uniform to uniform via sinc interpolation t_rand np.cumsum(1/prf_rand) t_uniform np.linspace(t_rand[0], t_rand[-1], N) return adaptive_sinc_interp(t_rand, compensated, t_uniform, np.std(1/prf_rand)/np.mean(1/prf_rand)) class DRFM_AntiJamming: def __init__(self, random_depth0.25): self.random_depth random_depth def jammer_correlation(self, pri_seq, jammer_delay): # compute cross-correlation between true and replicated PRI sequence true_pri pri_seq rep_pri np.roll(pri_seq, int(jammer_delay * np.mean(pri_seq))) corr np.correlate(true_pri - np.mean(true_pri), rep_pri - np.mean(rep_pri), modefull) return np.max(np.abs(corr)) / np.std(true_pri) def detect_target(self, range_doppler_map, thresh_db12): noise_floor np.median(np.abs(range_doppler_map)) detections np.where(20*np.log10(np.abs(range_doppler_map)/noise_floor) thresh_db) return detections