主要内容

pulseCompressionLibrary

创建一个脉冲压缩规范库

描述

pulseCompressionLibrarySystem object™创建一个脉冲压缩库。该库包含描述对接收信号执行脉冲压缩操作以产生其范围响应的参数集。您可以使用此库来执行匹配的过滤或拉伸处理。对象创建的波形pulseWaveformLibrary对象。

制作一个脉冲压缩库

  1. 创建pulseCompressionLibrary对象并设置其属性。

  2. 调用带参数的对象,就像调用函数一样。

要了解有关System对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

complib= pulseCompressionLibrary ()System对象创建一个脉冲压缩库,complib,具有默认属性值。

例子

complib= pulseCompressionLibrary (名字价值使用每个属性创建脉冲压缩库名字设置为指定的价值。您可以以任意顺序指定附加的名称-值对参数,如(Name1Value1、……).将每个属性名称用单引号括起来。

例子:complib = pulseccompressionlibrary ('SampleRate',1e9,'WaveformSpecification',{{' rectangle ','PRF',1e4,'PulseWidth',100e-6},{'SteppedFM','PRF',1e4}},'ProcessingSpecification',{{'MatchedFilter','SpectrumWindow','Hann'},{'MatchedFilter','SpectrumWindow','Taylor'})创建具有两个匹配筛选器的库。一个与矩形波形相匹配,另一个与阶跃调频波形相匹配。匹配的过滤器分别使用Hann窗口和Taylor窗口。

属性

全部展开

除非另有说明,否则属性是nontunable,这意味着在调用对象之后不能更改它们的值。对象在调用时被锁定,而释放函数将它们解锁。

如果一个属性可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见利用系统对象在MATLAB中进行系统设计

波形采样率,指定为正标量。所有波形都具有相同的采样率。单位是赫兹。

例子:100年e3

数据类型:

信号传播速度,用正标量表示。单位是米每秒。默认传播速度是返回的值physconst(“光速”)。看到physconst了解更多信息。

例子:3 e8

数据类型:

脉冲波形,指定为单元阵列。数组的每个单元格包含一个波形的规格。

{{波形1规格},{波形2规格},{波形3规格},…}
每个波形规格也是包含波形参数的单元阵列。规范单元中的条目是脉冲标识符和一组特定于该波形的名称-值对。
{PulseIdentifier、Name1 Value1, Name2, Value2,…}

这个System对象支持四种内置波形,金宝app也允许您指定自定义波形。对于内置波形,波形说明符由波形标识符和几个设置波形属性的名称-值对组成。对于自定义波形,波形说明符由用户定义波形函数的句柄和函数的输入参数组成。

波形类型

脉冲式 脉冲标识符 波形参数
线性调频 “LinearFM” 线性调频波形参数
相位编码 “PhaseCoded” 相位编码波形参数
矩形 “矩形” 矩形波形参数
加强调频 “SteppedFM” 步进调频波形参数
自定义 函数处理 自定义波形参数

例子:{{“矩形”,“脉冲”,10 e3,“脉冲宽度”,100年e-6},{“矩形”,“脉冲”,100年e3,“脉冲宽度”,20 e-6}}

数据类型:细胞

脉冲压缩描述,指定为单元阵列的处理规范。每个单元定义了不同的处理规范。每个处理规范本身都是包含处理类型和处理参数的单元格数组。

{{加工1规格},{加工2规格},{加工3规格},…}
每个处理规范都指出要对波形应用哪种类型的处理以及处理所需的参数。
{ProcessType,名称、价值…}
的价值ProcessType要么是“MatchedFilter”“StretchProcessor”

  • “MatchedFilter”—名称-值对参数为

    • “系数”多项式系数-指定匹配的过滤系数,多项式系数,作为列向量。当未指定时,系数从WaveformSpecification财产。对于包含多个脉冲的阶跃调频波形,多项式系数对应于每个脉冲,直到脉冲指数,idx的变化。

    • “SpectrumWindow”西南-指定频谱加权窗口,西南,应用于波形。窗口值是其中之一“没有”“汉明”“切比雪夫”“损害”“皇帝”,“泰勒”。默认值为“没有”

    • “SidelobeAttenuation”slb-指定旁瓣衰减窗口,slb切比雪夫或泰勒窗口的正标量。缺省值为30。设置时应用此参数“SpectrumWindow”“切比雪夫”“泰勒”

    • “β”β-指定参数,β,它决定凯撒窗旁瓣衰减为非负标量。默认值为0.5。设置时应用此参数“SpectrumWindow”“皇帝”

    • “Nbar”nbar-指定几乎恒定的电平副瓣的数量,nbar,在泰勒窗口中主瓣旁边的一个正整数。默认值为4。设置时应用此参数“SpectrumWindow”“泰勒”

    • “SpectrumRange”-指定频谱区域,,在其上将频谱窗作为具有如下形式的1 × 2矢量施加[StartFrequency EndFrequency]。默认值为[0 1.0e5]。此参数适用于设置“SpectrumWindow”为'None'以外的任何值。单位为Hz。

      这两个StartFrequencyEndFrequency在基带区域测量[- ?Fs/ 2Fs/ 2)。Fs抽样率是否由SampleRate财产。StartFrequency不能大于EndFrequency

  • “StretchProcessor”—名称-值对参数为

    • “ReferenceRange”refrng-指定感兴趣范围的中心,refrng,表示为正标量。的refrng必须在一个脉冲的明确范围内。缺省值是5000。单位是米。

    • “RangeSpan”rngspan-指定感兴趣的范围的范围。rngspan,表示为正标量。中指定的范围值为范围范围的中心“ReferenceRange”参数。缺省值是500。单位是米。

    • “RangeFFTLength”len-指定FFT在range域中的长度。len,表示为正整数。如果不指定,则默认值与输入数据长度相同。

    • “RangeWindow”rw指定用于范围处理的窗口。rw作为…之一“没有”“汉明”“切比雪夫”“损害”“皇帝”,“泰勒”。默认值为“没有”

例子:“StretchProcessor”

数据类型:字符串|结构体

线性调频波形参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:{“LinearFM”、“脉冲”,1 e4,“脉冲宽度”,50 e-6 SweepBandwidth, 1 e5,…‘SweepDirection’,‘了’,‘SweepInterval’,‘积极’}

脉冲重复频率(PRF),指定为正标量。单位是赫兹。看到脉冲重复频率限制对PRF的限制。

例子:20 e3

数据类型:

脉冲持续时间,指定为正标量。单位是秒。不能同时指定脉冲宽度DutyCycle

例子:100年e-6

数据类型:

脉冲占空比,表示为大于零且小于等于1的正标量。不能同时指定脉冲宽度DutyCycle

例子:0.7

数据类型:

FM扫描的带宽,指定为正标量。单位是赫兹。

例子:100年e3

数据类型:

调频扫描的方向,指定为“了”“下来”“了”对应于增加的频率。“下来”对应于递减的频率。

数据类型:字符

FM扫描间隔,指定为“积极”“对称”。如果将此属性值设置为“积极”,波形扫过0和之间的间隔B,在那里BSweepBandwidth参数值。如果将此属性值设置为“对称”,波形扫过-之间的间隔B/ 2和B/2.

例子:“对称”

数据类型:字符

信封函数,指定为“矩形”“高斯”

例子:“高斯”

数据类型:字符

脉冲的频率偏移,指定为标量。频率偏移使所产生的脉冲波形的频率发生偏移。单位是赫兹。

例子:100年e3

数据类型:

相位编码波形参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:{“PhaseCoded”、“脉冲”,1 e4,“代码”,“Zadoff-Chu”,“SequenceIndex”,3,‘ChipWidth’,5 e-6 NumChips, 8}

脉冲重复频率(PRF),指定为正标量。单位是赫兹。看到脉冲重复频率限制对PRF的限制。

例子:20 e3

数据类型:

相位调制码的类型,指定为“弗兰克”“P1”“P2”“像素”“Zadoff-Chu”“P3”“P4”,或“巴克”

例子:“P1”

数据类型:字符

的序列索引Zadoff-Chu代码,指定为正整数。的价值SequenceIndex一定是相对质数的值NumChips

例子:3.

依赖关系

要启用此名称-值对,请设置代码财产“Zadoff-Chu”

数据类型:

芯片持续时间,指定为正标量。单位是秒。看到芯片的限制对于芯片尺寸的限制。

例子:30 e - 3

数据类型:

波形中的芯片数,指定为正整数。看到芯片的限制对于芯片尺寸的限制。

例子:3.

数据类型:

脉冲的频率偏移,指定为标量。频率偏移使所产生的脉冲波形的频率发生偏移。单位是赫兹。

例子:100年e3

数据类型:

矩形波形参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:{“矩形”,“脉冲”,10 e3,“脉冲宽度”,100年e-6}

脉冲重复频率(PRF),指定为正标量。单位是赫兹。看到脉冲重复频率限制对PRF的限制。

例子:20 e3

数据类型:

脉冲持续时间,指定为正标量。单位是秒。不能同时指定脉冲宽度DutyCycle

例子:100年e-6

数据类型:

脉冲占空比,表示为大于零且小于等于1的正标量。不能同时指定脉冲宽度DutyCycle

例子:0.7

数据类型:

脉冲的频率偏移,指定为标量。频率偏移使所产生的脉冲波形的频率发生偏移。单位是赫兹。

例子:100年e3

数据类型:

步进调频波形参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:{“SteppedFM”、“脉冲”,10}的军医

脉冲重复频率(PRF),指定为正标量。单位是赫兹。看到脉冲重复频率限制对PRF的限制。

例子:20 e3

数据类型:

脉冲持续时间,指定为正标量。单位是秒。不能同时指定脉冲宽度DutyCycle

例子:100年e-6

数据类型:

脉冲占空比,表示为大于零且小于等于1的正标量。不能同时指定脉冲宽度DutyCycle

例子:0.7

数据类型:

波形中的频率步长数,指定为正整数。

例子:3.

数据类型:

线性频率步长,指定为正标量。

例子:100.0

数据类型:

脉冲的频率偏移,指定为标量。频率偏移使所产生的脉冲波形的频率发生偏移。单位是赫兹。

例子:100年e3

数据类型:

自定义波形参数

您可以从用户定义的函数创建自定义波形。函数的第一个输入参数必须是采样率。例如,指定一个双曲波形函数,

函数wav = HyperbolicFM(fs,prf,pw, frequency,bw,fcent),
在哪里fs抽样率是和吗脉冲重复频率pw频率bw,fcent是其他波形参数。函数必须至少有一个输出参数,wav,以返回每个脉冲的样本。这个输出必须是一个列向量。波形采样后可以返回其他输出。

然后,使用函数句柄而不是波形标识符创建波形规范。波形规范中的第一个单元必须是函数句柄。剩下的单元格包含除了采样率以外的所有函数输入参数。按照传入函数的顺序指定所有输入参数。

waveformspec = {@HyperbolicFM,prf,pw,freq,bw,fcent}
看到添加自定义波形到脉冲波形库使用自定义波形的示例。

使用

描述

Yrng[p] =Xidx返回压缩脉冲波形的样本,Y,由其索引指定,idx,在图书馆。RNG表示对应的范围Y

输入参数

全部展开

输入信号,指定为复值K——- - - - - -l矩阵,复数K——- - - - - -N矩阵,或者一个复值K——- - - - - -N——- - - - - -l数组中。K表示快速时间样本的个数,l脉冲数,和N是通道数。信道可以是阵列元素或波束。

数据类型:
复数支持:金宝app是的

脉冲压缩库中处理规范的索引,指定为正整数。

数据类型:

输出参数

全部展开

输出信号,作为复值返回——- - - - - -l矩阵,复数——- - - - - -N矩阵,或者一个复值——- - - - - -N——- - - - - -l数组中。表示快速时间样本的个数,l脉冲数,和N是通道数。信道可以是阵列元素或波束。的维数Y的维度数匹配X

当执行匹配过滤时,等于里面的行数X。当执行拉伸处理并且为属性指定值时RangeFFTLength名称-值对,设置为的值RangeFFTLength。当你不指定时RangeFFTLength等于里面的行数X

数据类型:
复数支持:金宝app是的

样本范围,作为实值长度-返回向量,行数是Y。这个向量的元素表示行对应的范围Y

数据类型:

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放system对象的系统资源obj,使用以下语法:

发行版(obj)

全部展开

plotResponse 从脉冲压缩库绘制范围响应
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特性
重置 的内部状态复位系统对象

例子

全部折叠

创建一个矩形波形和线性调频波形。使用脉冲压缩库中的处理方法对波形进行范围处理。对矩形波形使用匹配滤波,对线性调频波形使用拉伸处理。

创建两个波形pulseWaveformLibrary系统对象™。采样频率为1mhz,两种波形的脉冲重复频率为1khz。脉冲宽度也相同,为50微秒。

Fs = 1.0e6;PRF = 1e3;Pw = 50e-6;Waveform1 = {“矩形”脉冲重复频率的脉冲重复频率,“脉冲宽度”pw};Waveform2 = {“LinearFM”脉冲重复频率的脉冲重复频率,“脉冲宽度”pw,“SweepBandwidth”1 e5,“SweepDirection”“了”“SweepInterval”“积极”};pulselib = pulseWaveformLibrary(“WaveformSpecification”{waveform1, waveform2},“SampleRate”fs);

检索波形以供脉冲压缩库处理。

Rectwav = pulselib(1);Lfmwav = pulselib(2);

创建压缩处理库ulseCompressionLibrary具有两个处理规范的系统对象™。第一处理规范为匹配滤波,第二处理规范为拉伸处理。

mf = getMatchedFilter(脉冲,1);Procspec1 = {“MatchedFilter”“系数”mf};Procspec2 = {“StretchProcessor”“ReferenceRange”, 5000,“RangeSpan”, 200,“RangeWindow”“汉明”};compprlib = pulseccompressionlibrary (“WaveformSpecification”{waveform1, waveform2},“ProcessingSpecification”{procspec1, procspec2},“SampleRate”fs,“PropagationSpeed”physconst (“光速”));

处理两种波形。

Rect_out = comprlib(rectwav,1);Lfm_out = comprlib(lfmwav,2);Nsamp = fs/prf;T = [0:(nsample -1)]/fs;情节(t * 1000,实际(rect_out))情节(t * 1000,实际(lfm_out))标题(“脉冲压缩输出”)包含(“时间(millsec)”) ylabel (“振幅”

图包含一个轴对象。标题为脉冲压缩输出的axis对象包含2个类型为line的对象。

绘制LFM信号在2000米、4000米和5500米的距离上击中三个目标的距离响应图。假设雷达的最大距离为10公里,从最大距离确定脉冲重复间隔。

%创建脉冲波形。Rmax = 10.0e3;C = physconst(“光速”);2*rmax/c;Fs = 1e6;Pri = ceil(Pri *fs)/fs;PRF = 1/pri;Nsamp = pri*fs;Rxdata = 0 (nsamp,1);T1 = 2*2000/c;T2 = 2*4000/c;T3 = 2*5500/c; idx1 = floor(t1*fs); idx2 = floor(t2*fs); idx3 = floor(t3*fs); lfm = phased.LinearFMWaveform(“脉冲宽度”10 / fs,脉冲重复频率的脉冲重复频率,“SweepBandwidth”(30 * fs) / 40);W = lfm();% %将脉冲的波形部分嵌入到接收到的信号中。X = w(1:11);Rxdata (idx1:idx1+10) = x;Rxdata (idx2:idx2+10) = x;Rxdata (idx3:idx3+10) = x;% %创建脉冲波形库。W1 = {“LinearFM”“脉冲宽度”10 / fs,脉冲重复频率的脉冲重复频率,“SweepBandwidth”(30 * fs) / 40};wavlib = pulseWaveformLibrary(“SampleRate”fs,“WaveformSpecification”, {w1});Wav = wavlib(1);% %%产生距离响应信号。P1 = {“MatchedFilter”“系数”getMatchedFilter (wavlib 1),“SpectrumWindow”“没有”};Idx = 1;complib = pulseccompressionlibrary ()“WaveformSpecification”{w1},“ProcessingSpecification”{p1},“SampleRate”fs,“PropagationSpeed”c);Y = complib(rxdata,1);% %%处理后数据的标绘范围响应plotResponse (complib rxdata idx,“单位”“杂志”);

图包含一个轴对象。标题为Range Response Pattern的axes对象包含一个line类型的对象。

更多关于

全部展开

扩展功能

版本历史

在R2021a中引入