小白学Pytorch系列--Torch API (8)
创始人
2025-05-30 13:26:28
0

小白学Pytorch系列–Torch API (9)

Spectral Ops

stft

短时傅立叶变换 (STFT)。
STFT就是以滑动窗口的形式,在不同窗口内部做FFT。
得到结果为spectrum,横坐标时间,纵坐标频率,数值大小表示能量深度。


hop_length: 帧移(160)
winlength: 窗口长度(如果小于n_fft,那么按中间对称进行相乘,e.g. fft:[1,2,3,4], win:[1,1],input:[1,2,3,4]*[0,1,1,0])
center: False(直接做fft,droplast) 如果是True:按照对称性补对称的数,

x = torch.Tensor([[1,6,8,5,7,9,11]])
print(x.shape, x)y = torch.stft(x,n_fft=4,hop_length=2,win_length=4,window=torch.Tensor([1,1,0,0]),center=True)
print(y, y.shape)
import torch
from torch.autograd import Variable
from torch.nn.functional import conv1d
import matplotlib.pyplot as plt
from scipy.signal.windows import hann
import numpy as npstride = 512y = np.sin(2*np.pi*50*np.linspace(0,10,2048))+np.sin(2*np.pi*20*np.linspace(0,10,2048)) + np.random.normal(scale=1,size=2048)def create_filters(d,k,low=50,high=6000):x = np.arange(0, d, 1)wsin = np.empty((k,1,d), dtype=np.float32)wcos = np.empty((k,1,d), dtype=np.float32)start_freq = lowend_freq = high# num_cycles = start_freq*d/44000.# scaling_ind = np.log(end_freq/start_freq)/kwindow_mask = hann(2048, sym=False) # same as 0.5-0.5*np.cos(2*np.pi*x/(k))for ind in range(k):wsin[ind,0,:] = window_mask*np.sin(2*np.pi*ind/k*x)wcos[ind,0,:] = window_mask*np.cos(2*np.pi*ind/k*x)return wsin,wcoswsin, wcos = create_filters(2048,2048)wsin_var = Variable(torch.from_numpy(wsin), requires_grad=False)
wcos_var = Variable(torch.from_numpy(wcos),requires_grad=False)network_input = torch.from_numpy(y).float()
network_input = network_input.reshape(1,-1)zx = np.sqrt(conv1d(network_input[:,None,:], wsin_var, stride=stride).pow(2)+conv1d(network_input[:,None,:], wcos_var, stride=stride).pow(2))
pytorch_Xs = zx.cpu().numpy()
plt.plot(pytorch_Xs[0,:1025,0])

istft

短时间傅里叶逆变换。这应该是stft()的逆函数。

bartlett_window

Bartlett窗口功能。

blackman_window

blackman窗口功能。

hamming_window

Hamming窗口功能

hann_window

Hann窗口功能

kaiser_window

使用窗口长度window_length和形状参数beta计算Kaiser窗口。

相关内容

热门资讯

武汉摩尔影城安卓系统APP,便... 你有没有想过,一部手机就能带你走进电影的世界,享受大屏幕带来的震撼?今天,就让我带你详细了解武汉摩尔...
联想刷安卓p系统,畅享智能新体... 你有没有发现,最近联想的安卓P系统刷机热潮可是席卷了整个互联网圈呢!这不,我就迫不及待地来和你聊聊这...
mac从安卓系统改成双系统,双... 你有没有想过,你的Mac电脑从安卓系统改成双系统后,生活会有哪些翻天覆地的变化呢?想象一边是流畅的苹...
kindke安卓系统激活码,激... 亲爱的读者,你是否在寻找一款能够让你手机焕然一新的操作系统?如果你是安卓用户,那么今天我要给你带来一...
萤石云监控安卓系统,安卓系统下... 你有没有想过,家里的安全可以随时随地掌握在手中?现在,有了萤石云监控安卓系统,这不再是梦想啦!想象无...
手机安卓系统会不会爆炸,系统升... 手机安卓系统会不会爆炸——一场关于安全的探讨在当今这个数字化的世界里,手机已经成为我们生活中不可或缺...
安卓系统双清详图解,恢复出厂设... 你有没有遇到过手机卡顿、运行缓慢的问题?别急,今天就来给你详细解析一下安卓系统的“双清”操作,让你的...
召唤抽奖系统安卓直装,轻松体验... 你知道吗?现在市面上有一种特别火的玩意儿,那就是召唤抽奖系统安卓直装。是不是听起来就让人心动不已?没...
系统工具箱安卓2.3,深度解析... 你有没有发现,手机里的那些小工具,有时候就像是个神奇的百宝箱呢?今天,就让我带你一探究竟,看看安卓2...
华硕平板安卓刷机系统,解锁性能... 亲爱的数码爱好者们,你是否曾为你的华硕平板安卓系统感到厌倦,想要给它来一次焕然一新的体验呢?那就跟着...
鸿蒙系统与安卓怎么区别,差异解... 你有没有发现,最近手机圈子里有个大热门,那就是鸿蒙系统和安卓系统的区别。这两位“系统大侠”各有各的绝...
红帽系统怎么刷回安卓,红帽系统... 你是不是也和我一样,对红帽系统刷回安卓充满了好奇?别急,今天就来给你详细揭秘这个过程,让你轻松上手,...
ios安卓联想三系统,全面解析... 你有没有发现,现在的手机市场真是热闹非凡呢!各种操作系统轮番登场,让人眼花缭乱。今天,就让我带你来聊...
安卓调用系统相机并存盘,And... 你有没有想过,手机里的照片和视频,是怎么被我们随手拍下,又神奇地存到手机里的呢?今天,就让我带你一探...
安卓4.0原生系统下,引领智能... 你有没有发现,安卓4.0原生系统下,手机的使用体验简直就像打开了新世界的大门?今天,就让我带你一起探...
安卓c13系统,创新功能与性能... 你知道吗?最近安卓系统又来了一次大更新,那就是安卓C13系统。这可不是一个小打小闹的更新,而是带来了...
鸿蒙3.0脱离安卓系统,开启全... 你知道吗?最近科技圈可是炸开了锅,因为华为的新操作系统鸿蒙3.0横空出世,竟然宣布要脱离安卓系统,这...
安卓怎么应对苹果系统,安卓系统... 你知道吗?在智能手机的世界里,安卓和苹果就像是一对相爱相杀的恋人。安卓系统,这位多才多艺的“大众情人...
安卓系统如何开橱窗教程,安卓系... 你有没有想过,你的安卓手机里也能开个橱窗,展示那些你心爱的宝贝?没错,就是那种可以随时翻看、随时分享...
安卓系统软件APK,深入探究安... 你有没有发现,手机里的那些好玩的应用,其实都是靠一个小小的文件来“住”进去的?没错,就是安卓系统里的...