精华内容
下载资源
问答
  • 脉冲压缩

    千次阅读 2018-09-27 09:56:11
    T = 7.24e-6; % 信号持续时间 B = 5.8e6; % 信号带宽 K = B/T; % 调频率 ratio = 10;...title('(d)压缩后信号的相位(经扩展)'),xlabel('相对于t_{0}时间(\mus)'),ylabel('相位(弧度)');  
    T = 7.24e-6;                % 信号持续时间
    B = 5.8e6;                  % 信号带宽
    K = B/T;                    % 调频率
    ratio = 10;                 % 过采样率
    Fs = ratio*B;               % 采样频率
    dt = 1/Fs;                  % 采样间隔
    N = ceil(T/dt);             % 采样点数
    t = ((0:N-1)-N/2)/N*T;      % 时间轴
    
    st = exp(1i*pi*K*(t-1e-6).^2);     % 生成信号
    ht = conj(fliplr(st));             % 匹配滤波器
    out = fftshift(ifft(fft(st).*fft(ht)));     % 计算循环卷积
    
    Z = abs(out);
    Z = Z/max(Z);
    Z = 20*log10(eps+Z);
    
    figure,set(gcf,'Color','w');
    subplot(2,2,1),plot(t*1e6,real(st));
    title('(a)输入阵列信号的实部');ylabel('幅度');
    subplot(2,2,2),plot(t*1e6,Z);axis([-1 1 -30 0]);
    title('(c)压缩后的信号(经扩展)'),ylabel('幅度(dB)');
    subplot(2,2,3),plot(t*1e6,out);
    title('(b)压缩后的信号'),xlabel('相对于t_{0}时间(\mus)'),ylabel('幅度');
    subplot(2,2,4),plot(t*1e6,angle(out));axis([-1 1 -5 5]);
    title('(d)压缩后信号的相位(经扩展)'),xlabel('相对于t_{0}时间(\mus)'),ylabel('相位(弧度)');

     

    展开全文
  • 脉冲压缩指雷达在发射时采用宽脉冲信号,接收和处理回波后输出窄脉冲。脉冲压缩技术是匹配滤波理论和相关接收理论的一个很好的实际应用。很好地解决了这样的一个问题:在发射端发射大时宽、带宽信号,以提高信号的...

    脉冲压缩雷达发射时采用宽脉冲信号,接收和处理回波后输出窄脉冲。脉冲压缩技术是匹配滤波理论和相关接收理论的一个很好的实际应用。很好解决了这样的一个问题:在发射端发射大时宽、带宽信号,以提高信号的发射能量,而在接收端,将宽脉冲信号压缩为窄脉冲,以提高雷达对目标的距离分辨精度和距离分辨力。该技术解决了雷达远距离探测与高精度测距性能不可兼顾的问题,是现代雷达中不可缺少的关键技术。

    脉冲压缩的DSP处理方法有时域相关或频域相乘。对于点数较多的回波信号,采用频域相乘方法可以获得较快的运算速度。频域脉冲压缩的原图如下图所示。

    906cf33e4d84be2d872cf768a23b0bab.png

    脉冲压缩处理流程图

    DSP对采样后的数据进行FFT变换,变换至频域后,与其匹配滤波器频率数据进行复数相乘,相乘后,再与复数补偿因子进行相乘解决脉冲间距离走动问题,最后将结果做IFFT,重新变换回时域。其中,FFT点数、复数相乘点数、IFFT点数均为1024点。

    信号s(t)的匹配滤波器的时域脉冲响应为:

    caa951d37e8a54fef6c95a51699a5a32.png       (1.1)

    t0是使滤波器物理可实现所附加的时延。理论分析时,可令t0=0,重写1.1式,

    709124c9f41203196a6d90d20092ce80.png         (1.2)

    1.1式代入1.2式得:

    0abaaf39b13e1afad54b6e514ec7fcb0.png

    bef9b740b1da31ca7ad1a7c4d7be60a5.png

        图2 LFM信号的匹配滤波

    如上图,s(t)经过系统h(t)得输出信号s0(t0),当0≥t≥T时,

    dbf85fddb2afe7fdbd7d01b1963f4ed5.png

    当-T≥t≥0时,

    b69c2c7988e7dad8c02e08b623ef79bb.png

    合并两式:

    962baa4b3412da4632ab307803777238.png

    上式即为LFM脉冲信号经匹配滤波器得输出,它是一固定载频fc的信号。当t≤T时,包络近似为辛克(sinc)函数。

    e693305213fb4e88bc861429fe82e012.png

    adb987b3ec9ba3f17881466f011668e7.png

    图3 匹配滤波的输出信号

    如上图,当πBt=±π时,t=±1/B为其第一零点坐标;当πBt=±π/2时,t=±1/(2B),习惯上,将此时的脉冲宽度定义为压缩脉冲宽度。

    47be1bd3d7634e73b2c79ba8e2a06255.png

    LFM信号的压缩前脉冲宽度T和压缩后的脉冲宽度之比通常称为压缩比D

    e5513f1ee6f8e14d6e9c134305b0ec94.png

    上式表明,压缩比也就是LFM信号的时宽频宽积。

      s(t),h(t),so(t)均为复信号形式,MATLAB仿真时,只需考虑它们的复包络S(t),H(t),So(t)。以下为MATLAB程序段,并将仿真结果和理论进行对照。仿真结果如下图:

    6be1ef78f45b682de268c38ea4bc1d9c.png

    95cab48ec522f316445d6c2a963dcc9b.png

    图4 LFM信号的匹配滤波

    图中,时间轴进行了归一化。图中反映出理论与仿真结果吻合良好。第一零点出现在±1(即±1/B)处,此时相对幅度-13.4dB。压缩后的脉冲宽度近似为1/B(±1/(2B)),此时相对幅度-4dB,这理论分析一致。

    对于点数较多的回波信号采用频域相乘方法可以获得较快的运算速度对采样后的数据进行FFT变换,变换至频域后,与其匹配滤波器频谱数据进行复数相乘,最后将结果做IFFT,重新变换回时域。以下MATLAB代码仿真了上述过程,并将输入信号以及脉压后的输出信号进行了比较。

    5a0991dcd4d9f98c9ca7a6b424cc58d2.png

    【仿真代码】

    %% 线性调频信号的匹配滤波clc;close all;clear all;T=10e-6;                         %脉宽B=25e6;                          %信号带宽K=B/T;                           %调频斜率Fs=200e6;Ts=1/Fs;                 %采样率N=T/Ts;t=linspace(-T/2,T/2,N);St=exp(1j*pi*K*t.^2);              %线性调频信号Ht=exp(-1j*pi*K*t.^2);             %匹配滤波器Sot=conv(St,Ht);                 %匹配滤波后的线性调频信号figure;subplot(211)L=2*N-1;t1=linspace(-T,T,L);Z=abs(Sot);Z=Z/max(Z);            %归一化Z=20*log10(Z+1e-6);Z1=abs(sinc(B.*t1));               %sinc函数Z1=20*log10(Z1+1e-6);t1=t1*B;                                         plot(t1,Z,t1,Z1,'r.');axis([-15,15,-50,inf]);grid on;legend('仿真','sinc');xlabel('Time in sec \times\itB');ylabel('幅度,dB');title('匹配滤波后的线性调频信号');subplot(212)                          %zoomN0=3*Fs/B;t2=-N0*Ts:Ts:N0*Ts;t2=B*t2;plot(t2,Z(N-N0:N+N0),t2,Z1(N-N0:N+N0),'r.');axis([-inf,inf,-50,inf]);grid on;set(gca,'Ytick',[-13.4,-4,0],'Xtick',[-3,-2,-1,-0.5,0,0.5,1,2,3]);xlabel('Time in sec \times\itB');ylabel('幅度,dB');title('匹配滤波后的线性调频信号(Zoom)');

    【线性调频信号匹配滤波的频域实现】

    %% 线性调频信号匹配滤波的频域实现clc;close all;clear all;T=10e-6;                            %脉宽B=25e6;                             %带宽K=B/T;                              %调频斜率Fs=200e6;Ts=1/Fs;                     %采样率N=T/Ts;t=linspace(-T/2,T/2,N);St=exp(1j*pi*K*t.^2);                %线性调频信号Ht=exp(-1j*pi*K*t.^2);               %匹配滤波器Sf = fft(St,2048);                   %变换至频域Hf = fft(Ht,2048);Sot = fftshift(ifft(Sf.*Hf));           %频域相乘后做IFFTZ=abs(Sot);Z=Z/max(Z);           Z=20*log10(Z+1e-6);figure;subplot(211)plot(t*1e6,real(St));axis tight;xlabel('时间/\mus','FontSize',12);ylabel('信号幅度','FontSize',12);title('LFM输入信号','FontSize',12);subplot(212)t1=linspace(-T/2,T/2,2048);% plot(t1,db(abs(Sot)));axis tight;plot(t1,Z);axis tight;xlabel('时间/s','FontSize',12);ylabel('信号幅度/dB','FontSize',12);title('LFM脉压后的输出信号','FontSize',12);

    END

    往期精彩回顾(?猛戳可查看)

    • 校招笔试题合集

    • 数字IC设计经典笔试题之【FPGA基础】

    • 数字IC设计经典笔试题之【verilog篇】

    • 数字IC设计经典笔试题之【IC设计基础】

    • 硬件工程师面试题【1】

    • 硬件工程师笔试题【2】

    • 有了这份面经,麻麻再也不用担心我找不到工作了!

    • FPGA合集

    • 跨时钟域处理3大方法

    • FPGA信号截位策略

    • FPGA中的亚稳态

    • FPGA芯片结构

    • FPGA FIFO深度计算

    • FPGA奇数分频

    • 竞争冒险现象及消除方法

    • “ 一网打尽 ” 二进制、格雷码、独热码编码方式

    • DDR3 IP 核配置

    • DDR3 IP核仿真

    • 行业动态合集

    • 思考】数字IC设计工程师的发展前景如何

    •  中国芯片设计企业与薪资榜单

    • 雷达信号处理合集

    • 雷达信号处理基础之【相参积累处理】

    • 雷达信号处理基础之【恒虚警处理】

    • 雷达信号处理基础之【单脉冲测角处理】

    • 雷达信号处理基础之【雷达LFM信号分析】

    • 闲聊

    • 【夜读】三十岁前,一定要坚持的几件事

    • 知识星球

    fc99db4b26e17df8780490d7c730ec4d.png

    $display("点个在看吧!")030eeb9f03ced78c7582d23be2b47a53.gif

    展开全文
  • 脉冲压缩CO

    2021-02-11 03:48:32
    提出了采用快速傅里叶变换(FFT)及快速傅里叶逆变换(IFFT)变换对脉冲压缩CO2相干激光雷达信号处理,并进行了理论与计算机模拟研究.通过运行所研究的信号处理程序包表明,采用这种方法可以很好地完成信号处理(脉冲压缩)...
  • 脉冲压缩程序

    2019-03-12 21:33:55
    matlab的雷达发射波形脉冲压缩示意程序
  • 线性调频脉冲压缩雷达仿真及matlab代码 1.线性调频脉冲雷达的工作原理 2.线性调频信号(LFM信号)时域频域仿真 3.脉冲压缩技术(时域压缩,频域压缩,多种方法) 4.雷达测距,脉冲压缩技术 5.雷达测速,脉冲压缩技术...

    **阅读须知:**本文摘取自AIMZZY原创文章,并做改动,在此致谢
    原文链接:https://blog.csdn.net/AIMZZY/article/details/106467080

    1.线性调频脉冲雷达的工作原理

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.线性调频信号(LFM信号)

    2.1.LFM信号(时域分析)

    2.1.1.LFM信号模型

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.1.2.LFM信号时域仿真

    在这里插入图片描述

    %%线性调频信号
    T=10e-6;                                  %p脉冲持续时间10us
    B=30e6;                                   %线性调频信号的频带宽度30MHz
    K=B/T;                                      %调频斜率
    Fs=2*B;Ts=1/Fs;                      %采样频率和采样间隔
    N=T/Ts;
    t=linspace(-T/2,T/2,N);
    St=exp(j*pi*K*t.^2);                    %线性调频信号
    subplot(211)
    plot(t*1e6,real(St));
    xlabel('时间/us');
    title('线性调频信号的实部');
    grid on;axis tight;
    subplot(212)
    freq=linspace(-Fs/2,Fs/2,N);
    plot(freq*1e-6,fftshift(abs(fft(St))));
    xlabel('频率/MHz');
    title('线性调频信号的幅频特性');
    grid on;axis tight;
    

    (1)信号参数
    ① 时宽 Tr = 1 us
    ② 带宽 Br = 100 MHz
    ③ 采样率 Fs = 4 * Br

    (2)仿真结果

    信号实部 信号虚部 信号频率 column4
    在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
    %% 线性调频与脉冲压缩
    clear,clc,close all
    set(0,'defaultfigurecolor','w')
    %% Chirp信号参数设置
    Tr = 1e-6;%时宽
    Br = 200e6;%带宽
    Fs = 4*Br;%采样率
    %% Chirp信号参数导出
    Kr = Br/Tr;%调频率
    N =  round( Tr / (1/Fs) );%采样点数
    t = linspace( -Tr/2 , Tr/2 , N);%[-Tp/2,Tp/2]选取采样点
    %% Chirp信号生成
    st = ( abs(t) < Tr/2 ) .* exp( 1j * pi * Kr * t.^2 ); 
    f_chirp= Kr * t; %信号频率
    phase_chirp = pi * Kr * t.^2;%信号相位
    % 时域
    figure,plot( t*1e6, real(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号实部');
    figure,plot( t*1e6, imag(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号虚部');
    figure,plot( t*1e6, f_chirp/1e6 ),xlabel('t /us'),ylabel('频率 /MHz'),title('Chirp信号频率');
    figure,plot( t*1e6, phase_chirp ),xlabel('t /us'),ylabel('相位 /rad'),title('Chirp信号相位');
    
    

    2.2.LFM信号(频域分析)

    2.2.1.驻定相位原理(POSP)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.2.2.LFM信号频谱仿真

    频谱幅度谱 频谱相位谱
    centered 文本居中 right-aligned 文本居右
    %% 线性调频与脉冲压缩
    clear,clc,close all
    set(0,'defaultfigurecolor','w')
    %% Chirp信号参数设置
    Tr = 1e-6;%时宽
    Br = 200e6;%带宽
    Fs = 4*Br;%采样率
    %% Chirp信号参数导出
    Kr = Br/Tr;%调频率
    N =  round( Tr / (1/Fs) );%采样点数
    t = linspace( -Tr/2 , Tr/2 , N);%[-Tp/2,Tp/2]选取采样点
    %% Chirp信号生成
    st = ( abs(t) < Tr/2 ) .* exp( 1j * pi * Kr * t.^2 ); 
    f_chirp= Kr * t; %信号频率
    phase_chirp = pi * Kr * t.^2;%信号相位
    %% 频谱
    freq = linspace(-Fs/2,Fs/2,N);%频域采样
    Sf = fftshift( fft(st) );
    % 频域
    figure,plot( freq/1e6,abs(Sf) ),xlabel('f /MHz'),ylabel('幅度谱'),title('Chirp信号 幅度谱');
    figure,plot( freq/1e6,-pi*freq.^2/Kr ),xlabel('f /MHz'),ylabel('相位谱'),title('Chirp信号 相位谱');
    

    3.脉冲压缩技术

    3.1.匹配滤波器

    3.1.1.匹配滤波器的推导

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.1.2.匹配滤波器的理解

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.2.LFM信号脉冲压缩的匹配滤波器实现

    3.2.1.时域匹配滤波

    在这里插入图片描述
    在这里插入图片描述

    %% 线性调频与脉冲压缩
    clear,clc,close all
    set(0,'defaultfigurecolor','w')
    %% Chirp信号参数设置
    Tr = 1e-6;%时宽
    Br = 200e6;%带宽
    Fs = 4*Br;%采样率
    %% Chirp信号参数导出
    Kr = Br/Tr;%调频率
    N =  round( Tr / (1/Fs) );%采样点数
    t = linspace( -Tr/2 , Tr/2 , N);%[-Tp/2,Tp/2]选取采样点
    %% Chirp信号生成
    st = ( abs(t) < Tr/2 ) .* exp( 1j * pi * Kr * t.^2 ); 
    f_chirp= Kr * t; %信号频率
    phase_chirp = pi * Kr * t.^2;%信号相位
    %% 频谱
    freq = linspace(-Fs/2,Fs/2,N);%频域采样
    Sf = fftshift( fft(st) );
    %% 时域匹配滤波
    ht = conj( fliplr(st) ); %时域匹配滤波为发射信号时间反褶再取共轭
    s1 = conv(st,ht); %线性调频信号经过匹配滤波器后的输出(时域卷积)
    N1 = N+N-1 ;%线性卷积后信号长度变为 N1+N2-1
    t1 = linspace( -Tr/2 , Tr/2 , N1);
    % 时域匹配滤波
    figure,plot( t1*1e6 , abs(s1) ),xlabel('t /us'),ylabel('幅度谱'),title('时间反褶取共轭,时域卷积');
    

    在这里插入图片描述

    %%线性调频信号经过匹配滤波
    T=10e-6;                                   %脉冲持续时间10us
    B=30e6;                                    %线性调频信号的带宽30MHz
    K=B/T;                                     %调频斜率
    Fs=10*B;Ts=1/Fs;                     %采样频率和采样间隔
    N=T/Ts;
    t=linspace(-T/2,T/2,N);
    St=exp(j*pi*K*t.^2);                     %线性调频信号
    Ht=exp(-j*pi*K*t.^2);                    %匹配滤波
    Sot=conv(St,Ht);                         %线性调频信号经过匹配滤波
    subplot(211)
    L=2*N-1;
    t1=linspace(-T,T,L);
    Z=abs(Sot);Z=Z/max(Z);             %归一化
    Z=20*log10(Z+1e-6);
    Z1=abs(sinc(B.*t1));                   %辛格函数
    Z1=20*log10(Z1+1e-6);
    t1=t1*B;                                         
    plot(t1,Z,t1,Z1,'r.');
    axis([-15,15,-50,inf]);grid on;
    legend('匹配滤波','辛格');
    xlabel('时间/s ');
    ylabel('幅值/dB');
    title('线性调频信号经过匹配滤波');
    subplot(212)                              %展开
    N0=3*Fs/B;
    t2=-N0*Ts:Ts:N0*Ts;
    t2=B*t2;
    plot(t2,Z(N-N0:N+N0),t2,Z1(N-N0:N+N0),'r.');
    axis([-inf,inf,-50,inf]);grid on;
    set(gca,'Ytick',[-13.4,-4,0],'Xtick',[-3,-2,-1,-0.5,0,0.5,1,2,3]);
    xlabel('时间/s');
    ylabel('幅度/dB');
    title('线性调频信号经过匹配滤波(补零展开之后)');
    

    3.2.2.频域匹配滤波

    3.2.2.1.方法一

    在这里插入图片描述
    在这里插入图片描述

    %% 频域匹配滤波1 (复制发射脉冲进行时间反褶并取共轭,计算补零DFT)
    N2 = 2*N; %循环卷积长度 (N2应当>=N+N-1,其中弃置区位于长度大于N+N-1的部分)
    t2 = linspace( -Tr/2 , Tr/2 , N2);
    Hf2 = fft(ht,N2); %频域匹配滤波器
    Sf2 = fft(st,N2);%频域信号
    S2 = Sf2 .* Hf2;%频域乘积
    s2 = ifft(S2);
    % 频域匹配滤波1
    figure,plot( t2*1e6 , abs(s2) ),xlabel('t /us'),ylabel('幅度谱'),title('时间反褶取共轭,补零FFT,频域乘积,IFFT');
    

    3.2.2.2.方法二

    在这里插入图片描述
    在这里插入图片描述

    %% 频域匹配滤波2(复制脉冲补零后进行DFT,对结果取复共轭(无时间反褶))
    N3 = 2*N; %循环卷积长度
    t3 = linspace( -Tr/2 , Tr/2 , N3);
    Hf3 = conj( fft(st,N3) );% 复制脉冲补零后进行DFT,对结果取复共轭
    Sf3 = fft(st,N3);
    S3 = Sf3 .* Hf3;%频域乘积
    s3 = fftshift(ifft(S3));
    % 频域匹配滤波2
    figure,plot( t3*1e6 , abs(s3) ),xlabel('t /us'),ylabel('幅度谱'),title('复制脉冲补零后FFT,取共轭,频域乘积,IFFT');
    

    3.2.2.3.方法三

    在这里插入图片描述
    在这里插入图片描述

    3.3.LFM脉冲压缩加窗处理

    3.3.1.性能指标

    在这里插入图片描述

    3.3.2.各类窗的对比

    在这里插入图片描述

    3.3.3.脉冲压缩加窗

    3.3.3.1.Hanning窗脉冲压缩加窗举例

    没有加汉宁窗 脉冲压缩 加汉宁窗脉冲压缩 两者进行对此
    centered 文本居中 right-aligned 文本居右 在这里插入图片描述
    %%%%%%%  利用频域处理方法进行脉冲压缩  %%%%%%%
    clear all
    clc
    clf
    eps = 1e-10;
    B=100e-6;       %信号带宽
    Fm=1e6;           %调频
    k=Fm/B;          %调频斜率
    Ts=1/(5*Fm);        %采样周期
    Ns=fix(B/Ts);        %采样点数
    Nf=1024;               % fft点数
    t=0:Ts:B-Ts; 
    y=exp(j*pi*k*t.^2);   %脉冲压缩前的线形调频信号
    yfft = fft(y,Nf) ;
    h=zeros(1,Ns);
    %% %%%%%%%%%%%%%%%%%%%%%%%%%Hamming窗%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    for i=1:Ns
        h(i)=conj(y(Ns-i+1));
    end
    hfft= fft(h,Nf);     % 匹配滤波器的频域响应
    lfm =abs(ifft(yfft .*hfft)); %脉冲压缩    
    maxval = max (lfm);
    lfm = eps + lfm ./ maxval;    % 利用最大值归一化
    lfm_db=20*log10(lfm);   %取对数
    %%%%%%%%%%%%%% 加窗处理 %%%%%%%
    win = hamming(Ns)';
    h_w=h.*win;       % 加窗
    hfft_w=fft(h_w,Nf);     % 加窗的匹配滤波器的频域响应
    lfm_w = abs(ifft(yfft .*hfft_w)); %脉冲压缩 
    maxval1 = max(lfm_w);
    val=lfm_w ;
    lfm_w = eps + lfm_w ./ maxval;    % 利用lfm的最大值归一化
    lfm_w1 = eps + val./ maxval1;    % 利用lfm_w的最大值归一化
    lfm_w_db=20*log10(lfm_w);   %取对数
    lfm_w1_db=20*log10(lfm_w1);   %取对数
    %%%%%%%%%%%%%%%%
    tt =0:Ts:2*B-Ts;
    figure(1)
    plot (tt,lfm_db(1:2*Ns),'b')
    axis([.2*B 1.8*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    title('没有加Hamming窗的脉冲压缩输出')
    grid on
    figure(2)
    plot (tt,lfm_w1_db(1:2*Ns),'r')
    axis([.2*B 1.8*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    title('加Hamming窗的脉冲压缩输出')
    grid on
    figure(3)
    plot (tt,lfm_db(1:2*Ns),'b',tt,lfm_w_db(1:2*Ns),'r')
    axis([.7*B  1.3*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    legend('未加Hamming窗','加Hamming窗');
    title('脉冲压缩输出对比')
    grid on
    

    3.3.3.2.Blackman窗脉冲压缩加窗举例

    不加窗脉冲压缩 加布莱克曼 两者对比
    centered 文本居中 right-aligned 文本居右 在这里插入图片描述
    %% %%%%%%%%%%%%%%%%%%%%%%%%%Blackman窗%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    clc
    clf
    eps = 1e-10;
    B=100e-6;       %信号带宽
    Fm=1e6;           %调频
    k=Fm/B;          %调频斜率
    Ts=1/(5*Fm);        %采样周期
    Ns=fix(B/Ts);        %采样点数
    Nf=1024;               % fft点数
    t=0:Ts:B-Ts; 
    y=exp(j*pi*k*t.^2);   %脉冲压缩前的线形调频信号
    yfft = fft(y,Nf) ;
    h=zeros(1,Ns);
    for i=1:Ns
        h(i)=conj(y(Ns-i+1));
    end
    hfft= fft(h,Nf);     % 匹配滤波器的频域响应
    lfm =abs(ifft(yfft .*hfft)); %脉冲压缩    
    maxval = max (lfm);
    lfm = eps + lfm ./ maxval;    % 利用最大值归一化
    lfm_db=20*log10(lfm);   %取对数
    %%%%%%%%%%%%%% 加窗处理 %%%%%%%
    win = blackman(Ns)';
    h_w=h.*win;       % 加窗
    hfft_w=fft(h_w,Nf);     % 加窗的匹配滤波器的频域响应
    lfm_w = abs(ifft(yfft .*hfft_w)); %脉冲压缩 
    maxval1 = max(lfm_w);
    val=lfm_w ;
    lfm_w = eps + lfm_w ./ maxval;    % 利用lfm的最大值归一化
    lfm_w1 = eps + val./ maxval1;    % 利用lfm_w的最大值归一化
    lfm_w_db=20*log10(lfm_w);   %取对数
    lfm_w1_db=20*log10(lfm_w1);   %取对数
    %%%%%%%%%%%%%%%%
    tt =0:Ts:2*B-Ts;
    figure(1)
    plot (tt,lfm_db(1:2*Ns),'b')
    axis([.2*B 1.8*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    title('没有加Blackman窗的脉冲压缩输出')
    grid on
    figure(2)
    plot (tt,lfm_w1_db(1:2*Ns),'r')
    axis([.2*B 1.8*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    title('加Blackman窗的脉冲压缩输出')
    grid on
    figure(3)
    plot (tt,lfm_db(1:2*Ns),'b',tt,lfm_w_db(1:2*Ns),'r')
    axis([.7*B  1.3*B -60 0] )
    xlabel ('t - seconds ');
    ylabel(' db')
    legend('未加Blackman窗','加Blackman窗');
    title('脉冲压缩输出对比')
    grid on
    

    4.LFM脉冲压缩雷达测距

    4.1.测距雷达的任务要求:

    在这里插入图片描述 Column 2

    4.2.系统模型的构建

    在这里插入图片描述

    4.3.关于距离分辨率

    在这里插入图片描述

    两者距离 分辨情况
    2m $1600
    5m $12
    7m $1
    8m 在这里插入图片描述
    9m 在这里插入图片描述
    10m 在这里插入图片描述

    4.4.最终效果呈现

    之后我们设置6个目标,目标的雷达截面积都为1,目标假设都为静止,我们根据雷达的相关参数设置回波窗的长度,同时根据雷达的测距范围设置6个目标物的距离,之后进行仿真,分别求出雷达回波以及经过脉冲匹配之后的结果,看是否能对目标实现测距,结果如下图所示:
    在这里插入图片描述

    4.5.LFM脉冲压缩雷达测距matlab代码

    %% LFM 脉冲多普勒雷达
    %==================================================================
    function LFM_radar(T,B,Rmin,Rmax,R,RCS)
    if nargin==0
        T=10e-6;                                          %脉冲宽度10us
        Tr=100e-6;                                          %脉冲重复周期
        B=30e6;                                           %频带宽度30MHz
        Rmin=10000;Rmax=15000;              %测距范围
    %     R=[13000,13500];%目标点的位置,每一个目标相对于雷达的斜距
    %     RCS=[1,1];                           %雷达截面积,一维数组
        RCS=[1,1,1,1,1,1];
        R=[10500,11000,12000,12008,13000,13002];  %目标点的位置,每一个目标相对于雷达的斜距
        RCS=[1 1 1 1 1 1];   %雷达截面积,一维数组
    end
    %====================================
    %%
    C=3e8;                                            %光速
    K=B/T;                                             %调频斜率
    Rwid=Rmax-Rmin;                           %最大测距长度
    Twid=2*Rwid/C;                               %回波窗的长度
    Fs=5*B;Ts=1/Fs;                             %采样频率与采样时间
    Nwid=ceil(Twid/Ts);                         %采样窗内的采样点数
    %==================================================================
    %%产生回拨    
    t=linspace(2*Rmin/C,2*Rmax/C,Nwid); %回波窗
                                                                %open window when t=2*Rmin/C
                                                                %close window when t=2*Rmax/C                            
    M=length(R);                                        %目标的个数                                       
    td=ones(M,1)*t-2*R'/C*ones(1,Nwid);
    Srt=RCS*(exp(j*pi*K*td.^2).*(abs(td)<T/2));%从点目标来的回波  
    %==================================================================
    %%数字信号处理  脉冲压缩
    Nchirp=ceil(T/Ts);                               %脉冲宽度离散化
    Nfft=2^nextpow2(Nwid+Nwid-1);          %方便使用FFT算法,满足2的次方形式 
                                                              
    Srw=fft(Srt,Nfft);                                  %回波做FFT
    t0=linspace(-T/2,T/2,Nchirp); 
    St=exp(j*pi*K*t0.^2);                            %线性调频信号原始信号作为参考信号  
    % %%加窗处理
    % win=blackman(Nwid)';
    % St_w=St.*win';
    % %%
    Sw=fft(St,Nfft);                                    %参考信号做FFT
    Sot=fftshift(ifft(Srw.*conj(Sw)));           %脉冲压缩后的信号
    %==================================================================
    N0=Nfft/2-Nchirp/2;
    Z=abs(Sot(N0:N0+Nwid-1));
    Z=Z/max(Z);
    Z=20*log10(Z+1e-6);
    %figure
    subplot(211)
    plot(t*1e6,real(Srt));axis tight;
    xlabel('Time/us');ylabel('幅度')
    title('雷达回波没经过脉冲压缩');
    subplot(212)
    plot(t*C/2,Z)
    axis([10000,15000,-60,0]);
    xlabel('距离/m');ylabel('幅值/dB')
    title('雷达回波经过脉冲压缩');
    

    5.脉冲多普勒雷达同时实现测距测速

    5.1.任务介绍

    (1)这这部分之中,我们依然针对脉冲多普勒雷达来分析,之前我们研究了雷达测速问题,然而在实际问题之中我们不仅要测速,同时还要测距,都是多目标的背景,同样是用到LFM信号,脉冲压缩技术
    (2)在这个小任务之中我们使用了5个目标(可以后续自行修改),牧歌目标都有各自的雷达截面积(我们是幅值都是10,相位正态随机生成),每一个目标都有自己的速度,我们生成了一个目标矩阵,目标矩阵的行数等于我发射的脉冲个数,每一行的列数取决于我采样的点数,(同时也要思考一下,在图中显示出来,发射一个脉冲的回波数最多应该是目标个数个回波脉冲,如果相邻目标物位置很近的话,我们的回波脉冲部分会重合在一起,之后再经过脉冲压缩有可能区分开)

    5.2.matlab代码

    clear all;clc;close all;
    fc=3e9;                 %载波频率
    PRF=2000;       
    Br=5e6;                 %带宽
    fs=10*Br;               %采样频率
    Tp=5e-6;                %脉宽
    Kr=Br/Tp;               %频率变化率
    c=3e8;                  %光速
    lamda=c/fc;             %波长
    Tr=1/PRF;               %脉冲重复周期
    N_mc=1.5/60*PRF;        %脉冲个数
    t=0:1/fs:15*Tp+Tp;      %采样时间
    N_r=length(t);          %采样点数
    N_target=5;             %目标个数
    Rmax=c/2*15*Tp;                             %目标最大距离(本来应该是1/2*c*Tr,但是采样时间限制了不可能那么大)
    R_t=Rmax*abs(rand(1,N_target));             %目标的距离(这样以来目标的距离一定是小于最大距离的)
    RCS_t=10*(exp(i*2*pi*rand(1,N_target)));    %目标RCS,幅度为10,相位在(0,2pi)之间随机分布
    Vmax=lamda*PRF/2;                           %目标最大速度,最大测速范围满足在第一盲速之内
    v=Vmax*((1+rand(1,N_target))/2);            %目标速度(这样以来目标的速度一定是小于第一盲速的),每一个目标都有一个自己的速度,对应一个矩阵
    %% 生成目标矩阵
    sr=zeros(N_mc,N_r); %N_mc 脉冲个数   N_r 采样点数
    for i=1:N_mc
        ta=(i-1)*Tr;
        sri=0;%每一次从内层for循环出来之后,我们认为上一个脉冲的回波不会干扰到下一个脉冲的回波
        %%内层for循环,一个目标一个目标来研究,对应每一个回波脉冲是由每一个目标回波之和组成
        for k=1:N_target
            tao=2*(R_t(k)-v(k).*(ta+t))/c;
            srj=RCS_t(k).*rectpuls(t-tao-Tp/2,Tp).*exp(-1j*2*pi*fc*tao+1j*pi*Kr.*(t-tao-Tp/2).^2);
            sri=sri+srj;
        end
        %%外层for循环,不同的脉冲,对应的ta是不同值,再代入来计算回波
        sr(i,:)=sri;
    end
    
    %% 脉冲压缩前的回波
    tm=(1:N_mc)/PRF;
    R=c*t/2;
    figure(1);
    image(R,tm,255*abs(sr)/max(max(abs(sr))));
    figure(2);
    plot(t*c/2,abs(sr(1,:)));     %画图我们只反映了第一个脉冲的回波情况
    
    %% 脉冲压缩
    st=rectpuls(t-Tp/2,Tp).*exp(1i*pi*Kr*(t-Tp/2).^2);%参考信号 时域 也就是匹配滤波器的时域
    stf=conj(fft(st));%匹配滤波器的频域特性
    for i=1:N_mc
        sr(i,:)=ifft(fft(sr(i,:)).*stf);  %分别对每一行脉冲压缩 频域脉冲压缩          
    end
    figure(3);
    image(R,tm,255*abs(sr)/max(max(abs(sr))))                
    figure;
    plot(t*c/2,abs(sr(1,:)))                       
                 
    sr=fft(sr,[],1);
    V=linspace(0,PRF,50)*lamda/2;
    figure;image(R,V,255*abs(sr)/max(max(abs(sr))))  
    

    5.2.测距测速结果展示

    5.2.1.情况(1)

    (1)脉冲压缩前的回波

    彩色图 image()函数 单色图 plot()函数
    centered 文本居中 centered  文本居右

    实际上这个时候我们就可以根据回波对应的位置知道目标所在的位置,但是很模糊,而且最重要的是,像前两个和后两个回波一样,目标位置靠的太近的话,回波实际上是会有重叠的,阴恻需要进行脉冲压缩

    (2)脉冲压缩后的回波

    彩色图 image()函数 单色图 plot()函数
    centered 文本居中 right-aligned 文本居右#pic_center =200x200

    我们根据plot图来用光标法来读出每一个目标点的具体位置,此处不在展开说明

    (3)关于目标的速度测量
    在这里插入图片描述
    可以看出,虽然我们无法在距离维区分最近的两个目标点的位置,但是在速度维中,我们可以明显看出两者的不同进而知道是两个目标

    5.2.2.其他情况

    因为我们的目标点的位置和速度是随机生成的,因此应该多做几次仿真,结合工作区详细了解一下其他的情况,此处不做赘述。

    6.脉冲多普勒雷达距离速度三维像

    6.1.结合第五部分实现三维信息表示:

    在这里插入图片描述

    6.2.matlab代码实现

    clear all;clc;close all;
    fc=3e9;                 %载波频率
    PRF=2000;       
    Br=5e6;                 %带宽
    fs=10*Br;               %采样频率
    Tp=5e-6;                %脉宽
    Kr=Br/Tp;               %频率变化率
    c=3e8;                  %光速
    lamda=c/fc;             %波长
    Tr=1/PRF;               %脉冲重复周期
    N_mc=1.5/60*PRF;        %脉冲个数
    t=0:1/fs:15*Tp+Tp;      %采样时间
    N_r=length(t);          %采样点数
    N_target=5;             %目标个数
    Rmax=c/2*15*Tp;                             %目标最大距离(本来应该是1/2*c*Tr,但是采样时间限制了不可能那么大)
    R_t=Rmax*abs(rand(1,N_target));             %目标的距离(这样以来目标的距离一定是小于最大距离的)
    RCS_t=10*(exp(i*2*pi*rand(1,N_target)));    %目标RCS,幅度为10,相位在(0,2pi)之间随机分布
    Vmax=lamda*PRF/2;                           %目标最大速度,最大测速范围满足在第一盲速之内
    v=Vmax*((1+rand(1,N_target))/2);            %目标速度(这样以来目标的速度一定是小于第一盲速的),每一个目标都有一个自己的速度,对应一个矩阵
    %% 生成目标矩阵
    sr=zeros(N_mc,N_r); %N_mc 脉冲个数   N_r 采样点数
    for i=1:N_mc
        ta=(i-1)*Tr;
        sri=0;%每一次从内层for循环出来之后,我们认为上一个脉冲的回波不会干扰到下一个脉冲的回波
        %%内层for循环,一个目标一个目标来研究,对应每一个回波脉冲是由每一个目标回波之和组成
        for k=1:N_target
            tao=2*(R_t(k)-v(k).*(ta+t))/c;
            srj=RCS_t(k).*rectpuls(t-tao-Tp/2,Tp).*exp(-1j*2*pi*fc*tao+1j*pi*Kr.*(t-tao-Tp/2).^2);
            sri=sri+srj;
        end
        %%外层for循环,不同的脉冲,对应的ta是不同值,再代入来计算回波
        sr(i,:)=sri;
    end
    
    %% 脉冲压缩前的回波
    tm=(1:N_mc)/PRF;
    R=c*t/2;
    figure(1);
    image(R,tm,255*abs(sr)/max(max(abs(sr))));
    figure(2);
    plot(t*c/2,abs(sr(1,:)));     %画图我们只反映了第一个脉冲的回波情况
    
    %% 脉冲压缩
    st=rectpuls(t-Tp/2,Tp).*exp(1i*pi*Kr*(t-Tp/2).^2);%参考信号 时域 也就是匹配滤波器的时域
    stf=conj(fft(st));%匹配滤波器的频域特性
    for i=1:N_mc
        sr(i,:)=ifft(fft(sr(i,:)).*stf);  %分别对每一行脉冲压缩 频域脉冲压缩          
    end
    figure(3);
    image(R,tm,255*abs(sr)/max(max(abs(sr))))                
    figure;
    plot(t*c/2,abs(sr(1,:)))                       
                 
    sr=fft(sr,[],1);
    V=linspace(0,PRF,50)*lamda/2;
    V_final=255*abs(sr)/max(max(abs(sr)));
    figure;image(R,V,255*abs(sr)/max(max(abs(sr))))  
    
    %%%尝试着画一下三维图
    mesh(R,V,255*abs(sr)/max(max(abs(sr))));
    xlabel('距离/m'); 
    ylabel('速度/(m/s)');
    zlabel('幅度/db');
    title('目标信息一览');
    
    展开全文
  • 雷达脉冲压缩

    2018-11-24 16:25:22
    该组程序实现雷达信号脉冲压缩以及线性调频信号脉压得过程,对掌握雷达基本原理和尤其是脉压原理有很好的作用。
  • 脉冲压缩雷达

    2021-03-09 20:57:06
    脉冲宽度为1us,峰值功率为1...我们定义τ_e是脉冲压缩后的有效宽度,τ是实际的雷达脉冲宽度。 D=τ/τ_e被称作脉冲压缩脉冲压缩按照信号发射的调制规律,可分为以下4类 线性调频脉冲压缩 非线性调频脉冲压缩 相位编

    脉冲宽度为1us,峰值功率为1MW,所以单个脉冲的功率为1W
    1个1us的脉冲具有150m的距离分辨力
    原因是δ_r=cτ/2=1*〖10〗(-6)*3*〖10〗8/2 =150m
    同样的,如果想要获得15cm的距离分辨力,那么必须把脉宽也缩小到原来的1000倍,峰值功率必须增大1000倍,这是个几乎不可能完成的任务。
    在这里插入图片描述
    我们定义τe\tau_e是脉冲压缩后的有效宽度,τ\tau是实际的雷达脉冲宽度。
    D=τ/τeD=\tau/\tau_e被称作脉冲压缩比。脉冲压缩比就等于时宽带宽积,是因为:
    D=τ/τe=τBD=\tau/\tau_e=\tau*B
    线性调频信号的复数形式为
    s(t)=rect(t/τ)exp(jπkt2)s(t)=rect(t/\tau)\exp(j\pi k t^2)
    其中k为线性调频率,单位是Hz/s.
    此时,带宽B=kτB=|k|\tau.
    此时,时宽带宽积D=kτ2>>1D=|k|\tau^2>>1
    脉冲压缩的雷达比普通雷达探测距离提高了D4\sqrt[4] D
    脉冲压缩按照信号发射的调制规律,可分为以下4类
    线性调频脉冲压缩
    非线性调频脉冲压缩
    相位编码脉冲压缩
    时间频率编码脉冲压缩。

    展开全文
  • 脉冲压缩代码

    2017-12-14 08:36:03
    该代码使基于matlab的雷达成像处理的基本知识 线性调频信号的脉冲压缩仿真代码 有原始信号匹配滤波和驻留相位法匹配滤波,最后有加窗程序
  • LFM脉冲压缩

    2015-11-29 16:13:30
    合成孔径雷达中发射信号后,两个回波信号叠加,进行脉冲压缩观察
  • 论文线性调频的脉冲压缩雷达视频信号仿真-线性调频的脉冲压缩雷达视频信号仿真.PDF 【摘要】 利用数字方法实现线性调频的脉冲压缩雷达视频目标模拟信号具有诸多优点:信号模拟的精度高,灵活性 好,幅度、相位补偿...
  • 雷达脉冲压缩matlab.pdf

    2020-10-04 19:37:38
    雷达脉冲压缩 摘要脉冲压缩雷达能同时提高雷达的作用距离和距离分辨率这种体制采用宽脉冲发射以 提高发射的平均功率保证足够大的作用距离而接受时采用相应的脉冲压缩算法获得窄脉 冲以提高距离分辨率较好的解决雷达...
  • 数字脉冲压缩技术很好的解决了测距与测速的一对矛盾,在雷达信号处理中广泛应用。 1 掌握脉冲压缩的基本原理。 2 选择一种伪随机码信号,用matlab实现时域、频域的脉冲压缩仿真。 3 对比分析两种方法压缩前后波形的...
  • 为解决雷达探测能力与距离分辨力之间的问题,在线性调频信号脉冲压缩的原理的基础上,利用MATLAB软件对数字脉冲压缩算法进行仿真,给出一种基于FPGA分布式算法的时域脉冲压缩实现结构,利用图形编辑和VHDL硬件描述...
  • 通过数值模拟,分析了脉冲离散效应对单模光纤正群速色散区基于暗孤子交叉相位调制的脉冲压缩的影响,并提出了减轻这种影响的办法。作者发现,即使暗孤子与被压缩脉冲的中心波长相差很小,离散效应对脉冲压缩的影响也...
  • 雷达脉冲压缩技术

    2018-07-09 13:36:48
    简要的雷达脉冲压缩技术概述,文档是自己总结归纳的,文档里有原理说明和相关代码仿真。若有不足之处,望读者指出并自己改正。
  • 该文件从时域和频域分析了脉冲压缩的实现原理,以及从时域和频域对脉冲压缩进行仿真,分析其压缩的信号参数。
  • SAR脉冲压缩MATLAB仿真

    2018-03-14 17:22:47
    雷达线性调频波形的MATLAB仿真演示及其匹配滤波所需的脉冲压缩的MATLAB仿真,并富含了多普勒频移与时间膨胀因素对脉冲压缩的影响的MATLAB仿真
  • 脉冲压缩光栅是激光约束核聚变系统中的重要光学元件。随着激光约束核聚变工程的快速发展, 对光栅的口径要求越来越大。全息技术是制造大口径脉冲压缩光栅的重要手段, 其制作的光栅大小受限于记录光学系统口径。为了...
  • 摘要:为解决雷达作用距离和距离分辨力的问题,分析了线性调频脉冲压缩的原理及工程实现方法,并利用Matlab软件对加权前后的线性调频信号脉冲压缩波形进行对比。简述了分布式(DA)算法的基本原理,给出一种基于FPGA分
  • 基于虚拟样本脉冲压缩的LFM单脉冲雷达精确距离估计
  • 线性调频(LFM)脉冲压缩雷达仿真,线性调频脉冲压缩的Matlab程序,Word说明,运行结果
  • 本文报道用2m单模保偏光纤实现脉冲光谱加宽,经光栅对补偿后,将40ps脉冲压缩到小于10ps的实验结果,分析了影响光脉冲压缩质量的原因。实验结果与理论较好地吻合。
  • 脉冲压缩简要资料

    2014-07-06 20:08:14
    脉冲压缩雷达发射宽脉冲信号,接收和处理回波后输出窄脉冲的雷达。发射的宽脉冲采取编码或线性调频形式,接收机中采用匹配滤波器。脉冲压缩雷达能同时获得大作用距离和高距离分辨力。
  • 初始峰值功率一定的脉冲,其压缩比随初始啁啾程度的增大而增大,初始啁啾程度一定的脉冲,压缩比随初始峰值功率的增大而减小,表明自相位调制效应导致脉冲压缩效果变差.计算结果还表明,在脉冲时域宽度得到压缩的...
  • 雷达回波信号在时间上无法区分时,通过脉冲压缩,可以提高距离分辨率
  • 线性调频脉冲压缩用matlab编程,线性调频脉冲压缩雷达仿真,有Word文档说明。
  • 加噪声的脉冲压缩

    2018-05-09 17:09:46
    针对不同信噪比进行脉冲压缩处理,以得到距离高分辨结果。
  • 采用脉冲压缩可以有效解决上述矛盾,这样既提高了雷达的作用距离,又保证了较高的距离分辨力。用数字方式实现的脉冲压缩具有可靠性高,灵活性好,可编程、便于应用。  1 脉冲压缩原理及Matlab仿真  1.1 线性调频...
  • 脉冲压缩体制在现代雷达中被广泛采用,通过发射宽脉冲来提高发射的平均功率,保证足够的作用距离;接收时则采用相应的脉冲压缩算法获得脉宽较窄的脉冲,以提高距离分辨力,从而能够很好地解决作用距

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,257
精华内容 502
关键字:

脉冲压缩