Engee 文档

[医]光谱

信号和频谱图的频谱不对称性。

库::`工程师`

语法

函数调用

  • spectralSkewness缧___;<参数:out>=:情节) -绘制光谱不对称。

    • 如果输入信号在时域中,则谱不对称图被绘制为时间的函数。

    • 如果输入信号在频域中,则根据帧号绘制频谱不对称图。

争论

输入参数

# x — 输入信号

+ 列向量 | 矩阵

Details

指定为矢量或矩阵的输入信号。 口译笔译 x 功能取决于形式 [参数:f].

数据类型

漂浮物32, 漂浮64</无翻译>

# f 是 采样频率或频率矢量(Hz)

+ 标量,标量 | 向量资料

Details

以Hz为单位的采样频率或频率矢量,分别指定为标量或矢量。 口译笔译 [参数:x] 功能取决于形式 f:

  • 如果 f -标量, [参数:x] 它被解释为时域中的信号,并且 f -作为采样率。 在这种情况下 [参数:x] 必须是实向量或矩阵。 如果 [参数:x] 设置为矩阵,列被解释为单独的通道。

  • 如果 f -向量, [参数:x] 被解释为频域中的信号,并且 f -以Hz为单位的频率如何对应于字符串 [参数:x]. 在这种情况下 [参数:x] 必须是一个真正的大小数组 ,在哪里 -指定频率下的频谱值数目 f, -个别光谱的数目,以及 -通道数。

  • 行数 [参数:x], ,必须等于元素个数 f.

数据类型

漂浮物32, 漂浮64</无翻译>

名称-值输入参数

将可选参数对指定为 名称,值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 名称-值参数应该放在其他参数之后,但对的顺序无关紧要。

使用逗号分隔名称和值,以及 姓名 把它放在引号里。

以下名称值参数适用于 [参数:x] -时域中的信号。 如果 [参数:x] -信号在频域中,诸如"名称-值"之类的参数被忽略。

# 窗口 — 时域中使用的窗口

+ rectwin(圆形(f*0.03)) (默认情况下)| 向量资料

Details

时域中使用的窗口,定义为实向量。 矢量元素的数量必须在范围内 [1,尺寸(<参数:x>>,1)]. 矢量元素的数量也必须更大。 [参数:超长].

数据类型

漂浮物32, 漂浮64</无翻译>

# 超长 — 相邻窗口之间重叠的样本数

+ 圆(f*0.02) (默认情况下)| 非负标量

Details

相邻窗口之间重叠的样本数,设置为范围内的整数 [0,大小(<参数:窗口>>,1)).

数据类型

漂浮物32, 漂浮64</无翻译>

# FFTLength — DFT中的元素数

+ numel(窗口) (默认情况下)| 正整数标量

Details

用于计算窗口输入样本的DFT的元素数,设置为正整数标量。 如果没有给出参数, N.长度,长度 默认情况下,它等于 [参数:窗口].

数据类型

漂浮物32, 漂浮64</无翻译>

# 范围 — 频率范围(Hz)

+ [0,f/2] (默认情况下)| 双元素向量是一个字符串

Details

以Hz为单位的频率范围,定义为一个双元向量,是一串范围内不断增加的实数值 [0,[参数:f]/2].

数据类型

漂浮物32, 漂浮64</无翻译>

# 光谱类型 — 频谱类型

+ "权力" (默认情况下)| "幅度"

Details

指定为的频谱类型 "权力""幅度":

  • "权力" -为单侧功率谱计算频谱不对称性;

  • "幅度" -为单侧振幅谱计算光谱不对称性。

数据类型

字符串</无翻译>

# — 输出数据的类型

+ :数据 (默认情况下)| :剧情

Details

输出数据的类型:

  • :数据 -函数返回数据;

  • :剧情 -函数返回一个图形。

输出参数

# 歪斜 — 光谱不对称

+ 标量,标量 | 向量资料 | 矩阵

Details

谱不对称性,作为标量、矢量或矩阵返回。 每行 偏斜度 对应于窗口的光谱不对称性 [参数:x]. 每列 偏斜度 对应一个独立的信道。

# 传播 — 光谱长度

+ 标量,标量 | 向量资料 | 矩阵

Details

作为标量、矢量或矩阵返回的频谱长度。 每行 传播;传播 对应于窗口的光谱范围 [参数:x]. 每列 传播;传播 对应一个独立的信道。

# 质心 — 光谱质心

+ 标量,标量 | 向量资料 | 矩阵

Details

作为标量、矢量或矩阵返回的光谱质心。 每行 质心;质心 对应于窗口的光谱质心 [参数:x]. 每列 质心;质心 对应一个独立的信道。

例子:

时域信号的频谱不对称性

Details

让我们创建一个具有白高斯噪声的FM信号,并使用默认参数计算不对称性。

import EngeeDSP.Functions: chirp, randn, spectralSkewness

fs = 1000
t = (0:1/fs:10)
f1 = 300
f2 = 400
x = chirp(t, f1, 10, f2) + randn(length(t), 1)

skewness = spectralSkewness(x, fs)

让我们绘制光谱不对称对时间的依赖性。

spectralSkewness(x, fs, out=:plot)

spectralSkewness 1

([-0.41584882984851185, -0.5170941305241857, -0.564347048766862, -0.20108069594499398, 0.3892427522273517, 0.1463327742296114, -0.0959324772116146, -0.4664806868967973, -0.3923963888464158, 0.01796837401846083  …  -0.853109771702925, -1.0019652539560882, -1.7630883535558604, -1.3928510876449312, -1.4782180105459737, -1.1673132825372987, -1.3108237989573261, -1.2622253537332102, -1.1392100073297082, -0.9096598411870619], [137.66250718402654, 127.45803470472126, 128.62674026296034, 129.186501587399, 127.21238231874466, 135.27228568052246, 114.29332508288279, 113.20360160889103, 129.60154758930983, 137.04900834348766  …  113.02519942099786, 138.35361563650906, 110.54777802801922, 115.82292236038828, 113.2157408305658, 124.01480122917285, 126.18012726969127, 136.32543128218506, 152.2965330188322, 151.53661288017915], [232.54635888820377, 244.52603810295574, 263.6019775735153, 271.04043285763873, 267.14685957025756, 275.70362962545187, 270.28792339138397, 255.93688502474646, 268.74572871366905, 274.7291310293522  …  320.08685981196544, 317.87764929627133, 349.6998379422504, 332.2649969853749, 344.80178074508837, 339.5576123782947, 326.9848093500554, 318.2941806082642, 311.10184808692037, 296.1414058613318], Plot{Plots.PlotlyJSBackend() n=1})

频域信号的频谱不对称性

Details

让我们创建一个带有白高斯噪声的LFM信号,然后使用函数计算频谱图 stft.

import EngeeDSP.Functions: chirp, randn, stft

fs = 1000
t = (0:1/fs:10)'
f1 = 300
f2 = 400
x = chirp(t, f1, 10, f2) + randn(size(t)...)

s, f = stft(x, fs, "FrequencyRange", "onesided")
s = abs.(s).^2

计算频谱图随时间的不对称性。

import EngeeDSP.Functions: spectralSkewness

skewness = spectralSkewness(s, f)

让我们绘制频谱不对称对帧号的依赖性。

spectralSkewness(s, f, out=:plot)

spectralSkewness 2

([-0.8359982931981216, -0.5281233777476992, -0.19003913028541924, -0.20010790649073676, -0.4518215729934591, -0.609505728606324, -0.35104046557619795, -0.44243240701247855, -0.5058598909702079, -0.24334848229314177  …  -0.7652817638675459, -0.29454858120347277, -1.0382786281369654, -0.9085777404108826, -0.3647202399233729, -0.4806516533252003, -0.025478934806172537, -0.3634101240910118, -0.2187538302761354, -0.34903020983974686], [107.17221169316268, 108.08710344363071, 121.73703765712227, 127.2733133823049, 113.45452035995662, 101.935212957374, 118.00182469240174, 132.80689180278688, 115.59164488540159, 103.25800480469758  …  130.74712793061693, 140.8136649111479, 120.8114483851076, 126.27406132641096, 143.9703528142779, 132.1095322961261, 137.9399485601707, 131.12441824862063, 144.70449053384257, 164.38033907467928], [292.7910624802788, 275.40970236507655, 244.1866329141813, 254.4473178753846, 253.6161996745867, 275.82905121269937, 272.98722964342187, 226.80470629232215, 236.10533279943394, 239.64514680772058  …  321.87682998876653, 278.83384299634093, 314.86016584163775, 305.56640901528647, 280.8820142043897, 288.72754980225983, 261.32008807500637, 273.0967688666202, 243.65572527972142, 256.13120365040834], Plot{Plots.PlotlyJSBackend() n=1})

指定标准参数以外的参数

Details

让我们创建一个带有白高斯噪声的FM信号。

import EngeeDSP.Functions: chirp, randn

fs = 1000
t = (0:1/fs:10)
f1 = 300
f2 = 400
x = chirp(t, f1, 10, f2) + randn(length(t), 1)

让我们计算功率谱随时间的不对称性。 计算持续时间为 50 有重叠的ms 25 ms.我们使用的范围从 62.5 Hz至 财政司司长/2 来计算所述不对称性。

import EngeeDSP.Functions: spectralSkewness, hamming

skewness = spectralSkewness(x, fs,
                      "Window", hamming(round(Int, 0.05*fs)),
                      "OverlapLength", round(Int, 0.025*fs),
                      "Range", [62.5, fs/2])

让我们绘制不对称对时间的依赖性。

spectralSkewness(x, fs,
              "Window", hamming(round(Int, 0.05*fs)),
              "OverlapLength", round(Int, 0.025*fs),
              "Range", [62.5, fs/2],
              out=:plot)

spectralSkewness 3

([-0.15358670202573538, -0.10674901633061454, -1.1800361499235466, -0.004310190890005931, -0.6333699707463635, -0.23684625667693265, -0.43005228049825217, -0.8150523711899812, 0.03350102205262587, -0.41422126904743767  …  -0.005625970564356666, -0.6911434383476336, -1.3456964659853543, -1.710416093386148, -0.7442772354709529, 0.17283689627442853, -1.180419434083617, -1.440520104825559, -1.2583907091166355, -1.2842556849576383], [110.53667066154323, 81.12551758487213, 76.00441845155343, 97.84638979421082, 73.30917024731693, 106.73269627867673, 86.62588932286765, 96.51841858083655, 103.85455951559621, 81.25600340707545  …  130.74893548874454, 125.17411282084814, 105.79471192625837, 82.20506434500429, 112.9987914008663, 118.82027872700775, 91.5641846600464, 86.79996258356996, 97.9073613532983, 97.76881671452485], [288.3573645373158, 301.453120754697, 281.81310005697344, 266.79710402702926, 294.40582264869937, 251.81256307415043, 296.03366939785593, 326.86271852855765, 268.5491461338446, 302.8114318001578  …  265.2072744080883, 317.3863334548424, 333.8375132973837, 354.45727064830913, 338.77406994099954, 266.7769262524174, 342.5369659108678, 348.9119484862638, 341.65454501607263, 342.4239901408415], Plot{Plots.PlotlyJSBackend() n=1})

算法

光谱不对称性的计算方法见[1]:

哪里

  • -与bin相对应的以Hz为单位的频率 ;

  • -bin中的光谱值 ;

  • -bins中的波段边界,用于计算光谱不对称性;

  • -光谱质心;

  • -光谱范围。

文学作品

  1. Peeters,G."在CUIDADO项目中用于声音描述(相似性和分类)的一大组音频特征。"技术报告;IRCAM:法国巴黎,2004年。