2026a

# aictest


信号子空间的维数

函数库: TyPhasedArray

# 语法

nsig = aictest(x)
nsig = aictest(x, fbFlag = Bool)

# 说明

nsig = aictest(x) 估计出现在数据快照 X 中的信号数量 nsig,该信号撞击阵列中的传感器。估计器使用 Akaike 信息准则检验(AIC)。输入自变量 X 是一个复值矩阵,包含每个传感器的数据样本的时间序列。每一行对应于所有传感器的单个时间样本。 示例


nsig = aictest(x; fbFlag = Bool) 估计信号的数量。当 fbFlag 为 true 时,在估计之前,它对从数据快照 X 构建的样本协方差矩阵执行前向-后向平均,不使用时,默认为 false。该语法可以使用先前语法中的任何输入参数。 示例

# 示例

两个到达信号的信号子空间维数估计
using TyPhasedArray
x = [
    -0.562699501890178-1.50469516851592im -0.901156235160709-1.50391401645166im 0.0460232944370394-1.20539231303593im -0.419515185807813-1.24092750894443im 0.153071550454800-0.579088267399152im -0.118888023838041-0.656159576655399im -0.324078641532833-0.448917055636545im -0.296612691670965-0.722824574342990im -0.717903872362539-0.134501978642821im -0.978461096926241-0.570898868478867im
    1.08042643945017+0.765107603988020im 0.799653879711882+1.29503607585639im 0.319235151444561+1.10717959814878im 0.554045001239133+1.08468791676272im 0.504553003462672+0.886689788729234im -0.0992256681050596+0.382383347346088im 0.762762710339150+0.513167866991256im 0.878067496176355-0.102259129975012im 1.06993480024123+0.315893715566721im 1.17740255440710+0.418135977952725im
    1.48885254158875-0.418553451466327im 1.68081428355248-0.622577669097296im 1.44162293721290-0.0304675054258094im 1.21478983797016-0.201358501926935im 0.901138947169119+0.151874319053217im 0.555731975936396+0.211853733604744im 0.323996148138227-0.0701032443267208im 0.590801414489426-0.355227439250223im 0.398628709840067-0.472049835062124im 0.369635628758787-0.762389778999274im
    -0.124409150904739+1.67070670480019im -0.469108444650857+1.05768135106332im -0.582404630992844+0.792418056786482im -0.679479821055238+1.11651913768506im -0.262898542141380+0.363236701036288im -0.0621445178498329+0.436883439753909im -0.0167502788834857+0.440334063272771im 0.133186389414005+0.379136309434708im 0.382867164110973+1.12509149221423im 0.694368246832286+1.25841702308253im
    -0.324974948788003+1.67786887033419im -0.595838049488761+1.21373900756025im -0.821958660497545+1.45390036879669im -0.901058957847534+0.950087471782592im -0.368620670778749+0.970560323420812im -0.608209052452978+0.640793651297178im -0.108742304991961+0.166961130823459im 0.0479723035912730+0.581583947716112im 0.668098310508094+1.06427794392301im 0.205097985546106+1.13985055261314im
    0.229098982399817-1.22225462513963im 0.734388764322914-1.33416524629516im 1.03128487190036-0.802909419342225im 0.669769823564560-1.00901289027257im 0.831788244223212-0.330547799978988im -0.139999094325346-0.570992840400460im 0.0910738596015308-0.585146798480989im -0.197948252753992-0.615217897556786im -0.295129393123069-1.38240753919348im -0.589596578838880-1.17868350637151im
    0.250259125470768-1.39183628040872im 0.370771941488060-1.08601775143113im 0.594395660355799-1.09814929644950im 0.494903152301399-1.19457773348510im 0.323608972358580-0.395736612759776im 0.485848531048556-0.287004476609360im 0.317421887728690-0.322572696833538im -0.190426559117162-0.935964290371964im 0.0175596130949497-0.930974234616961im -0.326444759835976-1.20122228722465im
    -0.292705955943118+1.47959486213515im -0.659331828002989+1.12622111945617im -0.707265049941842+0.685533947426163im -0.780031081338809+0.875291880209537im -0.542032010782997+0.580083870398067im -0.315491805972014+0.715260979691110im -0.0466637002851236+0.467935116285991im 0.194976222191796+0.956258730024365im 0.203200092148188+0.798395476112311im 0.621641390057216+1.19046725535584im
    -1.56970166723515+0.137228523300565im -1.17180052837705-0.330227733920320im -2.02312202998015-0.206434915867580im -1.18519233083042-0.0626276929056947im -0.799495546633650-0.217297844892660im -0.588797455238784+0.0887247383316481im -0.386088676605952+0.123005075885826im -0.522389164905044+0.542559301910880im -0.103520684674674+0.502746516898238im -0.636739494627218+1.30993136351424im
    -0.939945585054255+0.835994854120930im -1.28403775988586+0.477897900467110im -1.45466658209647+0.838070596678305im -0.946144604361060+0.368877914524735im -1.14189023427480+0.453558973686590im -0.586009382630419+0.323171630469816im -0.740509903154913+0.560582500332363im -0.211438286701515+0.765360494188774im -0.585184599094766+0.769566029602739im -0.648699105841478+1.02502910024716im
]
Nsig = aictest(x)
Nsig = 9

使用向前向后平滑选项。

Nsig1 = aictest(x, fbFlag = true)
Nsig1 = 2
估计两个到达信号的信号子空间维数

构建一个数据快照,记录从 0° 和 -25° 方位角到达的两个平面波,这些波在一个由 10 个元件组成的、间隔半个波长的均匀线阵中接收。平面波的仰角均为 0°。假设信号在存在时间和空间上都是高斯白噪声的情况下到达。对于每个信号,信噪比为 5 dB。采样 300 次以构建一个 300x10 的数据快照。然后,使用 aictest 解决信号数量的问题。

using TyPhasedArray
using TySignalProcessing

N = 10
d = 0.5
elementPos = (0:(N - 1))' * d
angles = [0 -25]
x = sensorsig(elementPos, 300, angles, db2pow(-5))
nsig = aictest(x)
nsig = 2

结果表明,信号数量为 2,符合预期。

# 输入参数

X - 数据快照
K × N 复值矩阵

数据快照,指定为 K × N 复值矩阵。快照是在每个传感器上同时采集的一系列时间样本。在该矩阵中,K 表示数据的时间样本的数量,而 N 表示传感器元件的数量。

示例: [–0.1211+1.2549im 0.1415+1.6114im 0.8932+0.9765im]

复数支持:

# 输出参数

nsig - 信号子空间的维数
非负整数

信号子空间的维数,以非负整数形式返回。信号子空间的维数是数据中信号的数量。

# 更多

估计来源数量
非负整数

AIC 和 MDL 测试

诸如 MUSIC 和 ESPRIT 之类的测向算法需要知道撞击在阵列上的信号源的数量,或者等效地,信号子空间的维数 d。Akaike 信息准则(AIC)和最小描述长度(MDL)公式是用于获得该维度的两个常用估计量。两种估计器都假设,除了信号之外,数据还包含空间和时间上的高斯白随机噪声。找到源的数量相当于找到采样的空间协方差矩阵的最小特征值的多重性。使用从数据快照构建的样本空间协方差矩阵来代替实际协方差矩阵。

两个估计器的要求是信号子空间的维数小于传感器的数量 N,并且快照中的时间样本的数量 K 远大于 N。

当采用前向-后向平均来构造空间协方差矩阵时,存在每个估计器的变体。前向-后向平均对于某些源彼此高度相关的情况是有用的。在这种情况下,空间协方差矩阵可能是病态的。前向-后向平均只能用于某些类型的对称阵列,称为中心对称阵列。然后,可以使用 从样本空间协方差矩阵 S 构造前向-后向协方差矩阵,其中 J 是交换矩阵。交换矩阵将数组元素映射到它们的对称对应元素中。对于线性阵列,它将是从左到右翻转的单位矩阵。

所有的估计都是基于一个成本函数

  • AIC
  • 前向-后向平均协方差矩阵的 AIC
  • MDL
  • 前向-后向平均协方差矩阵的 MDL

# 参考文献

[1] Van Trees, H.L. Optimum Array Processing. New York: Wiley-Interscience, 2002.

# 另请参阅

spsmooth