栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

S变换的Python代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

S变换的Python代码

S变换的Python代码
    • S变换简介
    • S变换Python程序

S变换简介

S变换,又称为Stockwell变换,由R. G. Stockwell于1996年提出。具体的定义如下:

S变换在傅里叶域的表示形式为:

离散的S变换为:

S变换克服了短时傅里叶变换固定窗函数宽度的缺陷,采用了一个随频率变化的高斯窗函数。它的窗函数宽度与频率的倒数成正比,高频时用窄窗,低频用宽窗。所以具有多分辨率分析的思想,也可以看作相位校正的小波变换。

S变换Python程序
def st(t,s, freqlow, freqhigh, alpha):
    TimeLen=len(t)
    dt=t[1]-t[0]
    nLevel=int((freqhigh-freqlow)/alpha)+1
    fre=np.linspace(freqlow,freqhigh,nLevel)
    wcoefs=np.zeros((nLevel,TimeLen),dtype=complex)
    temp = np.zeros((1, TimeLen),dtype=complex)
    sigma_f = np.power(fre,-1)
    for m in range(0,nLevel):
        f=fre[m]
        for n in range(0,TimeLen):
            Gauss_st= (1/(math.sqrt(2*math.pi)*sigma_f[m]))*np.exp(-0.5*(np.power(n*dt-t,2)/(sigma_f[m]*sigma_f[m])))*np.exp(-1.0j*2*math.pi*f*t)
            temp[0,n]=np.sum(np.dot(s, Gauss_st))*dt
        wcoefs[[m],:]=temp
    return wcoefs

R. G. Stockwell, L. Mansinha, and R. Lowe, “Localization of the
complex spectrum: the S transform,” IEEE transactions on signal
processing, vol. 44, no. 4, pp. 998–1001, 1996.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998547.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号