主要内容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,gydF4y2BafshiftsgydF4y2Ba= cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回Gabor帧,gydF4y2BaggydF4y2Ba,用于分析gydF4y2BaxgydF4y2Ba频率发生了变化,gydF4y2BafshiftsgydF4y2Ba,在离散傅里叶变换(DFT)的箱子之间的通带的行gydF4y2Ba慢性疲劳综合症gydF4y2Ba.gydF4y2Ba

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2BaCQT的反演需要哪些输入gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2Ba,gydF4y2BafintervalsgydF4y2Ba= cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回频率间隔,gydF4y2BafintervalsgydF4y2Ba,对应的行gydF4y2Ba慢性疲劳综合症gydF4y2Ba.的gydF4y2BakgydF4y2Ba的第Th元素gydF4y2BafshiftsgydF4y2Ba在DFT箱之间的频移是gydF4y2Ba((k-1) mod N)gydF4y2Ba而且gydF4y2Ba(k mod N)gydF4y2Ba的元素gydF4y2BafintervalsgydF4y2Ba与gydF4y2Bak = 0,1,2,…,N-1gydF4y2Ba在哪里gydF4y2BaNgydF4y2Ba是频移的个数。由于MATLABgydF4y2Ba®gydF4y2Ba索引从1,gydF4y2Bafshifts (1)gydF4y2Ba包含频移之间gydF4y2Bafintervals{结束}gydF4y2Ba而且gydF4y2Bafintervals {1}gydF4y2Ba,gydF4y2Bafshifts (2)gydF4y2Ba包含频移之间gydF4y2Bafintervals {1}gydF4y2Ba而且gydF4y2Bafintervals {2}gydF4y2Ba等等。gydF4y2Ba

[gydF4y2Ba慢性疲劳综合症gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2Ba,gydF4y2BafintervalsgydF4y2Ba,gydF4y2BabwgydF4y2Ba= cqt(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回带宽,gydF4y2BabwgydF4y2Ba,在频率间隔的DFT箱中,gydF4y2BafintervalsgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

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

例子gydF4y2Ba

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

请注意gydF4y2Ba

为了可视化稀疏CQT,必须对系数进行插值。当发生插值时,图可能有明显的涂抹,很难解释。如果您想绘制CQT,我们建议使用默认值gydF4y2BaTransformTypegydF4y2Ba价值gydF4y2Ba“全部”gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

加载一个信号并获得常数q变换。gydF4y2Ba

负载gydF4y2BanoisdoppgydF4y2BaCFS = cqt(噪声分量);gydF4y2Ba

加载一个实值信号并获得常数- q变换。返回近似的带通中心频率。gydF4y2Ba

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

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

Lfreq =长度(f);nyquistBin = floor(lfreq/2)+1;情节(f (1: nyquistBin)标题(gydF4y2Ba“带通中心频率”gydF4y2Ba网格)gydF4y2Ba在gydF4y2Ba集(gca),gydF4y2Ba“yscale”gydF4y2Ba,gydF4y2Ba“日志”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。标题为“带通中心频率”的axis对象包含一个类型为line的对象。gydF4y2Ba

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

图图(f(3:nyquistBin-1)./f(2:nyquistBin-2))网格gydF4y2Ba在gydF4y2Ba标题([gydF4y2Ba的比例:gydF4y2Banum2str (2 ^ (1/12))))gydF4y2Ba

图中包含一个轴对象。标题Ratio: 1.0595的axes对象包含一个类型为line的对象。gydF4y2Ba

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

负载gydF4y2Ba汉德尔gydF4y2Badf = Fs/numel(y);[cfs,f,g,fshifts,finterval,bw] = cqt(y,gydF4y2Ba“SamplingFrequency”gydF4y2BaFs,gydF4y2Ba“TransformType”gydF4y2Ba,gydF4y2Ba“稀疏”gydF4y2Ba,gydF4y2Ba“窗口”gydF4y2Ba,gydF4y2Ba“blackmanharris”gydF4y2Ba);gydF4y2Ba

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

Lf =长度(f);Ind =下限(lf/2)+1;gFrame = fftshift(g{ind});Fvec = f(ind-1):df:f(ind+1)-df;情节(fvec gFrame)包含(gydF4y2Ba的频率(赫兹)gydF4y2Ba网格)gydF4y2Ba在gydF4y2Ba标题({[gydF4y2BaGabor帧-频率:gydF4y2Banum2str (f(印第安纳州)),gydF4y2Ba“赫兹”gydF4y2Ba]; [gydF4y2Ba“带宽”gydF4y2Banum2str (bw(印第安纳州)* Fs /元素个数(y)),gydF4y2Ba“赫兹”gydF4y2Ba]})gydF4y2Ba

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

在常数- q变换中,将Gabor框架应用于输入信号的离散傅里叶变换,并进行离散傅里叶反变换。第k个Gabor帧应用于中指定的第k个频率间隔gydF4y2BafintervalsgydF4y2Ba.对信号进行离散傅里叶变换,并绘制其幅度谱。使用gydF4y2BafintervalsgydF4y2Ba来表示在哪些傅里叶系数上应用与奈奎斯特频率相关的Gabor系。gydF4y2Ba

yDFT = fft(y);lyDFT =长度(yDFT);情节(Fs * (0: lyDFT-1) / lyDFT, abs (yDFT))网格gydF4y2Ba在gydF4y2BafIntervalGabor = finterval {ind};mx = max(abs(yDFT));持有gydF4y2Ba在gydF4y2Baplot([df*fIntervalGabor(1) df*fIntervalGabor(1)],[0 mx],gydF4y2Ba的r -gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba,2) plot([df*fIntervalGabor(end) df*fIntervalGabor(end)],[0 mx],gydF4y2Ba的r -gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba,2) STR = sprintf(gydF4y2Ba'Gabor帧间隔(Hz): [%3.2f, %3.2f]'gydF4y2Badf * fIntervalGabor (1), df * fIntervalGabor(结束));标题(str)gydF4y2Ba

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

在Gabor坐标系的区间内对傅里叶系数进行窗口变换,然后进行离散傅里叶反变换。将结果归一化,并与计算的常数q系数进行比较,并确认它们相等。gydF4y2Ba

lGframe =长度(gFrame);indx = 1:lGframe;索引= fftshift(索引);winDFT(indx) = yDFT(fIntervalGabor).*fftshift(gFrame(indx));cqCoefs = ifft(winDFT);cqCoefs = (2*lGframe/length(y))*cqCoefs;马克斯(abs (cqCoefs (:) cfs{印第安纳}(:)))gydF4y2Ba
Ans = 0gydF4y2Ba

加载一个音频信号。使用最大冗余的转换版本并在每个八度音阶使用12个箱绘制常量q转换(CQT)。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Bacqt (y,gydF4y2Ba“SamplingFrequency”gydF4y2BaFs)gydF4y2Ba

图中包含一个轴对象。标题为Constant Q-Transform的axes对象包含一个类型为surface的对象。gydF4y2Ba

执行相同信号的CQT,每八度使用48个箱。将CQT具有对数频率响应的频率范围设置为2 kHz的最小允许频率。gydF4y2Ba

minFreq = Fs/length(y);maxFreq = 2000;图cqt (y,gydF4y2Ba“SamplingFrequency”gydF4y2BaFs,gydF4y2Ba“BinsPerOctave”gydF4y2Ba现年48岁的gydF4y2Ba“FrequencyLimits”gydF4y2Ba, (minFreq maxFreq])gydF4y2Ba

图中包含一个轴对象。标题为Constant Q-Transform的axes对象包含一个类型为surface的对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

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

数据类型:gydF4y2Ba双gydF4y2Ba
复数支持:金宝appgydF4y2Ba是的gydF4y2Ba

名称-值参数gydF4y2Ba

指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba,在那里gydF4y2Ba的名字gydF4y2Ba参数名称和gydF4y2Ba价值gydF4y2Ba对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。gydF4y2Ba

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2Ba“BinsPerOctave”“SamplingFrequency”,20日,15gydF4y2Ba

采样频率,以Hz为单位,由逗号分隔的对组成gydF4y2Ba“SamplingFrequency”gydF4y2Ba一个正标量。gydF4y2Ba

CQT中每个八度要使用的箱数,指定为1到96之间的正整数。gydF4y2Ba

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

CQT具有对数频率响应的频率限制,该频率响应具有每个八度频域的指定频率箱数,用逗号分隔对指定gydF4y2Ba“FrequencyLimits”gydF4y2Ba还有一个两元实向量。gydF4y2Ba

  • 第一个元素必须大于或等于gydF4y2BaFs / NgydF4y2Ba,在那里gydF4y2BaFsgydF4y2Ba采样频率和gydF4y2BaNgydF4y2Ba是信号的长度。gydF4y2Ba

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

窗口作为非平稳Gabor帧的原型函数,指定为gydF4y2Ba“损害”gydF4y2Ba,gydF4y2Ba“汉明”gydF4y2Ba,gydF4y2Ba“blackmanharris”gydF4y2Ba,gydF4y2Ba“itersine”gydF4y2Ba,或gydF4y2Ba“bartlett”gydF4y2Ba.这些紧支持函数是按频率定义的。金宝app对于归一化频率,它们在区间上定义gydF4y2Ba(1/2, 1/2)gydF4y2Ba.如果你指定一个采样频率,gydF4y2BaFsgydF4y2Ba,它们是在区间上定义的gydF4y2Ba(Fs - f / 2 / 2)gydF4y2Ba.gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

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

  • 如果gydF4y2Ba“TransformType”gydF4y2Ba指定为gydF4y2Ba“全部”gydF4y2Ba没有gydF4y2Ba“FrequencyLimits”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

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

    • NyquistBingydF4y2Ba—对应Nyquist频率的DFT bin。该字段在反转CQT时使用。gydF4y2Ba

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

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2BaCQT的反演需要哪些输入gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

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

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

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2BaCQT的反演需要哪些输入gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

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

慢性疲劳综合症gydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BafshiftsgydF4y2BaCQT的反演需要哪些输入gydF4y2BaicqtgydF4y2Ba.gydF4y2Ba

对应于行的频率间隔gydF4y2Ba慢性疲劳综合症gydF4y2Ba,作为单元格数组返回。中的每个元素gydF4y2BafintervalsgydF4y2Ba是一个实值向量。的gydF4y2BakgydF4y2Ba的第Th元素gydF4y2BafshiftsgydF4y2Ba在DFT箱之间的频移是gydF4y2Ba((k-1) mod N)gydF4y2Ba而且gydF4y2Ba(k mod N)gydF4y2Ba的元素gydF4y2BafintervalsgydF4y2Ba与gydF4y2Bak = 0,1,2,…,N-1gydF4y2Ba在哪里gydF4y2BaNgydF4y2Ba是频移的个数。因为MATLAB从1开始索引,gydF4y2Bafshifts (1)gydF4y2Ba包含频移之间gydF4y2Bafintervals{结束}gydF4y2Ba而且gydF4y2Bafintervals {1}gydF4y2Ba,gydF4y2Bafshifts (2)gydF4y2Ba包含频移之间gydF4y2Bafintervals {1}gydF4y2Ba而且gydF4y2Bafintervals {2}gydF4y2Ba等等。gydF4y2Ba

频率间隔的DFT箱中的带宽,gydF4y2BafintervalsgydF4y2Ba,作为实值向量返回。gydF4y2Ba

算法gydF4y2Ba

全部折叠gydF4y2Ba

非平稳Gabor坐标系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变换的算法,该算法与通过naïve卷积获得的CQT系数相匹配。大型时频分析工具箱(gydF4y2Bahttps://github.com/ltfatgydF4y2Ba)为非平稳Gabor帧提供了一套广泛的算法gydF4y2Ba[4]gydF4y2Ba.gydF4y2Ba

完美的重建gydF4y2Ba

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

参考文献gydF4y2Ba

[1]霍利豪斯,N. M. Dörfler, G. A.贝拉斯科和T.格尔。“可逆实时常数q变换的框架。”gydF4y2BaIEEE音频、语音和语言处理汇刊。gydF4y2BaVol. 21 No. 4, 2013, pp. 775-785。gydF4y2Ba

[2]贝拉斯科,G. A., N.霍利豪斯,M. Dörfler, T.格尔。用非平稳Gabor坐标系构造可逆常数- q变换在gydF4y2Ba第十四届数字音频效果国际会议论文集(DAFx-11)gydF4y2Ba.法国巴黎:2011年。gydF4y2Ba

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

[4] prolesa, Z., P. L. Søndergaard, N. Holighaus, C. Wiesmeyr和P. Balazs。gydF4y2Ba大型时频分析工具箱2.0gydF4y2Ba.声音,音乐和运动,计算机科学2014年讲座笔记,第419-442页。gydF4y2Ba

扩展功能gydF4y2Ba

版本历史gydF4y2Ba

在R2018a中引入gydF4y2Ba