主要内容gydF4y2Ba

cqtgydF4y2Ba

常Q非平稳Gabor变换gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

慢性疲劳综合症gydF4y2Ba=cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回常数q变换(CQT),gydF4y2Ba慢性疲劳综合症gydF4y2Ba,输入信号的gydF4y2BaxgydF4y2Ba. 输入信号必须至少有四个样本。gydF4y2Ba

  • 如果gydF4y2BaxgydF4y2Ba那么,这是一个向量gydF4y2BacqtgydF4y2Ba返回一个对应于CQT的矩阵。gydF4y2Ba

  • 如果gydF4y2BaxgydF4y2Ba是一个矩阵gydF4y2BacqtgydF4y2Ba的每个列(独立通道)的CQTgydF4y2BaxgydF4y2Ba。该函数返回与CQT的最大冗余版本相对应的多维数组。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba]=cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回近似的带通中心频率,gydF4y2BafgydF4y2Ba,对应于gydF4y2Ba慢性疲劳综合症gydF4y2Ba.频率从0到1排序,并在周期/样本。gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2Ba换档gydF4y2Ba]=cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回Gabor帧,gydF4y2BaggydF4y2Ba,用于分析gydF4y2BaxgydF4y2Ba频率的变化,gydF4y2Ba换档gydF4y2Ba,在数据行中通带之间的离散傅里叶变换(DFT)箱中gydF4y2Ba慢性疲劳综合症gydF4y2Ba.gydF4y2Ba

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba和gydF4y2Ba换档gydF4y2BaCQT与gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2Ba换档gydF4y2Ba,gydF4y2Ba芬特瓦尔斯gydF4y2Ba]=cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回频率间隔,gydF4y2Ba芬特瓦尔斯gydF4y2Ba,对应于gydF4y2Ba慢性疲劳综合症gydF4y2Ba.的gydF4y2BakgydF4y2Bath元素gydF4y2Ba换档gydF4y2Ba是DFT存储箱中两个gydF4y2Ba((k-1)模块N)gydF4y2Ba和gydF4y2Ba(k模块N)gydF4y2Ba元素gydF4y2Ba芬特瓦尔斯gydF4y2Ba与gydF4y2Bak=0,1,2,…,N-1gydF4y2Ba哪里gydF4y2BaNgydF4y2Ba为频移次数。由于MATLABgydF4y2Ba®gydF4y2Ba索引从1开始,gydF4y2BaF档位(1)gydF4y2Ba包含之间的频率偏移gydF4y2Bafintervals{结束}gydF4y2Ba和gydF4y2Bafintervals{1}gydF4y2Ba,gydF4y2BaF档位(2)gydF4y2Ba包含之间的频率偏移gydF4y2Bafintervals{1}gydF4y2Ba和gydF4y2Bafintervals{2}gydF4y2Ba等等gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2Ba换档gydF4y2Ba,gydF4y2Ba芬特瓦尔斯gydF4y2Ba,gydF4y2BabwgydF4y2Ba]=cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回的带宽,gydF4y2BabwgydF4y2Ba,在频率间隔的DFT箱中,gydF4y2Ba芬特瓦尔斯gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba___gydF4y2Ba]=cqt(gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba返回带有由一个或多个指定的附加选项的CQTgydF4y2Ba名称,值gydF4y2Ba使用前面的任何语法对参数。gydF4y2Ba

例子gydF4y2Ba

cqt(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba在没有输出参数的情况下,绘制当前图形中的CQT。仅矢量输入支持绘制。如果输入信号是真实的,并且万博1manbetxgydF4y2BaFsgydF4y2Ba是采样频率,在该范围内绘制CQTgydF4y2Ba[0,Fs/2]gydF4y2Ba.如果信号复杂,则在该范围内绘制CQT[gydF4y2Ba0, FsgydF4y2Ba).gydF4y2Ba

请注意gydF4y2Ba

为了可视化稀疏CQT,必须对系数进行插值。当发生插值时,绘图可能会有明显的模糊,并且难以解释。如果要绘制CQT,建议使用默认值gydF4y2Ba变形金刚gydF4y2Ba价值gydF4y2Ba“全部”gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

加载一个信号,得到常数q变换。gydF4y2Ba

负载gydF4y2BanoisdoppgydF4y2Bacfs = cqt (noisdopp);gydF4y2Ba

加载实值信号并获得恒定Q变换。返回近似的带通中心频率。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Ba[cfs,f]=cqt(y);gydF4y2Ba

在对数刻度上绘制通过奈奎斯特频率的带通中心频率。gydF4y2Ba

lfreq =长度(f);nyquistBin =地板(lfreq / 2) + 1;情节(f (1: nyquistBin)标题(gydF4y2Ba带通中心频率的gydF4y2Ba)网格gydF4y2Ba在…上gydF4y2Baset(gca,gydF4y2Ba“yscale”gydF4y2Ba,gydF4y2Ba“日志”gydF4y2Ba)gydF4y2Ba

图中包含一个轴。具有标题带通中心频率的轴包含一个line类型的对象。gydF4y2Ba

为了确认连续频率对的比率是恒定的,绘制比率。因为gydF4y2BacqtgydF4y2Ba默认情况下,每倍频程使用12个音箱,比率应相等gydF4y2Ba 2gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba .由于DC和Nyquist频率不是中心频率的几何序列的成员,但包含在频率向量中,因此将它们从图中排除。gydF4y2Ba

图1(f(3:nyquistBin-1)。/f(2:nyquistBin-2))网格图gydF4y2Ba在…上gydF4y2Ba头衔([gydF4y2Ba的比例:gydF4y2Banum2str (2 ^ (1/12))))gydF4y2Ba

图中包含一个轴。标题比率为1.0595的轴包含一个line类型的对象。gydF4y2Ba

获得音频信号的最小冗余恒Q变换。使用Blackman-Harris窗口作为Gabor帧的原型函数。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Badf = Fs /元素个数(y);[cfs, f, g, fshifts fintervals, bw) = cqt (y,gydF4y2Ba“采样频率”gydF4y2BaFs,gydF4y2Ba“TransformType”gydF4y2Ba,gydF4y2Ba“稀疏”gydF4y2Ba,gydF4y2Ba“窗口”gydF4y2Ba,gydF4y2Ba“黑曼哈利斯”gydF4y2Ba);gydF4y2Ba

慢性疲劳综合症gydF4y2Ba是一个单元阵列,其中每个单元对应一个带通中心频率和Gabor帧。绘制与奈奎斯特频率相关的Gabor框架。gydF4y2Ba

如果=长度(f);印第安纳州=地板(低频/ 2)+ 1;gFrame = fftshift (g{印第安纳});fvec = f (ind-1): df: f(印第安纳州+ 1)df;情节(fvec gFrame)包含(gydF4y2Ba的频率(赫兹)gydF4y2Ba)网格gydF4y2Ba在…上gydF4y2Ba标题({[gydF4y2Ba'Gabor帧-频率:'gydF4y2Ba,num2str(f(ind)),gydF4y2Ba“赫兹”gydF4y2Ba]; [gydF4y2Ba“带宽”gydF4y2Banum2str (bw(印第安纳州)* Fs /元素个数(y)),gydF4y2Ba“赫兹”gydF4y2Ba]})gydF4y2Ba

图中包含一个坐标轴。标题为Gabor Frame - Freq: 4096 Hz Bandwidth 412.3283 Hz的轴包含一个类型为line的对象。gydF4y2Ba

在恒Q变换中,将Gabor帧应用于输入信号的离散傅里叶变换,并执行逆离散傅里叶变换。将第k个Gabor帧应用于中指定的第k个频率间隔gydF4y2Ba芬特瓦尔斯gydF4y2Ba.对信号进行离散傅里叶变换并绘制其幅度谱。使用gydF4y2Ba芬特瓦尔斯gydF4y2Ba为了指示傅里叶系数是哪个,应用了与奈奎斯特频率相关联的Gabor帧。gydF4y2Ba

yDFT=fft(y);lyDFT=长度(yDFT);绘图(Fs*(0:lyDFT-1)/lyDFT,abs(yDFT))网格gydF4y2Ba在…上gydF4y2BafIntervalGabor=fintervals{ind};mx=最大值(abs(yDFT));持有gydF4y2Ba在…上gydF4y2Ba情节([df * fIntervalGabor (1) df * fIntervalGabor(1)]、[0 mx),gydF4y2Ba的r -gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba图([df*fIntervalGabor(end)df*fIntervalGabor(end)],[0 mx],gydF4y2Ba的r -gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba,2)str=sprintf(gydF4y2Ba'加博帧间隔(Hz):[%3.2f,%3.2f]'gydF4y2Ba,df*fIntervalGabor(1),df*fIntervalGabor(end));头衔(str)gydF4y2Ba

图中包含一个坐标轴。标题为Gabor Frame Interval (Hz):[3889.89, 4302.11]的轴包含3个类型为line的对象。gydF4y2Ba

利用Gabor框架对区间内的Fourier系数进行窗口处理,并进行离散Fourier逆变换。将结果归一化,并与计算的常数Q系数进行比较,确认它们相等。gydF4y2Ba

lGframe =长度(gFrame);indx = 1: lGframe;indx = fftshift (indx);winDFT (indx) = yDFT (fIntervalGabor)。* fftshift (gFrame (indx));cqCoefs =传输线(winDFT);cqCoefs = (2 * lGframe /长度(y)) * cqCoefs;马克斯(abs (cqCoefs (:) cfs{印第安纳}(:)))gydF4y2Ba
ans=0gydF4y2Ba

加载音频信号。使用变换的最大冗余版本和每倍频程12个音箱绘制恒定Q变换(CQT)。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Bacqt(y,gydF4y2Ba“采样频率”gydF4y2BaFs)gydF4y2Ba

图中包含一个轴。标题为常量Q变换的轴包含一个surface类型的对象。gydF4y2Ba

使用48个音箱/倍频程对同一信号执行CQT。将CQT具有对数频率响应的频率范围设置为最小允许频率2 kHz。gydF4y2Ba

minFreq = Fs /长度(y);maxFreq = 2000;图cqt (y,gydF4y2Ba“采样频率”gydF4y2BaFs,gydF4y2Ba“BinsPerOctave”gydF4y2Ba,48,gydF4y2Ba“频率限制”gydF4y2Ba,[minFreq maxFreq])gydF4y2Ba

图中包含一个轴。标题为常量Q变换的轴包含一个surface类型的对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

输入信号,指定为实向量或复向量或矩阵。gydF4y2BaxgydF4y2Ba必须至少有四个样品。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba
复数的支持:万博1manbetxgydF4y2Ba对gydF4y2Ba

名称-值对的观点gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba论据。gydF4y2Ba名称gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba是对应的值。gydF4y2Ba名称gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“采样频率”,20,“BinsPerOctave”,15gydF4y2Ba

采样频率,单位为Hz,指定为逗号分隔对,包括gydF4y2Ba“采样频率”gydF4y2Ba和一个正标量。gydF4y2Ba

要在CQT中使用的每个八度音阶的容器数,指定为从1到96的正整数。gydF4y2Ba

要执行的常量q转换的类型,指定为逗号分隔的对,由gydF4y2Ba“TransformType”gydF4y2Ba和gydF4y2Ba“全部”gydF4y2Ba或gydF4y2Ba“稀疏”gydF4y2Ba。稀疏变换是常数Q变换的最小冗余版本。gydF4y2Ba

CQT具有对数频率响应的频率限制,每倍频程具有指定数量的频率槽,指定为逗号分隔对gydF4y2Ba“频率限制”gydF4y2Ba一个二元实向量。gydF4y2Ba

  • 第一个元素必须大于或等于gydF4y2Ba财政司司长gydF4y2Ba哪里gydF4y2BaFsgydF4y2Ba采样频率是和吗gydF4y2BaNgydF4y2Ba是信号的长度。gydF4y2Ba

  • 第二个元素必须严格小于奈奎斯特频率。gydF4y2Ba

窗口用作非平稳Gabor帧的原型函数,指定为gydF4y2Ba“汉恩”gydF4y2Ba,gydF4y2Ba“汉明”gydF4y2Ba,gydF4y2Ba“黑曼哈利斯”gydF4y2Ba,gydF4y2Ba“itersine”gydF4y2Ba或gydF4y2Ba“巴特利特”gydF4y2Ba.这些紧支撑函数在频率中定义。对于规万博1manbetx范化频率,它们在区间中定义gydF4y2Ba(-1/2,1/2)gydF4y2Ba。如果指定采样频率,gydF4y2BaFsgydF4y2Ba,它们在区间上定义gydF4y2Ba(-Fs/2,Fs/2)gydF4y2Ba.gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

常量Q变换,作为矩阵、多维数组、单元数组或结构数组返回。gydF4y2Ba

  • 如果gydF4y2Ba“TransformType”gydF4y2Ba指定为gydF4y2Ba“全部”gydF4y2Ba没有gydF4y2Ba“频率限制”gydF4y2Ba,gydF4y2Ba慢性疲劳综合症gydF4y2Ba是一个矩阵或多维数组。gydF4y2Ba

    • 如果gydF4y2BaxgydF4y2Ba那么,这是一个向量gydF4y2BacqtgydF4y2Ba返回一个对应于CQT的矩阵。gydF4y2Ba

    • 如果gydF4y2BaxgydF4y2Ba是一个矩阵gydF4y2BacqtgydF4y2Ba的每个列(独立通道)的CQTgydF4y2BaxgydF4y2Ba。该函数返回与CQT的最大冗余版本相对应的多维数组。gydF4y2Ba

    阵列,gydF4y2Ba慢性疲劳综合症gydF4y2Ba,对应于CQT的最大冗余版本。每一页的每一行gydF4y2Ba慢性疲劳综合症gydF4y2Ba对应于标准化中心频率(周期/样本)对数间隔在0和1之间的通带。1/2的归一化频率对应于奈奎斯特频率。列数或跳数对应于最大带宽中心频率,它通常出现在奈奎斯特单元下方或上方的一个频率单元。gydF4y2Ba

  • 如果gydF4y2Ba“TransformType”gydF4y2Ba指定为gydF4y2Ba“全部”gydF4y2Ba你指定了频率限制,gydF4y2Ba慢性疲劳综合症gydF4y2Ba作为结构数组返回,包含以下四个字段。gydF4y2Ba

    • cgydF4y2Ba-指定频率范围内的多维数组频率系数矩阵。这包括积极和消极的频率。gydF4y2Ba

    • DCcfsgydF4y2Ba-通带从0到下限频率的系数向量或矩阵。gydF4y2Ba

    • 奈奎斯特gydF4y2Ba-从频率上限到奈奎斯特的通带系数向量或矩阵。gydF4y2Ba

    • 奈奎斯宾gydF4y2Ba-对应奈奎斯特频率的DFT bin。该字段用于反转CQT。gydF4y2Ba

  • 如果gydF4y2Ba“TransformType”gydF4y2Ba指定为gydF4y2Ba“稀疏”gydF4y2Ba,gydF4y2Ba慢性疲劳综合症gydF4y2Ba是一个单元阵列,其单元数等于带通频率的数目。单元格数组的每个元素,gydF4y2Ba慢性疲劳综合症gydF4y2Ba,是一个行数等于DFT箱带宽值的向量或矩阵,gydF4y2BabwgydF4y2Ba.gydF4y2Ba

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba和gydF4y2Ba换档gydF4y2BaCQT与gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

近似带通中心频率对应于gydF4y2Ba慢性疲劳综合症gydF4y2Ba,作为实值向量返回。频率从0到1排序,以周期/样本为单位。如果指定gydF4y2Ba“采样频率”gydF4y2Ba,然后gydF4y2BafgydF4y2Ba以赫兹为单位。gydF4y2Ba

Gabor框架在结构分析中的应用gydF4y2BaxgydF4y2Ba,作为实值向量的单元格数组返回。中的每个向量gydF4y2BaggydF4y2Ba对应于一行gydF4y2Ba慢性疲劳综合症gydF4y2Ba.gydF4y2Ba

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba和gydF4y2Ba换档gydF4y2BaCQT与gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

离散傅里叶变换箱中的频移,返回为实值向量。这些移动是在通道带之间的gydF4y2Ba慢性疲劳综合症gydF4y2Ba.gydF4y2Ba

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba和gydF4y2Ba换档gydF4y2BaCQT与gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

对应于数据行的频率间隔gydF4y2Ba慢性疲劳综合症gydF4y2Ba,作为单元格数组返回。中的每个元素gydF4y2Ba芬特瓦尔斯gydF4y2Ba为实值向量。的gydF4y2BakgydF4y2Bath元素gydF4y2Ba换档gydF4y2Ba是DFT存储箱中两个gydF4y2Ba((k-1)模块N)gydF4y2Ba和gydF4y2Ba(k模块N)gydF4y2Ba元素gydF4y2Ba芬特瓦尔斯gydF4y2Ba与gydF4y2Bak=0,1,2,…,N-1gydF4y2Ba哪里gydF4y2BaNgydF4y2Ba是频移的数量。因为MATLAB的索引为1,gydF4y2BaF档位(1)gydF4y2Ba包含之间的频率偏移gydF4y2Bafintervals{结束}gydF4y2Ba和gydF4y2Bafintervals{1}gydF4y2Ba,gydF4y2BaF档位(2)gydF4y2Ba包含之间的频率偏移gydF4y2Bafintervals{1}gydF4y2Ba和gydF4y2Bafintervals{2}gydF4y2Ba等等gydF4y2Ba

频率区间的DFT箱的带宽,gydF4y2Ba芬特瓦尔斯gydF4y2Ba,作为实值向量返回。gydF4y2Ba

算法gydF4y2Ba

全部折叠gydF4y2Ba

非平稳的伽柏帧gydF4y2Ba

用于频率自适应分析的非平稳Gabor(NSG)帧理论以及使用NSG帧进行分析和合成的有效算法都来自于Dörfler、Holighaus、Grill和VelascogydF4y2Ba[1]gydF4y2Ba,gydF4y2Ba[2]gydF4y2Ba.CQT和ICQT中使用的算法由Dörfler、Holighaus、Grill和Velasco开发,并在gydF4y2Ba[1]gydF4y2Ba,gydF4y2Ba[2]gydF4y2Ba在里面gydF4y2Ba[3]gydF4y2Ba,Schörkhuber,Klapuri,Holighaus和Dörfler开发并提供了相位校正CQT变换的算法,该算法匹配通过原始卷积获得的CQT系数。大时频分析工具箱(gydF4y2Bahttps://github.com/ltfatgydF4y2Ba)为非平稳Gabor框架提供了一套广泛的算法gydF4y2Ba[4]gydF4y2Ba.gydF4y2Ba

完美重建gydF4y2Ba

为了实现非平稳Gabor框架下的常q分析的完美重构性质,gydF4y2BacqtgydF4y2Ba在内部预先设置零频率(DC),并将奈奎斯特频率附加到频率间隔。负频率是正中心频率和带宽的镜像版本gydF4y2Ba

参考文献gydF4y2Ba

[1] Holighaus, n.a., M. Dörfler, g.a. Velasco,和T. Grill。"可逆实时常数q变换的框架"gydF4y2Ba《IEEE音频、语音和语言处理汇刊》。gydF4y2Ba第21卷,第4期,2013年,第775-785页。gydF4y2Ba

[2] Velasco,G.A.,N.Holighaus,M.Dörfler和T.Grill,“用非平稳Gabor框架构造可逆常数Q变换”,摘自gydF4y2Ba第14届数字音频效果国际会议记录(DAFx-11)gydF4y2Ba.法国巴黎:2011。gydF4y2Ba

[3] Schörkhuber,C.,A.Klapuri,N.Holighaus和M.Dörfler.“一个Matlab工具箱,用于具有对数频率分辨率的高效完美重建时频变换。”提交给gydF4y2Ba第53届语义音频国际会议gydF4y2Ba.伦敦,英国:2014年。gydF4y2Ba

[4] 普雷沙,Z.,P.L.Søndergaard,N.Holighaus,C.Wiesmeyr和P.Balazs。gydF4y2Ba大型时频分析工具箱2.0gydF4y2Ba.Sound, Music, and Motion, Lecture Notes in Computer Science 2014, pp 419-442。gydF4y2Ba

扩展能力gydF4y2Ba

介绍了R2018agydF4y2Ba