• 信号类型(雷达)——脉冲雷达(四)


    系列文章目录

    信号类型(雷达+通信)

    信号类型(雷达)——雷达波形认识(一)

    信号类型(雷达)——连续波雷达(二)

    信号类型(雷达)——脉冲雷达(三)


           为实现各种辐射源信号的分选识别以及定位,首先需要对辐射源信号特性有一个充分了解,根据各类辐射源特点从众多信号冲分离出来,甚至去除辐射源调制信息的影响,实现信号长时间相干定位处理,提高定位精度。本文主要记录目前了解到的雷达脉冲信号时域、频域、时频域以及模糊函数特性,作为后续辐射源分选识别以及定位研究的笔记,当然,若对相关行业的人有所启发,也欢迎能在评论区提出建议,或自身研究心得。


    一、调频类脉冲雷达

    1.1、常规脉冲雷达

           矩形脉冲包络,没有相位调制信息。下图分别展示了这类脉冲波形的时域、频谱、时频图以及模糊函数特性。

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    模糊函数(0频)                                       模糊函数(0时延)

    1. clear;close all;clc;
    2. %%
    3. % 矩形脉冲波形(非调制)
    4. %------------------------------波形分析------------------------------------
    5. %% 波形参数
    6. waveform = phased.RectangularWaveform;
    7. waveform.SampleRate = 5e6; % 采样率
    8. waveform.DurationSpecification = 'Pulse width'; % 脉冲持续时间设置方式,'Pulse width' or 'Duty cycle'
    9. waveform.PulseWidth = 20e-6; % 脉宽
    10. waveform.PRF = 5000; % PRF间隔
    11. xt = step(waveform);
    12. %% 信号实部/虚部
    13. figure;
    14. plot(real(xt));
    15. hold on;
    16. plot(imag(xt));
    17. title('信号实部/虚部');
    18. legend('实部','虚部');
    19. %% 信号模值/相位
    20. figure;
    21. plot(abs(xt));
    22. hold on;
    23. plot(angle(xt));
    24. title('信号模值/相位');
    25. legend('模值','相位');
    26. %% 信号频谱
    27. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    28. figure;
    29. plot(f,abs(fftshift(fft(xt))));
    30. xlabel('采样率(Hz)');
    31. title('信号频谱');
    32. %% 信号时频图
    33. window = blackman(128);
    34. noverlap = 32;
    35. nfft = 512;
    36. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    37. figure;
    38. imagesc(t,f,abs(s));
    39. xlabel('时间(s)');
    40. ylabel('频率(Hz)');
    41. title('信号时频图');
    42. %% 模糊函数
    43. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    44. [ambrect1,delayrect] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Doppler','CutValue',0);
    46. [ambrect2,dopplerrect] = ambgfun(xt,waveform.SampleRate,...,
    47. waveform.PRF,'Cut','Delay','CutValue',0);
    48. figure;
    49. mesh(delay,doppler,abs(afmag));
    50. xlabel('时间(s)');
    51. ylabel('频率(Hz)');
    52. title('信号模糊函数');
    53. figure;
    54. plot(delayrect*10^6,ambrect1);
    55. xlabel('时延 (\mu sec)');
    56. title('0Hz多普勒频点处的自相关函数');
    57. figure;
    58. plot(dopplerrect/10^6,ambrect2);
    59. xlabel('多普勒频率 (MHz)');
    60. title('0s时延处的自相关函数');

    1.2、线性调频脉冲雷达

           矩形脉冲包络,相位存在线性调频调制。下图分别展示了这类脉冲波形的时域、频谱、时频图以及模糊函数特性。

     

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.LinearFMWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.DurationSpecification = 'Pulse width'; % 脉冲持续时间设置方式,'Pulse width' or 'Duty cycle'
    6. waveform.PulseWidth = 20e-6; % 脉宽
    7. waveform.PRF = 5000; % PRF间隔
    8. waveform.SweepBandwidth = 1e6; % 频扫带宽
    9. waveform.SweepDirection = 'Up'; % 'Up' or 'Down'
    10. waveform.SweepInterval = 'Symmetric'; % 'Positive' or 'Symmetric'
    11. % waveform.Envelope = 'Gaussian'; % 'Rectangular' or 'Gaussian'.
    12. xt = step(waveform);
    13. %% 信号实部/虚部
    14. figure;
    15. plot(real(xt));
    16. hold on;
    17. plot(imag(xt));
    18. title('信号实部/虚部');
    19. legend('实部','虚部');
    20. %% 信号模值/相位
    21. figure;
    22. plot(abs(xt));
    23. hold on;
    24. plot(angle(xt));
    25. title('信号模值/相位');
    26. legend('模值','相位');
    27. %% 信号频谱
    28. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    29. figure;
    30. plot(f,abs(fftshift(fft(xt))));
    31. xlabel('采样率(Hz)');
    32. title('信号频谱');
    33. %% 信号时频图
    34. window = blackman(16);
    35. noverlap = 10;
    36. nfft = 512;
    37. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    38. figure;
    39. imagesc(t,f,abs(s));
    40. xlabel('时间(s)');
    41. ylabel('频率(Hz)');
    42. title('信号时频图');
    43. %% 模糊函数
    44. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    45. [ambLFM1,delayLFM] = ambgfun(xt,waveform.SampleRate,...,
    46. waveform.PRF,'Cut','Doppler','CutValue',0);
    47. [ambLFM2,dopplerLFM] = ambgfun(xt,waveform.SampleRate,...,
    48. waveform.PRF,'Cut','Delay','CutValue',0);
    49. figure;
    50. mesh(delay,doppler,abs(afmag));
    51. xlabel('时间(s)');
    52. ylabel('频率(Hz)');
    53. title('信号模糊函数');
    54. figure;
    55. plot(delayLFM*10^6,ambLFM1);
    56. xlabel('时延 (\mu sec)');
    57. title('0Hz多普勒频点处的自相关函数');
    58. figure;
    59. plot(dopplerLFM/10^6,ambLFM2);
    60. xlabel('多普勒频率 (MHz)');
    61. title('0s时延处的自相关函数');

    1.3、步进频雷达

           矩形脉冲包络,脉间频率逐渐递增。下图分别展示了这类脉冲波形的时域、频谱、时频图以及模糊函数特性。

     

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.SteppedFMWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.DurationSpecification = 'Pulse width'; % 脉冲持续时间设置方式,'Pulse width' or 'Duty cycle'
    6. waveform.PulseWidth = 20e-6; % 脉宽
    7. waveform.PRF = 5000; % PRF间隔
    8. waveform.FrequencyStep = 500e3; % 步进间隔
    9. waveform.NumSteps = 3; % 步进数量
    10. waveform.OutputFormat = 'Pulses'; % 输出信号的格式为'Pulses' or 'Samples'
    11. waveform.NumPulses = 3;
    12. xt = step(waveform);
    13. %% 信号实部/虚部
    14. figure;
    15. plot(real(xt));
    16. hold on;
    17. plot(imag(xt));
    18. title('信号实部/虚部');
    19. legend('实部','虚部');
    20. %% 信号模值/相位
    21. figure;
    22. plot(abs(xt));
    23. hold on;
    24. plot(angle(xt));
    25. title('信号模值/相位');
    26. legend('模值','相位');
    27. %% 信号频谱
    28. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    29. figure;
    30. plot(f,abs(fftshift(fft(xt))));
    31. xlabel('采样率(Hz)');
    32. title('信号频谱');
    33. %% 信号时频图
    34. window = blackman(16);
    35. noverlap = 10;
    36. nfft = 512;
    37. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    38. figure;
    39. imagesc(t,f,abs(s));
    40. xlabel('时间(s)');
    41. ylabel('频率(Hz)');
    42. title('信号时频图');
    43. %% 模糊函数
    44. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    45. [ambsfm1,delaysfm] = ambgfun(xt,waveform.SampleRate,...,
    46. waveform.PRF,'Cut','Doppler','CutValue',0);
    47. [ambsfm2,dopplersfm] = ambgfun(xt,waveform.SampleRate,...,
    48. waveform.PRF,'Cut','Delay','CutValue',0);
    49. figure;
    50. mesh(delay,doppler,abs(afmag));
    51. xlabel('时间(s)');
    52. ylabel('频率(Hz)');
    53. title('信号模糊函数');
    54. figure;
    55. plot(delaysfm*10^6,ambsfm1);
    56. xlabel('时延 (\mu sec)');
    57. title('0Hz多普勒频点处的自相关函数');
    58. figure;
    59. plot(dopplersfm/10^6,ambsfm2);
    60. xlabel('多普勒频率 (MHz)');
    61. title('0s时延处的自相关函数');

    二、相位编码雷达

    2.1、Barker编码

            矩形脉冲包络,相位存在Barker编码,已知的barker码包括:2位(++或+-),3位(++-),4位(+++-或++-+),5位(+++-+),7位(+++--+-),11位(+++---+--+-),13位(+++++--++-+-+)。下图分别展示了13位Barker相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.PhaseCodedWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.Code = 'Barker'; % 编码方式
    6. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    7. waveform.NumChips = 13; % 2, 3, 4, 5, 7, 11, or 13
    8. waveform.PRF = 5000; % PRF间隔
    9. xt = step(waveform);
    10. %% 信号实部/虚部
    11. figure;
    12. plot(real(xt));
    13. hold on;
    14. plot(imag(xt));
    15. title('信号实部/虚部');
    16. legend('实部','虚部');
    17. %% 信号模值/相位
    18. figure;
    19. plot(abs(xt));
    20. hold on;
    21. plot(angle(xt));
    22. title('信号模值/相位');
    23. legend('模值','相位');
    24. %% 信号频谱
    25. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    26. figure;
    27. plot(f,abs(fftshift(fft(xt))));
    28. xlabel('采样率(Hz)');
    29. title('信号频谱');
    30. %% 信号时频图
    31. window = blackman(16);
    32. noverlap = 10;
    33. nfft = 512;
    34. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    35. figure;
    36. imagesc(t,f,abs(s));
    37. xlabel('时间(s)');
    38. ylabel('频率(Hz)');
    39. title('信号时频图');
    40. %% 模糊函数
    41. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    42. [ambbk1,delaybk] = ambgfun(xt,waveform.SampleRate,...,
    43. waveform.PRF,'Cut','Doppler','CutValue',0);
    44. [ambbkt2,dopplerbk] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Delay','CutValue',0);
    46. figure;
    47. mesh(delay,doppler,abs(afmag));
    48. xlabel('时间(s)');
    49. ylabel('频率(Hz)');
    50. title('信号模糊函数');
    51. figure;
    52. plot(delaybk*10^6,ambbk1);
    53. xlabel('时延 (\mu sec)');
    54. title('0Hz多普勒频点处的自相关函数');
    55. figure;
    56. plot(dopplerbk/10^6,ambbkt2);
    57. xlabel('多普勒频率 (MHz)');
    58. title('0s时延处的自相关函数');

    2.2、Frank编码

            矩形脉冲包络,相位存在Frank编码,是LFM脉冲压缩波形的阶跃近似,需要是整数的平方。下图分别展示了36位Frank相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.PhaseCodedWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.Code = 'Frank'; % 编码方式
    6. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    7. waveform.NumChips = 36; % 整数的平方
    8. waveform.PRF = 5000; % PRF间隔
    9. xt = step(waveform);
    10. %% 信号实部/虚部
    11. figure;
    12. plot(real(xt));
    13. hold on;
    14. plot(imag(xt));
    15. title('信号实部/虚部');
    16. legend('实部','虚部');
    17. %% 信号模值/相位
    18. figure;
    19. plot(abs(xt));
    20. hold on;
    21. plot(angle(xt));
    22. title('信号模值/相位');
    23. legend('模值','相位');
    24. figure;
    25. plot(phase(xt));
    26. %% 信号频谱
    27. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    28. figure;
    29. plot(f,abs(fftshift(fft(xt))));
    30. xlabel('采样率(Hz)');
    31. title('信号频谱');
    32. %% 信号时频图
    33. window = blackman(16);
    34. noverlap = 10;
    35. nfft = 512;
    36. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    37. figure;
    38. imagesc(t,f,abs(s));
    39. xlabel('时间(s)');
    40. ylabel('频率(Hz)');
    41. title('信号时频图');
    42. %% 模糊函数
    43. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    44. [ambfk1,delayfk] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Doppler','CutValue',0);
    46. [ambfk2,dopplerfk] = ambgfun(xt,waveform.SampleRate,...,
    47. waveform.PRF,'Cut','Delay','CutValue',0);
    48. figure;
    49. mesh(delay,doppler,abs(afmag));
    50. xlabel('时间(s)');
    51. ylabel('频率(Hz)');
    52. title('信号模糊函数');
    53. figure;
    54. plot(delayfk*10^6,ambfk1);
    55. xlabel('时延 (\mu sec)');
    56. title('0Hz多普勒频点处的自相关函数');
    57. figure;
    58. plot(dopplerfk/10^6,ambfk2);
    59. xlabel('多普勒频率 (MHz)');
    60. title('0s时延处的自相关函数');

    2.3、P1编码

            P1、P2、P3和P4多相位编码 。这些编码是LFM脉冲压缩波形的阶跃近似 ,其距离副瓣低,且具有与LFM编码一样的多普勒容忍性,需要是整数的平方。下图分别展示了36位P1相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     ​​​​​​​​​​​​​​

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    ​​​​​​​​​​​​​​​​​​​​​​

    模糊函数(0频)                                       模糊函数(0时延)

    1. waveform = phased.PhaseCodedWaveform;
    2. waveform.SampleRate = 5e6; % 采样率
    3. waveform.Code = 'P1'; % 编码方式
    4. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    5. waveform.NumChips = 36; % 整数的平方
    6. waveform.PRF = 5000; % PRF间隔
    7. xt = step(waveform);
    8. %% 信号实部/虚部
    9. figure;
    10. plot(real(xt));
    11. hold on;
    12. plot(imag(xt));
    13. title('信号实部/虚部');
    14. legend('实部','虚部');
    15. %% 信号模值/相位
    16. figure;
    17. plot(abs(xt));
    18. hold on;
    19. plot(angle(xt));
    20. title('信号模值/相位');
    21. legend('模值','相位');
    22. figure;
    23. plot(phase(xt));
    24. %% 信号频谱
    25. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    26. figure;
    27. plot(f,abs(fftshift(fft(xt))));
    28. xlabel('采样率(Hz)');
    29. title('信号频谱');
    30. %% 信号时频图
    31. window = blackman(16);
    32. noverlap = 10;
    33. nfft = 512;
    34. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    35. figure;
    36. imagesc(t,f,abs(s));
    37. xlabel('时间(s)');
    38. ylabel('频率(Hz)');
    39. title('信号时频图');
    40. %% 模糊函数
    41. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    42. [ambP11,delayP1] = ambgfun(xt,waveform.SampleRate,...,
    43. waveform.PRF,'Cut','Doppler','CutValue',0);
    44. [ambP12,dopplerP1] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Delay','CutValue',0);
    46. figure;
    47. mesh(delay,doppler,abs(afmag));
    48. xlabel('时间(s)');
    49. ylabel('频率(Hz)');
    50. title('信号模糊函数');
    51. figure;
    52. plot(delayP1*10^6,ambP11);
    53. xlabel('时延 (\mu sec)');
    54. title('0Hz多普勒频点处的自相关函数');
    55. figure;
    56. plot(dopplerP1/10^6,ambP12);
    57. xlabel('多普勒频率 (MHz)');
    58. title('0s时延处的自相关函数');

    2.4、P2编码

            需要是偶数的平方,下图分别展示了36位P2相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     ​​​​​​​​​​​​​​

    时域实部和虚部                                   时域模值和相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.PhaseCodedWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.Code = 'P2'; % 编码方式
    6. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    7. waveform.NumChips = 36; % 偶数的平方
    8. waveform.PRF = 5000; % PRF间隔
    9. xt = step(waveform);
    10. %% 信号实部/虚部
    11. figure;
    12. plot(real(xt));
    13. hold on;
    14. plot(imag(xt));
    15. title('信号实部/虚部');
    16. legend('实部','虚部');
    17. %% 信号模值/相位
    18. figure;
    19. plot(abs(xt));
    20. hold on;
    21. plot(angle(xt));
    22. title('信号模值/相位');
    23. legend('模值','相位');
    24. figure;
    25. plot(phase(xt));
    26. %% 信号频谱
    27. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    28. figure;
    29. plot(f,abs(fftshift(fft(xt))));
    30. xlabel('采样率(Hz)');
    31. title('信号频谱');
    32. %% 信号时频图
    33. window = blackman(16);
    34. noverlap = 10;
    35. nfft = 512;
    36. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    37. figure;
    38. imagesc(t,f,abs(s));
    39. xlabel('时间(s)');
    40. ylabel('频率(Hz)');
    41. title('信号时频图');
    42. %% 模糊函数
    43. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    44. [ambP21,delayP2] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Doppler','CutValue',0);
    46. [ambP22,dopplerP2] = ambgfun(xt,waveform.SampleRate,...,
    47. waveform.PRF,'Cut','Delay','CutValue',0);
    48. figure;
    49. mesh(delay,doppler,abs(afmag));
    50. xlabel('时间(s)');
    51. ylabel('频率(Hz)');
    52. title('信号模糊函数');
    53. figure;
    54. plot(delayP2*10^6,ambP21);
    55. xlabel('时延 (\mu sec)');
    56. title('0Hz多普勒频点处的自相关函数');
    57. figure;
    58. plot(dopplerP2/10^6,ambP22);
    59. xlabel('多普勒频率 (MHz)');
    60. title('0s时延处的自相关函数');

    2.5、P3编码

            需要是整数的平方,下图分别展示了36位P3相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     ​​​​​​​​​​​​​​

    时域实部和虚部                                   时域相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.PhaseCodedWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.Code = 'P3'; % 编码方式
    6. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    7. waveform.NumChips = 36; % 正整数
    8. waveform.PRF = 5000; % PRF间隔
    9. xt = step(waveform);
    10. %% 信号实部/虚部
    11. figure;
    12. plot(real(xt));
    13. hold on;
    14. plot(imag(xt));
    15. title('信号实部/虚部');
    16. legend('实部','虚部');
    17. %% 信号模值/相位
    18. figure;
    19. plot(abs(xt));
    20. hold on;
    21. plot(angle(xt));
    22. title('信号模值/相位');
    23. legend('模值','相位');
    24. figure;
    25. plot(phase(xt));
    26. %% 信号频谱
    27. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    28. figure;
    29. plot(f,abs(fftshift(fft(xt))));
    30. xlabel('采样率(Hz)');
    31. title('信号频谱');
    32. %% 信号时频图
    33. window = blackman(16);
    34. noverlap = 10;
    35. nfft = 512;
    36. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    37. figure;
    38. imagesc(t,f,abs(s));
    39. xlabel('时间(s)');
    40. ylabel('频率(Hz)');
    41. title('信号时频图');
    42. %% 模糊函数
    43. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    44. [ambP31,delayP3] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Doppler','CutValue',0);
    46. [ambP32,dopplerP3] = ambgfun(xt,waveform.SampleRate,...,
    47. waveform.PRF,'Cut','Delay','CutValue',0);
    48. figure;
    49. mesh(delay,doppler,abs(afmag));
    50. xlabel('时间(s)');
    51. ylabel('频率(Hz)');
    52. title('信号模糊函数');
    53. figure;
    54. plot(delayP3*10^6,ambP31);
    55. xlabel('时延 (\mu sec)');
    56. title('0Hz多普勒频点处的自相关函数');
    57. figure;
    58. plot(dopplerP3/10^6,ambP32);
    59. xlabel('多普勒频率 (MHz)');
    60. title('0s时延处的自相关函数');

    2.6、P4编码

            需要是整数的平方,下图分别展示了36位P4相位编码脉冲波形的时域、频谱、时频图以及模糊函数特性。

     ​​​​​​​​​​​​​​

    时域实部和虚部                                   时域相位 

    频谱图                                                                时频图

    模糊函数                                                模糊函数(俯视图)

    ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

    模糊函数(0频)                                       模糊函数(0时延)

    1. %------------------------------波形分析------------------------------------
    2. %% 波形参数
    3. waveform = phased.PhaseCodedWaveform;
    4. waveform.SampleRate = 5e6; % 采样率
    5. waveform.Code = 'P4'; % 编码方式
    6. waveform.ChipWidth = 10/waveform.SampleRate; % 码片时间宽度
    7. waveform.NumChips = 36; % 正整数
    8. waveform.PRF = 5000; % PRF间隔
    9. xt = step(waveform);
    10. %% 信号实部/虚部
    11. figure;
    12. plot(real(xt));
    13. hold on;
    14. plot(imag(xt));
    15. title('信号实部/虚部');
    16. legend('实部','虚部');
    17. %% 信号模值/相位
    18. figure;
    19. plot(abs(xt));
    20. hold on;
    21. plot(angle(xt));
    22. title('信号模值/相位');
    23. legend('模值','相位');
    24. figure;
    25. plot(phase(xt));
    26. %% 信号频谱
    27. f=linspace(-waveform.SampleRate/2,waveform.SampleRate/2,length(xt));
    28. figure;
    29. plot(f,abs(fftshift(fft(xt))));
    30. xlabel('采样率(Hz)');
    31. title('信号频谱');
    32. %% 信号时频图
    33. window = blackman(16);
    34. noverlap = 10;
    35. nfft = 512;
    36. [s,f,t] = spectrogram(xt,window,noverlap,nfft,waveform.SampleRate,'centered');
    37. figure;
    38. imagesc(t,f,abs(s));
    39. xlabel('时间(s)');
    40. ylabel('频率(Hz)');
    41. title('信号时频图');
    42. %% 模糊函数
    43. [afmag,delay,doppler] = ambgfun(xt,waveform.SampleRate,waveform.PRF);
    44. [ambP41,delayP4] = ambgfun(xt,waveform.SampleRate,...,
    45. waveform.PRF,'Cut','Doppler','CutValue',0);
    46. [ambP42,dopplerP4] = ambgfun(xt,waveform.SampleRate,...,
    47. waveform.PRF,'Cut','Delay','CutValue',0);
    48. figure;
    49. mesh(delay,doppler,abs(afmag));
    50. xlabel('时间(s)');
    51. ylabel('频率(Hz)');
    52. title('信号模糊函数');
    53. figure;
    54. plot(delayP4*10^6,ambP41);
    55. xlabel('时延 (\mu sec)');
    56. title('0Hz多普勒频点处的自相关函数');
    57. figure;
    58. plot(dopplerP4/10^6,ambP42);
    59. xlabel('多普勒频率 (MHz)');
    60. title('0s时延处的自相关函数');

    总结

            本文简单介绍常见脉冲雷达信号的时域、频域、时频域以及模糊函数特性,其中相位编码雷达信号主要有phased工具箱产生,可能和定义中的P1,P2,P3,P4码有所区别,有问题欢迎评论区留言。转载请附链接【杨(_> <_)】的博客_CSDN博客-信号处理,SAR,代码实现领域博主

  • 相关阅读:
    海思3559万能平台搭建:在截获的YUV图像上画框
    【原创】springboot+mysql海鲜商城设计与实现
    类变量/静态变量
    18、JAVA入门——接口
    如何在Flutter中实现网络请求
    Easyx介绍与安装
    java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码
    新一代音视频架构在元宇宙场景的实践
    python模拟投掷色子并做出数据可视化统计图
    【RuoYi-Vue-Plus】扩展笔记 07 - CentOS 7 集成 Prometheus + Grafana 监控初体验
  • 原文地址:https://blog.csdn.net/yjh_2019/article/details/133442895