# phased_WidebandFreeSpace
宽带自由空间传播
函数库: TyPhasedArray
# 描述
系统对象模拟宽带信号在自由空间环境中从一点到另一点的传播。系统对象会对输入信号应用与范围相关的时间延迟、增益调整和相移。当信号源或目的地移动时,该对象会考虑多普勒频移。自由空间环境是一种无边界介质,其信号传播速度与位置和方向无关。信号沿直线从信号源传播到目的地。例如,您可以使用此对象来模拟信号从雷达到目标的双向传播。
对于非极化信号,系统对象可让您将信号从单点传播到多点,或从多点传播到单点。不支持多点到多点的传播。
计算自由空间中的传播信号:
定义并设置宽带自由空间环境;
根据系统对象的属性调用 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")(默认) | 正标量
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")
对于这个宽带信号,可以看到多普勒频移的幅度随频率的增加而增加。相比之下,对于窄带信号,多普勒频移在整个频带内保持不变。
# 更多
自由空间时延和路径损耗
当起点和终点相对静止时,可以将自由空间信道的输出信号写成
其中,λ 是信号波长。
该公式假定目标位于发射元件或阵列的远场。在近场,自由空间路径损耗公式无效,可能导致损耗小于 1,相当于信号增益。因此,对于
子带频率处理
子带处理将宽带信号分解成多个子带,并对每个子带中的信号进行窄带处理。所有子带信号相加形成输出信号。
使用宽带频率系统对象或块时,可指定分解宽带信号的子带数
运行某些系统对象时,可以将子带中心频率作为输出结果。返回的子带频率与离散傅立叶变换的排序一致。高于载波的频率首先出现,其次是低于载波的频率。
# 参考文献
[1] Proakis, J. Digital Communications. New York: McGraw-Hill, 2001.
[2] Skolnik, M. Introduction to Radar Systems, 3rd Ed. New York: McGraw-Hill, 2001.