2026a

# phased_WidebandFreeSpace


宽带自由空间传播

函数库: TyPhasedArray

# 描述

系统对象模拟宽带信号在自由空间环境中从一点到另一点的传播。系统对象会对输入信号应用与范围相关的时间延迟、增益调整和相移。当信号源或目的地移动时,该对象会考虑多普勒频移。自由空间环境是一种无边界介质,其信号传播速度与位置和方向无关。信号沿直线从信号源传播到目的地。例如,您可以使用此对象来模拟信号从雷达到目标的双向传播。

对于非极化信号,系统对象可让您将信号从单点传播到多点,或从多点传播到单点。不支持多点到多点的传播。

计算自由空间中的传播信号:

  1. 定义并设置宽带自由空间环境;

  2. 根据系统对象的属性调用 step 在自由空间中传播信号。step 的行为与工具箱中的每个对象有关。

在自由空间传播往返信号时,可以使用一个 phased_WidebandFreeSpace 系统对象来计算双向传播延迟。或者,您也可以使用两个单独的 phased_WidebandFreeSpace 系统对象来计算每个方向的单向传播延迟。由于滤波器失真,在使用双向传播时,总的往返延迟可能会有所不同。

# 构造

# 语法

sWBFS = phased_WidebandFreeSpace()
sWBFS = phased_WidebandFreeSpace(;Name=Value)

sWBFS = phased_WidebandFreeSpace() 创建一个宽带自由空间系统对象 sWBFS。


sWBFS = phased_WidebandFreeSpace(;Name=Value) 创建宽带自由空间系统对象 sWBFS,并将每个指定属性 Name 设置为指定的 Value。您可以按照 Name1=Value1,...,NameN=ValueN 的任意顺序指定其他名称-值对参数。

# 属性

PropagationSpeed - 信号传播速度
physconst("LightSpeed")(默认) | 正标量

信号传播速度,指定为正标量。单位为 m/s。默认传播速度是 physconst("LightSpeed") 返回的值。更多信息,请参见 physconst

示例: 3e8

数据类型: Float

OperatingFrequency - 工作频率
300e6(默认) | 正标量

工作频率,指定为正标量。单位为 Hz。

示例: 1e9

数据类型: Float

TwoWayPropagation - 启用双向传播
false(默认) | true

启用双向传播,指定为 false 或 true。将此属性设为 true,可在步骤中指定的信号起点和终点之间执行往返传播。将此属性设为 false,则只执行从起点到终点的单向传播。

示例: true

数据类型: Bool

SampleRate - 信号采样率
1e6(默认) | 正标量

信号的采样率,指定为正标量。单位为 Hz。系统对象使用这个量计算以采样为单位的传播延迟。

示例: 1e6

数据类型: Float

NumSubbands - 处理子带数量
64(默认) | 正整数

处理子带的个数,以正整数表示。

示例: 128

数据类型: Float

MaximumDistanceSource - 最大单向传播距离源
"Auto"(默认) | "Property"

最大单向传播距离的来源,指定为 "Auto" 或 "Property"。最大单向传播距离用于为信号延迟计算分配足够的内存。将此属性设置为 "Auto" 时,系统对象会自动分配内存。将此属性设置为 "Property" 时,将使用 MaximumDistance 属性的值指定最大单向传播距离。

数据类型: String

MaximumDistance - 最大单向传播距离
10000(默认) | 正实值标量

最大单向传播距离,指定为正实值标量。单位为 m。任何传播距离超过最大单向传播距离的信号都将被忽略。最大传播距离必须大于或等于最大位置间距。

示例: 5000

依赖关系: 要启用此属性,请将 MaximumDistanceSource 属性设置为 "Property"。

数据类型: Float

MaximumNumInputSamplesSource - 最大样本数来源
"Auto"(默认) | "Property"

输入信号最大采样数目的来源,指定为 "Auto" 或 "Property"。将此属性设置为 "Auto" 时,传播模型会自动分配足够的内存来缓冲输入信号。将此属性设置为 "Property" 时,将使用 MaximumNumInputSamples 属性指定输入信号的最大采样个数。任何长度超过该值的输入信号都会被截断。

示例: "Property"

依赖关系: 要启用此属性,请将 MaximumDistanceSource 属性设置为 "Property"。

数据类型: String

MaximumNumInputSamples - 最大输入信号样本数
100(默认) | 正整数

输入信号的最大采样数目,以正整数表示。输入信号是步进方法的第一个参数,仅次于系统对象本身。输入信号的大小是输入矩阵的行数。任何长于这个数字的输入信号都会被截断。要完整处理信号,必须确保该属性值大于输入信号的最大长度。 波形生成系统对象决定最大信号大小:

  • 对于任何波形,如果波形的 OutputFormat 属性设置为 "Samples",则最大信号长度为 NumSamples 属性中指定的值;

  • 对于脉冲波形,如果输出格式设置为 "Pulses",则信号长度为最小脉冲重复频率、脉冲数和采样率的乘积;

  • 对于连续波形,如果输出格式设置为 "Sweeps",则信号长度为扫描时间、扫描次数和采样率的乘积。

示例: 2048

依赖关系: 要启用此属性,请将 MaximumNumInputSamplesSource 属性设置为 "Property"。

数据类型: Float

# 方法

函数 说明
reset 重置相位宽带自由空间系统对象的状态
step 利用自由空间信道模型将宽带信号从一点传播到另一点
release 允许更改系统对象属性值

# 示例

宽带信号的自由空间传播

在传播速度恒定的水下声学环境中传播带有三种音调的宽带信号。您可以将此环境模拟为自由空间。中心频率为 100 kHz,三个音调的频率分别为 75 kHz、100 kHz 和 125 kHz。绘制原始信号和传播信号的频谱图,观察多普勒效应。采样频率为 100 kHz。

using TyPhasedArray
using TySignalProcessing
using TyPlot
c = 1500
fc = 100e3
fs = 100e3
relfreqs = [-25000 0 25000]

设置静止雷达和移动目标,计算预期多普勒。

rpos = [0; 0; 0]
rvel = [0; 0; 0]
tpos = [30 / fs * c; 0; 0]
tvel = [45; 0; 0]
dop = -tvel[1] ./ (c ./ (relfreqs .+ fc))

创建信号并将信号传播到移动目标。

t = collect((0:199) / fs)
x = sum(exp.(1im * 2 * pi * t * relfreqs); dims=2)
channel = phased_WidebandFreeSpace(;
    PropagationSpeed=c, OperatingFrequency=fc, SampleRate=fs
)
y = step(channel, x, rpos, tpos, rvel, tvel)

绘制原始信号和多普勒频移信号的光谱图。

Pxx, F = periodogram(x, rectwin(size(x, 1)), 1024, fs, "centered"; nargout=2)
plot(F / 1000, 10 * log10.(Pxx))
hold("on")
grid("on")
xlabel("Frequency (kHz)")
ylabel("Power/Frequency (dB/Hz)")
Pyy, F = periodogram(y, rectwin(size(x, 1)), 1024, fs, "centered"; nargout=2)
plot(F / 1000, 10 * log10.(Pyy))
xlabel("Frequency (kHz)")
ylabel("Power/Frequency (dB/Hz)")
grid("on")
ylim([-300 0])
legend("original", "propagated")

对于这个宽带信号,可以看到多普勒频移的幅度随频率的增加而增加。相比之下,对于窄带信号,多普勒频移在整个频带内保持不变。

# 更多

自由空间时延和路径损耗

当起点和终点相对静止时,可以将自由空间信道的输出信号写成 。τ 是信号延迟, 是自由空间路径损耗。延迟 τ 取值为 R/c,其中 R 是传播距离,c 是传播速度。自由空间路径损耗的计算公式为:

其中,λ 是信号波长。 该公式假定目标位于发射元件或阵列的远场。在近场,自由空间路径损耗公式无效,可能导致损耗小于 1,相当于信号增益。因此,对于 的范围值,损耗被设为一。 当原点和终点发生相对运动时,处理过程也会引入多普勒频移。单向传播的频移为 ,双向传播的频移为 。v 量是目的地相对于原点的相对速度。

子带频率处理

子带处理将宽带信号分解成多个子带,并对每个子带中的信号进行窄带处理。所有子带信号相加形成输出信号。

使用宽带频率系统对象或块时,可指定分解宽带信号的子带数 。子带中心频率和宽度将根据总带宽和子带数量自动计算。总频带以载波或工作频率 为中心。总带宽由采样率 确定。子频带宽度为 。子带的中心频率为:

运行某些系统对象时,可以将子带中心频率作为输出结果。返回的子带频率与离散傅立叶变换的排序一致。高于载波的频率首先出现,其次是低于载波的频率。

# 参考文献

[1] Proakis, J. Digital Communications. New York: McGraw-Hill, 2001.

[2] Skolnik, M. Introduction to Radar Systems, 3rd Ed. New York: McGraw-Hill, 2001.

# 另请参阅

fspl | phased_FreeSpace