2026a
# nextpow2
2 的更高次幂的指数
函数库: TyMath
# 语法
P = nextpow2(A)
# 说明
P = nextpow2(A) 返回对 A 中每个元素满足
您可以使用 nextpow2 填充传递到 ty_fft 的信号。当信号长度并非 2 次幂时,这样做可以加快 FFT 的运算速度。示例
# 示例
下一个双精度整数值的 2 次幂
定义一个整数值向量,并计算下一个 2 次幂大于这些值的指数。
using TyMath
a = [1 -2 3 -4 5 9 519]
p = nextpow2.(a)
p = 1×7 Matrix{Int64}:
0 1 2 2 3 4 10
计算正的 2 的更高次幂。
np2 = 2 .^ p
np2 = 1×7 Matrix{Int64}:
1 2 4 4 8 16 1024
保留原始输入值的符号。
np2 .* sign.(a)
ans = 1×7 Matrix{Int64}:
1 -2 4 -4 8 16 1024
无符号整数值的 2 更高次幂
定义一个无符号整数向量,并计算 2 的更高次幂大于这些值的指数。
using TyMath
a = UInt32.([1020 4000 32700])
p = nextpow2.(a)
p = 1×3 Matrix{Int64}:
10 12 15
计算下一个大于 a 中值的 2 次幂。
2 .^ p
ans = 1×3 Matrix{Int64}:
1024 4096 32768
带填充的优化 FFT
当信号长度不等于 2 的幂时,使用 nextpow2 函数可提升 ty_fft 的性能。
创建包含 8191 个样本值的一维向量。
using TyMath
rng = MT19937ar(5489)
x = rand(rng, 1, 8191)
计算 2 的更高次幂中大于 8191 的值。
p = nextpow2(8191)
n = 2^p
n = 8192
y = ty_fft(x, n)
# 输入参数
A - 输入值标量 | 向量 | 矩阵 | 多维数组
输入值,指定为标量、向量、矩阵或多维数组。
示例: 15
示例: [-15.123 32.456 63.111]
示例: Int16([-15 32 63])
数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | UInt8 | UInt16 | UInt32 | UInt64
复数支持: 是