python学习信号频谱分析二

本文深入探讨了Librosa库中的频谱分析函数,包括短时傅里叶变换(stft)、逆短时傅里叶变换(istft)、瞬时频率(ifgram)、恒Q变换(cqt)及其逆变换(icqt),以及如何将复值矩阵分解为幅值和相位(magphase)。通过实际代码示例,展示了如何使用这些函数进行信号处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍librosa的频谱分析函数,如下:

1.stft计算信号的短时傅里叶变换,返回矩阵D,包含幅值np.abs(D)和相位np.angel(D)

win_length:窗长,小于n_fft

import librosa
import numpy as np
import matplotlib.pyplot as py

signal,fs=librosa.load(librosa.util.example_audio_file())
length=len(signal)

#计算短时傅里叶变换
D=librosa.stft(signal)
mag=np.abs(D)
angle=np.angle(D)
py.plot(mag[:,1000])

 

2.istft逆短时傅里叶变换

stft_matrix:是stft的矩阵

construct_signal=librosa.istft(D)

 

3.ifgram:计算瞬时频率,即某一时刻信号的真正频率,瞬时频率是相位的微分,单位为弧度/秒

4.cqt:恒Q变换,与傅里叶变换不同的是,它频谱的横轴频率不是线性的,而是以log2为底的。在音乐中,同一音级的两个八度音,高八度音是低八度音频率的两倍。因此在音乐中,声音是以指数分布的,所以一般采用一种具有相同指数分布规律的时频变换算法——CQT

5.icqt:逆cqt变换

6.magphase:把复值矩阵D分为幅值S和相位P,D=S*P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值