Engee 文档

研训所

瞬时频率的估计。

库::`工程师`

语法

函数调用

  • [参数:ifq]=instfreq(___,Name=Value) -使用"名称-值"类型的参数为任何先前语法设置附加参数。 您可以指定用于估计瞬时频率的算法,或计算中使用的频率限制。

  • instfreq(___) -显示估计的瞬时频率,没有输出参数。

争论

输入参数

# x — 输入信号

+ 向量资料 | 矩阵

Details

指定为矢量或矩阵的输入信号。 如果 x -矢量,然后 instfreq 将其作为单个通道处理。 如果 x 是一个矩阵,那么该函数为每列独立计算瞬时频率,并在函数的相应列中返回结果 [参数:ifq].

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# 财政司司长 — 抽样调查 费率+ 正标量

Details

的采样率,设置为正标量。 采样率是单位时间内的样本数。 如果时间单位是秒,那么采样频率以Hz表示。

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64</无翻译>

# t — 采样周期

+ 真实向量

Details

指定为实向量的采样周期。

实向量是对应于每个元素的时间瞬间。 [参数:x].

数据类型

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

# tfd -时频分布

+ 矩阵

Details

时间-频率分布,定义为用存储在 fd,以及存储在 td. 仅当选择值时才支持此输入参数。 "tfmoment" 为了论证 [参数:方法].

数据类型

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

# fd,td — 时频分布的频率和时间值

+ 向量资料

Details

时间-频率分布的频率和时间值,指定为向量。 仅当选择值时,才支持这些输入参数。 "tfmoment" 为了论证 [参数:方法].

数据类型

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

名称-值输入参数

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

# 频率限制 — 频率范围

+ [0fs/2] (实际信号的默认值)| [-fs/2fs/2] (复杂信号的默认值)| 二元素向量

Details

指定为以Hz为单位的双元矢量的频率范围。 如果 频率限制 省略,此默认参数为 [0fs/2] 对于真正的信号和 [-fs/2fs/2] 于复杂信号。 仅当选择值时才支持此参数。 "tfmoment" 为了论证 [参数:方法].

数据类型

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

# 方法 — 计算方法

+ "tfmoment" (默认情况下)| "希尔伯特"

Details

指定为的计算方法 "tfmoment""希尔伯特".

  • "tfmoment" -计算瞬时频率作为时频分布的第一条件频谱矩 [参数:x]. 如果 [参数:x] 它具有不均匀采样,该函数将信号插值到均匀网格上以计算瞬时频率。

  • "希尔伯特" -将瞬时频率计算为分析信号相位的导数 [参数:x],使用希尔伯特变换发现。 该方法只接受均匀采样的有效信号,不支持时频分布输入数据。

# — 输出数据的类型

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

Details

输出数据的类型:

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

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

输出参数

# ifq — 瞬时频率

+ 向量资料 | 矩阵

Details

作为与输入数据具有相同维度的矢量或矩阵返回的瞬时频率。

数据类型

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

# t — 频率时间估计

+ 真实向量

Details

频率时间估计值作为实向量返回。

数据类型

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

如果 [参数:t_in], fdtd 如果它们具有单精度,并且输入向量或矩阵具有双精度,则函数以单精度返回结果。 输出数据的类型不依赖于采样频率数据的类型。

例子:

非稳态信号的瞬时频率

Details

我们将产生一个采样频率的信号 5 千赫持续时间 4 几秒钟。 该信号由一组持续时间递减的脉冲组成,由幅度和频率波动的区域分开,具有增加趋势。 让我们绘制信号。

Pkg.add(["SpecialFunctions", "SignalAnalysis"])
using SpecialFunctions, SignalAnalysis
import EngeeDSP.Functions: instfreq

fs = 5000
t = 0:1/fs:4-1/fs

s = besselj.(0, 1000 .* (sin.(2*pi*t.^2/8).^4))

plot(t, s)

instfreq 1

让我们将信号的时间相关频率估计为功率谱图的第一时刻。 让我们建立一个功率频谱图,并在其上叠加一个瞬时频率。

instfreq(s, fs, out=:plot)

instfreq 2

复值信号的瞬时频率

Details

我们将生成一个由正弦变化频率的线性调频组成的复值信号。 的频率对信号进行采样 3 kHz期间 1 秒,并向其添加白高斯噪声。

import EngeeDSP.Functions: instfreq

fs = 3000
t = 0:1/fs:1-1/fs
x = exp.(2im*pi*100*cos.(2*pi*2*t)) + randn(size(t))/100

让我们将信号的时间相关频率估计为功率谱图的第一时刻。 这是函数的唯一方法 instfreq 支持复值信号。 让我们建立一个功率频谱图,并在其上叠加一个瞬时频率。

instfreq(x, t, out=:plot)

instfreq 3

多通道信号的瞬时频率

Details

让我们创建一个频率采样的双通道信号 1 kHz期间 2 秒,由两个通道组成。

  • 在第一信道中,瞬时频率以锯齿波的形式随时间变化,其中最大值落在 75 期的%。

  • 在第二信道中,瞬时频率以具有填充因子的方波的形式随时间变化 30.

import EngeeDSP.Functions: instfreq, sawtooth, square

fs = 1000
t = 0:1/fs:2
x = [sawtooth.(2*pi*t, 0.75) square.(2*pi*t, 30)]

plot(t, x)

instfreq 4

计算并显示瞬时频率。

instfreq(x, t, out=:plot)

instfreq 5

线性调频信号的瞬时频率

Details

我们将生成由高斯函数调制的线性调频信号。 设置采样频率 2 kHz和信号持续时间 4 和。

import EngeeDSP.Functions: instfreq, pspectrum

fs = 2000
t = 0:1/fs:4-1/fs

q = real(chirp(0, 500, 4, fs)) .* exp.(-1.7*(t.-2).^2)

情节(t,q)

instfreq 6

使用函数 [医]扁桃体 具有用于估计信号功率谱的默认设置。 我们使用估计值来计算瞬时频率。

p, f, t = pspectrum(q, fs, "spectrogram")

instfreq(p, f, t, out=:plot)

instfreq 7

正弦波的瞬时频率

Details

我们将产生一个正弦信号采样的频率 1 kHz期间 0.3 秒,并用方差的白高斯噪声增强 1/16. 让我们设置正弦波的频率 200 赫兹。 估计并显示信号的瞬时频率。

import EngeeDSP.Functions: instfreq, pspectrum

fs = 1000
t = 0:1/fs:0.3-1/fs

x = sin.(2*pi*200*t) .+ randn(size(t))/4

instfreq(x, t, out=:plot)

instfreq 8

让我们再次估计信号的瞬时频率,但现在我们使用时频分布作为输入数据。

p, fd, td = pspectrum(x, t, "spectrogram")

instfreq(p, fd, td, out=:plot)

instfreq 9

此外

瞬时频率

Details

非稳态信号的瞬时频率是一个时变参数,它指的是信号中存在的频率的平均值,因为它演变[1],[2]

  • 如果要争论 [参数:方法] 选择的值 "tfmoment",则函数 instfreq 评估瞬时频率作为输入信号的时频分布的第一条件频谱矩。 功能:

    1. 计算频谱图的功率谱 输入信号使用的功能 pspectrum 并使用频谱作为时频分布。

    2. 使用公式估计瞬时频率

  • 如果要争论 [参数:方法] 选择的值 "希尔伯特",则函数 instfreq 将瞬时频率评估为分析输入信号相位的导数。 功能:

    1. 计算分析信号 输入信号使用的功能 希尔伯特 并使用频谱作为时频分布。

    2. 使用公式估计瞬时频率

      哪里 -分析输入信号的相位。

文学作品

  1. Boashash,Boualem。 "估计和解释信号的瞬时频率。 I.基本面。"_PROCEEDINGS OF THE IEEE®_80,no.4(April1992):520-538. https://doi.org/10.1109/5.135376…​;

  2. Boashash,Boualem。 "估计和解释信号的瞬时频率。 II.算法和应用。"_Proceedings OF THE IEEE_80,no.4(May1992):540-568. https://doi.org/10.1109/5.135378…​;