Engee 文档

EngeePhased.LinearFMWaveform

描述

线性波形(LinearFMWaveform)系统对象可创建 LFM 脉冲信号。要生成信号,请执行以下步骤:

  1. 定义并配置调制波形。

  2. 调用 step 根据 EngeePhased.LinearFMWaveform 的属性生成信号。step 的行为针对工具栏中的每个对象。

与其使用 step 方法执行系统对象定义的操作,不如像调用函数一样调用带参数的对象。例如,y = step(obj,x)y = obj(x) 执行等价操作。如果 step 方法的唯一参数是 System 对象本身,则应将 y = step(obj) ` 替换为 y = obj()

语法

系统对象的构造函数可以通过以下方式调用:

  • object = EngeePhased.LinearFMWaveform 创建一个 LFM 信号系统对象。该对象以 LFM 波形生成脉冲。

    示例

    target = EngeePhased.LinearFMWaveform
  • object = EngeePhased.LinearFMWaveform(Name,Value) 创建一个 LFM 信号对象,并将每个指定属性 Name(名称)设置为指定的 价值观(值)。您可以以任意顺序(Name1,Value1,…​,NameN,ValueN)指定其他参数作为名-值对。

    示例

    target = EngeePhased.LinearFMWaveform(OutputFormat=Pulses, CoefficientsOutputPort=true)

属性

采样率 — 采样率
1e6(默认值)

Details

信号的采样频率,指定为正标量。采样频率与脉冲重复频率(PRF)之比必须是正整数,即每个脉冲必须包含整数个采样点。

测量单位为赫兹。

DurationSpecification - 设置脉冲持续时间的方法
脉冲宽度(默认) | `占空比

Details

设置脉冲宽度的方法,指定为`脉冲宽度`或`占空比`。该属性定义设置脉冲宽度的方法。将此属性设置为 "脉冲宽度 "时,可直接使用 PulseWidth 属性设置脉冲宽度。将此属性设置为 "占空比 "时,可根据 PRFDutyCycle 属性的值设置脉冲持续时间。脉冲宽度等于占空比除以_PRF_的倒数。

*脉冲宽度 脉冲宽度
`50e-6(默认值)

Details

以正标量形式指定每个脉冲的持续时间(秒)。该值必须满足 PulseWidth < = 1./PRF 参数的要求。

占空比 - 信号速率的倒数
0.5(默认值)

Details

占空比的倒数值,以从 01 的标量形式指定。如果 DurationSpecification 属性设置为 "占空比",则此属性适用。脉冲宽度等于 DutyCycle 属性的值除以 PRF 属性的值。

PRF - 脉冲重复率
10e3(默认值)

Details

脉冲重复频率 PRF,指定为标量或字符串矢量。脉冲重复间隔 PRI 是脉冲重复频率 PRF 的倒数。PRF 必须满足这些限制条件:

  • PRFPulseWidth 的乘积必须小于或等于 1。这一条件表示脉冲宽度必须小于一个脉冲重复间隔。对于相位编码波形,脉冲宽度等于芯片宽度与芯片数量的乘积。

  • 采样率与 PRF 的任何元素之比必须是整数。这个条件表达了一个脉冲重复间隔的采样个数必须是整数的要求。

您可以单独使用属性设置或结合 step 方法的 prfidx 输入参数使用属性设置来选择 PRF 值。

  • 如果 PRFSelectionInputPort 为 "false",则只能使用属性设置 PRF。您可以

    • 通过指定 PRF 为正实数标量来实现常数 PRF

    • PRF 指定为具有正实数值的字符串向量,从而实现步进式 PRF。但这次要执行 step 方法,通过传递一个指定 PRF 向量中索引的参数来选择 PRF

  • PRFSelectionInputPort 为 "true "时,可以通过将 PRF 指定为具有正实数的字符串向量来实现可选择的 PRF。但此时,在执行 step 方法时,通过传递一个指定 PRF 向量中索引的参数来选择 PRF

在所有情况下,如果 OutputFormat 属性设置为 "Samples",输出样本的数量都是固定的。如果使用 PRF 变量,且 OutputFormat 属性设置为 "Pulses",则样本数可能会不同。

测量单位为赫兹。

PRFSelectionInputPort -。 PRF 授权选择输入
true | false (default)

Details

启用指定为 truefalsePRF 选择输入。将此属性设置为 false 时,step 方法将使用 PRF 属性中设置的值。当此属性设置为 true 时,将向 step 方法传递一个索引参数,以便从 PRF 向量中选择一个值。

SweepBandwidth - LFM 信号频率偏差
1e5(默认值)

Details

正标量的频率偏差(赫兹)。默认值相当于 100 kHz。

SweepDirection 调制方向 调制方向
上(默认)` | `下

Details

将线性调频扫描的方向指定为 "上 "或 "下 "之一。

SweepInterval - 调制间隔位置
正对称

Details

如果将此属性设置为 "正",振荡图将在从 "0 "到 "B "的区间内扫描,其中 "B "是 SweepBandwidth 属性的值。如果将此属性设置为 "对称",振荡图将在 "B/2 "到 "B/2 "的区间内展开。

*包络 低频调制信号的包络函数
矩形(默认)` |`高斯

Details

将包络函数指定为 "矩形 "或 "高斯 "之一。

频率偏移源 — 频率偏移源 输入端口

Details

指定为 PropertyInput port 的振荡图的频率偏移源。

  • 如果将此属性设置为 Property,偏移量将由属性 FrequencyOffset 的值决定。 *频率偏移.

  • 如果将此属性设置为 "输入端口",则 FrequencyOffset 由输入参数 freqoffset 决定。

频率偏移 — 频率偏移 0 Hz(默认) | `标量

Details

频率偏移,单位 Hz,以标量形式指定。

依赖关系

如果 FrequencyOffsetSource 属性设置为 "输入端口",则会应用该属性。

OutputFormat - 输出格式
脉冲(默认) | `样本

Details

指定输出格式为 "脉冲 "或 "样本"。当 OutputFormat 属性设置为 "Pulses"(脉冲)时,阶跃方法的输出为多个脉冲,由 NumPulses 属性值指定。如果在仿真过程中改变脉冲重复率,每个脉冲的采样数目也会发生变化。

如果 OutputFormat 属性设置为 "Samples"(采样),阶跃方法的输出将以多个采样的形式出现。在这种情况下,输出样本数等于 NumSamples 属性的值,并且是固定的。

NumSamples - 输出信号的采样数
100(默认值)

Details

以正整数指定步进方法输出端的数据样本数。此属性仅在 OutputFormat 属性设置为 Samples 时适用。

NumPulses - 输出脉冲数 100(默认值)

Details

以正整数指定步进方法输出中的样本数。此属性仅在 OutputFormat 属性设置为 Samples 时适用。

PRFO 输出端口 - 打开 PRF 输出
true | false (default)

Details

将此属性设置为 true,以使用 step 方法参数输出当前脉冲的 PRF

依赖关系

此属性只有在 OutputFormat 属性设置为 Pulses 时才能使用。

系数输出端口 - 打开匹配滤波器系数的输出端口
true | false (default)

Details

启用匹配滤波系数输出端口,指定为 falsetrue。当此属性设置为 false 时,对象不提供仿真过程中使用的匹配滤波系数输出。当此属性设置为 "true "时,对象将提供仿真过程中使用的匹配滤波系数的输出。

方法

所有系统对象通用

step!: 启动系统对象的运行算法 release!: 允许更改系统对象属性的值 reset!: 重置系统对象的内部状态

示例

绘制 LFM 波形和频谱* Plot LFM Waveform and Spectrum (绘制 LFM 波形和频谱

创建并绘制升采样 LFM 脉冲波形。采样频率为 500 kHz,频率偏差为 200 kHz,脉冲宽度为 1 毫秒(等于脉冲重复间隔)。

fs = 500e3
sLFM = EngeePhased.LinearFMWaveform(
    SampleRate=fs,
    SweepBandwidth=200e3,
    PulseWidth=1e-3,
    PRF=1e3
);

获取并绘制 LFM 波形的实部。

lfmwav = step(sLFM);
nsamp = size(lfmwav,1);
t = [0:(nsamp-1)]/fs;
plot(t*1000,real(lfmwav))
xlabel('Time (millisec)')
ylabel('Amplitude')
grid

object phased linear fm waveform 1

构建复信号的傅立叶变换。

using FFTW
nfft = nextpow(2,nsamp)
new_len = nextpow(2,nsamp)
lfmwav = [lfmwav;zeros(new_len - length(lfmwav))]
Z = fft(lfmwav,1)
fr = (0:(nfft/2-1)) /nfft*fs
plot(fr./1000,abs.(Z[1:Int(nfft/2)]),lab="" )
xlabel!("Частота кГц")
ylabel!("Амплитуда")

object phased linear fm waveform 2

构建函数的频谱图,窗口大小为 64 个样本,重叠率为 50%。

import DSP:hamming
nfft1 = 64
nov = floor(Int,0.5*nfft1)
imag1 = spectrogram(real.(lfmwav),hamming(nfft1),nov,nfft1;fs=fs,freqloc="yaxis")
xlabel!("Время, с")
plot!(imag1,colorbar_title = "СПМ (дБ/Гц)")
ylabel!("Частота, Гц")

object phased linear fm waveform 3

该图显示了信号频率的增加。

参考资料

  1. Levanon, N. and E. Mozeson.Radar Signals.Hoboken, NJ: John Wiley & Sons, 2004.

  2. Richards, M. A. Fundamentals of Radar Signal Processing.New York: McGraw-Hill, 2005.