📜  Tensorflow.js tf.signal.stft()函数

📅  最后修改于: 2022-05-13 01:56:19.235000             🧑  作者: Mango

Tensorflow.js tf.signal.stft()函数

Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。它还可以帮助开发人员用 JavaScript 语言开发 ML 模型,并且可以直接在浏览器或 Node.js 中使用 ML。

tf.signal.stft()函数用于计算信号的短时傅里叶变换。

语法

tf.signal.stft (signal, frameLength, frameStep, 
                     fftLength?, windowFn?) 

参数

  • 信号:一维实值张量。
  • frameLength:样本的窗口长度。
  • frameStep:要步进的样本数。
  • fftLength: FFT 的大小。
  • windowFn:采用窗口长度的可调用对象。

返回值:返回 tf.Tensor。

示例 1:

Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
const input = tf.tensor1d([3, 4, 6])
tf.signal.stft(input, 3, 1).print();


Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
const input = tf.tensor1d([1, 2, 3, 4, 5, 6, 7])
tf.signal.stft(input, 3, 1).print();


输出:

Tensor
     [[4 + 0j, 0 + -4j, -4 + 0j],]

示例 2:

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
const input = tf.tensor1d([1, 2, 3, 4, 5, 6, 7])
tf.signal.stft(input, 3, 1).print();

输出:

Tensor
    [[2 + 0j, 0 + -2j, -2 + 0j],
     [3 + 0j, 0 + -3j, -3 + 0j],
     [4 + 0j, 0 + -4j, -4 + 0j],
     [5 + 0j, 0 + -5j, -5 + 0j],
     [6 + 0j, 0 + -6j, -6 + 0j]]

参考: https://js.tensorflow.org/api/latest/#signal.stft