cqtGydF4y2Ba

恒定q非平稳Gabor变换GydF4y2Ba

描述GydF4y2Ba

例GydF4y2Ba

CFSGydF4y2Ba= cqt (GydF4y2BaXGydF4y2Ba)GydF4y2Ba返回常量-Q变换(CQT),GydF4y2BaCFSGydF4y2Ba中,输入信号的GydF4y2BaXGydF4y2Ba。输入信号必须至少有四个样本。GydF4y2Ba

  • 如果GydF4y2BaXGydF4y2Ba是一个向量GydF4y2BacqtGydF4y2Ba返回对应于CQT的矩阵。GydF4y2Ba

  • 如果GydF4y2BaXGydF4y2Ba是矩阵吗GydF4y2BacqtGydF4y2Ba获得的CQT的每一列(独立信道)GydF4y2BaXGydF4y2Ba。该函数返回一个多维数组,该数组对应于CQT的最大冗余版本。GydF4y2Ba

例GydF4y2Ba

[GydF4y2BaCFSGydF4y2Ba,GydF4y2BaFGydF4y2Ba)= cqt (GydF4y2BaXGydF4y2Ba)GydF4y2Ba返回近似的带通中心频率,GydF4y2BaFGydF4y2Ba中,对应于各行GydF4y2BaCFSGydF4y2Ba。频率从0到1排序,以循环/样本为单位。GydF4y2Ba

[GydF4y2BaCFSGydF4y2Ba,GydF4y2BaFGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba)= cqt (GydF4y2BaXGydF4y2Ba)GydF4y2Ba返回Gabor帧,GydF4y2BaGGydF4y2Ba,用于分析GydF4y2BaXGydF4y2Ba频率改变了,GydF4y2BafshiftsGydF4y2Ba,在离散傅里叶变换(DFT)箱内通频带之间的行GydF4y2BaCFSGydF4y2Ba。GydF4y2Ba

CFSGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba需要输入的CQT与反转GydF4y2BaicqtGydF4y2Ba。GydF4y2Ba

[GydF4y2BaCFSGydF4y2Ba,GydF4y2BaFGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba,GydF4y2BafintervalsGydF4y2Ba)= cqt (GydF4y2BaXGydF4y2Ba)GydF4y2Ba返回频率间隔,GydF4y2BafintervalsGydF4y2Ba,对应的行为GydF4y2BaCFSGydF4y2Ba。该GydF4y2BaķGydF4y2Ba的第i个元素GydF4y2BafshiftsGydF4y2BaDFT箱中的频移是GydF4y2Ba((k - 1) mod N)GydF4y2Ba和GydF4y2Ba(k mod N)GydF4y2Ba的元素GydF4y2BafintervalsGydF4y2Ba同GydF4y2Bak = 0, 1, 2,…, n - 1GydF4y2Ba在哪里GydF4y2BañGydF4y2Ba是频移的次数。由于MATLABGydF4y2Ba®GydF4y2Ba索引从1GydF4y2Bafshifts (1)GydF4y2Ba包含之间的频移GydF4y2Bafintervals {端}GydF4y2Ba和GydF4y2Bafintervals {1}GydF4y2Ba,GydF4y2Bafshifts (2)GydF4y2Ba包含之间的频移GydF4y2Bafintervals {1}GydF4y2Ba和GydF4y2Bafintervals {2}GydF4y2Ba等等。GydF4y2Ba

[GydF4y2BaCFSGydF4y2Ba,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(noisdopp);GydF4y2Ba

加载实值信号,得到constant-Q变换。返回近似的带通中心频率。GydF4y2Ba

加载GydF4y2Ba汉德尔GydF4y2Ba[cfs f] = cqt (y);GydF4y2Ba

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

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

为了确定连续的频率对的比率是常数,绘制比率图。自GydF4y2BacqtGydF4y2Ba默认情况下每个八度音程使用12个音箱,比例应该相等GydF4y2Ba 2GydF4y2Ba 1GydF4y2Ba /GydF4y2Ba 1GydF4y2Ba 2GydF4y2Ba 。由于DC和奈奎斯特频率不是中心频率的几何序列的成员,但被包括在频率向量,从图中排除它们。GydF4y2Ba

图绘制(f (3: nyquistBin-1)。/ f (2: nyquistBin-2))网格GydF4y2Ba在GydF4y2Ba标题([GydF4y2Ba“比:”GydF4y2Ba,num2str(2 ^(1/12))])GydF4y2Ba

获取音频信号的最小冗余constant-Q变换。使用Blackman-Harris窗口作为Gabor框架的原型函数。GydF4y2Ba

加载GydF4y2Ba汉德尔GydF4y2BaDF = FS / numel(Y);[CFS,F,G,fshifts,fintervals,BW] = CQT(Y,GydF4y2Ba“SamplingFrequency”GydF4y2Ba,FS,GydF4y2Ba'TransformType'GydF4y2Ba,GydF4y2Ba“疏”GydF4y2Ba,GydF4y2Ba“窗口”GydF4y2Ba,GydF4y2Ba“blackmanharris”GydF4y2Ba);GydF4y2Ba

CFSGydF4y2Ba是一个单元阵列,其中所述阵列中的每个元素对应于一个带通中心频率和Gabor帧。绘制与奈奎斯特频率相关联的伽柏帧。GydF4y2Ba

LF =长度(F);IND =地板(LF / 2)+1;gFrame = fftshift(克{IND});fvec = F(IND-1):DF:F(IND + 1)-df;图(fvec,gFrame)xlabel(GydF4y2Ba'频率(Hz)'GydF4y2Ba网格)GydF4y2Ba在GydF4y2Ba标题({[GydF4y2Ba'Gabor Frame - Freq: 'GydF4y2Banum2str (f(印第安纳州)),GydF4y2Ba“赫兹”GydF4y2Ba]; [GydF4y2Ba“带宽”GydF4y2Ba,num2str(BW(IND)* FS / numel(Y)),GydF4y2Ba“赫兹”GydF4y2Ba]})GydF4y2Ba

在constant-Q变换中,将Gabor帧应用于输入信号的离散傅里叶变换,并进行离散傅里叶反变换。第k个Gabor帧应用于指定的第k个频率区间GydF4y2BafintervalsGydF4y2Ba。以离散傅立叶变换的信号并绘制其幅度谱。使用GydF4y2BafintervalsGydF4y2Ba指出哪些傅里叶系数是与奈奎斯特频率相关的Gabor帧。GydF4y2Ba

yDFT = fft (y);lyDFT =长度(yDFT);情节(Fs * (0: lyDFT-1) / lyDFT, abs (yDFT))网格GydF4y2Ba在GydF4y2BafIntervalGabor = fintervals{印第安纳};mx = max (abs (yDFT));持有GydF4y2Ba在GydF4y2Ba情节([DF * fIntervalGabor(1)DF * fIntervalGabor(1)],[0 MX]GydF4y2Ba'R-'GydF4y2Ba,GydF4y2Ba“线宽”GydF4y2Ba,2) plot([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框架对区间内的傅里叶系数进行窗口处理,然后进行离散傅里叶反变换。将结果归一化,并与计算出的常数q系数进行比较,确认它们是相等的。GydF4y2Ba

lGframe =长度(gFrame);INDX = 1:lGframe;INDX = fftshift(INDX);winDFT(INDX)= yDFT(fIntervalGabor)* fftshift(gFrame(INDX));cqCoefs = IFFT(winDFT);cqCoefs =(2 * lGframe /长度(Y))* cqCoefs;MAX(ABS(cqCoefs(:) -  CFS {} IND(:)))GydF4y2Ba
ans = 0GydF4y2Ba

加载音频信号。使用转换的最大冗余版本绘制constant-Q转换(CQT),每个八度使用12个桶。GydF4y2Ba

加载GydF4y2Ba汉德尔GydF4y2Bacqt (y,GydF4y2Ba“SamplingFrequency”GydF4y2Ba,FS)GydF4y2Ba

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

minFreq = FS /长度(Y);maxFreq = 2000;图CQT(Y,GydF4y2Ba“SamplingFrequency”GydF4y2Ba,FS,GydF4y2Ba'BinsPerOctave'GydF4y2Ba现年48岁的GydF4y2Ba“FrequencyLimits”GydF4y2Ba,(minFreq maxFreq])GydF4y2Ba

输入参数GydF4y2Ba

全部收缩GydF4y2Ba

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

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双GydF4y2Ba
复数支持:金宝appGydF4y2Ba是的GydF4y2Ba

名称 - 值对参数GydF4y2Ba

指定可选的用逗号分隔的对GydF4y2Ba名称,值GydF4y2Ba参数。GydF4y2Ba的名字GydF4y2Ba是参数的名称和GydF4y2Ba价值GydF4y2Ba是对应的值。GydF4y2Ba的名字GydF4y2Ba必须出现引号内。您可以按照任何顺序指定多个名称和值对参数GydF4y2BaName1, Value1,…,的家GydF4y2Ba。GydF4y2Ba

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

采样频率,单位为Hz,指定为由GydF4y2Ba“SamplingFrequency”GydF4y2Ba一个正的标量。GydF4y2Ba

在CQT中使用的每个八度音程的桶数,指定为1到96之间的正整数。GydF4y2Ba

恒定Q值的类型的变换来执行,指定为逗号分隔的一对组成的GydF4y2Ba'TransformType'GydF4y2Ba和GydF4y2Ba“全部”GydF4y2Ba或GydF4y2Ba“稀疏”GydF4y2Ba。稀疏变换是constant-Q变换的最小冗余版本。GydF4y2Ba

频率限制,在此范围内,CQT具有对数频率响应,每个八度有指定数目的频率箱,指定为逗号分隔对GydF4y2Ba“FrequencyLimits”GydF4y2Ba和两元件实数向量。GydF4y2Ba

  • 第一个元素必须大于等于GydF4y2BaFs / NGydF4y2Ba,在那里GydF4y2BaFSGydF4y2Ba是采样频率和GydF4y2BañGydF4y2Ba是信号的长度。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

转换,以矩阵、多维数组、单元数组或结构数组的形式返回。GydF4y2Ba

  • 如果GydF4y2Ba'TransformType'GydF4y2Ba被指定为GydF4y2Ba“全部”GydF4y2Ba无GydF4y2Ba“FrequencyLimits”GydF4y2Ba,GydF4y2BaCFSGydF4y2Ba是一个矩阵或多维数组。GydF4y2Ba

    • 如果GydF4y2BaXGydF4y2Ba是一个向量GydF4y2BacqtGydF4y2Ba返回对应于CQT的矩阵。GydF4y2Ba

    • 如果GydF4y2BaXGydF4y2Ba是矩阵吗GydF4y2BacqtGydF4y2Ba获得的CQT的每一列(独立信道)GydF4y2BaXGydF4y2Ba。该函数返回一个多维数组,该数组对应于CQT的最大冗余版本。GydF4y2Ba

    的数组,GydF4y2BaCFSGydF4y2Ba,对应于CQT的最大冗余版本。在页面的每一行GydF4y2BaCFSGydF4y2Ba对应于归一化中心频率(周期/样本)对数间隔为0到1的通频带。1/2的归一化频率对应于奈奎斯特频率。列数,即跳数,对应最大带宽中心频率,该频率中心频率通常出现在奈奎斯特频率中心频率上或下一个频率中心频率上。GydF4y2Ba

  • 如果GydF4y2Ba'TransformType'GydF4y2Ba被指定为GydF4y2Ba“全部”GydF4y2Ba并指定频率限制,GydF4y2BaCFSGydF4y2Ba以结构数组的形式返回,包含以下四个字段。GydF4y2Ba

    • CGydF4y2Ba- 为对特定频率范围内频率多维数组的系数矩阵。这既包括正和“负”的频率。GydF4y2Ba

    • DCcfsGydF4y2Ba-系数向量或矩阵的通频带从0到较低的频率限制。GydF4y2Ba

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

    • NyquistBinGydF4y2Ba- 对应于奈奎斯特频率DFT仓。反转CQT时,该字段被使用。GydF4y2Ba

  • 如果GydF4y2Ba'TransformType'GydF4y2Ba被指定为GydF4y2Ba“稀疏”GydF4y2Ba,GydF4y2BaCFSGydF4y2Ba是一个单元数组,其元素的数目等于带通频率的数目。单元格数组的每个元素,GydF4y2BaCFSGydF4y2Ba是矢量或矩阵的行数等于所述带宽在DFT仓值,GydF4y2BaBWGydF4y2Ba。GydF4y2Ba

CFSGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba需要输入的CQT与反转GydF4y2BaicqtGydF4y2Ba。GydF4y2Ba

的行所对应的近似带通中心频率GydF4y2BaCFSGydF4y2Ba,作为实值向量返回。频率从0到1排序,以循环/样本为单位。如果你指定GydF4y2Ba“SamplingFrequency”GydF4y2Ba, 然后GydF4y2BaFGydF4y2Ba在赫兹。GydF4y2Ba

用于格宾网架的分析GydF4y2BaXGydF4y2Ba,作为实值向量的单元数组返回。每一个向量GydF4y2BaGGydF4y2Ba对应于的行GydF4y2BaCFSGydF4y2Ba。GydF4y2Ba

CFSGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba需要输入的CQT与反转GydF4y2BaicqtGydF4y2Ba。GydF4y2Ba

在离散傅里叶频移变换箱,返回为实值向量。所述位移在的行中的通带之间GydF4y2BaCFSGydF4y2Ba。GydF4y2Ba

CFSGydF4y2Ba,GydF4y2BaGGydF4y2Ba,GydF4y2BafshiftsGydF4y2Ba需要输入的CQT与反转GydF4y2BaicqtGydF4y2Ba。GydF4y2Ba

的行对应的频率间隔GydF4y2BaCFSGydF4y2Ba,以单元格数组形式返回。中的每个元素GydF4y2BafintervalsGydF4y2Ba是实值向量。该GydF4y2BaķGydF4y2Ba的第i个元素GydF4y2BafshiftsGydF4y2BaDFT箱中的频移是GydF4y2Ba((k - 1) mod N)GydF4y2Ba和GydF4y2Ba(k mod N)GydF4y2Ba的元素GydF4y2BafintervalsGydF4y2Ba同GydF4y2Bak = 0, 1, 2,…, n - 1GydF4y2Ba在哪里GydF4y2BañGydF4y2Ba是频移的次数。因为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帧进行分析和合成的高效算法归功于Dorfler、Holighaus、Grill和VelascoGydF4y2Ba[1]GydF4y2Ba,GydF4y2Ba[2]GydF4y2Ba。CQT和ICQT中使用的算法是由Dorfler、Holighaus、Grill和Velasco开发的,并在GydF4y2Ba[1]GydF4y2Ba,GydF4y2Ba[2]GydF4y2Ba。在GydF4y2Ba[3]GydF4y2BaSchorkhuber、Klapuri、Holighaus和Dorfler开发并提供了相位校正CQT变换的算法,该算法匹配通过朴素卷积获得的CQT系数。大型时频分析工具箱(GydF4y2Bahttps://github.com/ltfatGydF4y2Ba)提供了一套广泛的算法,用于非平稳的Gabor帧GydF4y2Ba[4]GydF4y2Ba。GydF4y2Ba

完美的重建GydF4y2Ba

与非平稳的Gabor帧实现的恒定Q值分析的完全重构属性,GydF4y2BacqtGydF4y2Ba在内部添加零频率(DC)并将奈奎斯特频率附加到频率间隔。负频率是正中心频率和带宽的镜像形式GydF4y2Ba

参考文献GydF4y2Ba

[1] Holighaus,N.,M。Dörfler,G. A.贝拉斯科和T.烧烤。“为可逆实时恒Q值变换的框架。”GydF4y2BaIEEE音频、语音和语言处理会刊。GydF4y2Ba第21卷,第4期,2013年,第775-785页。GydF4y2Ba

贝拉斯科,g.a., N.霍利格豪斯,M.多夫勒和T.格里尔。用非平稳的Gabor帧构造一个可逆的常量- q变换。在GydF4y2Ba第十四届数字音频效果国际会议论文集(DAFx-11)GydF4y2Ba。法国巴黎:2011。GydF4y2Ba

[3] Schorkhuber, C., A. Klapuri, N. Holighaus,和M. Dorfler。一个Matlab工具箱,用于对数频率分辨率的高效完美重建时频变换。Submitted to theAES第53届国际会议上语义音频GydF4y2Ba。英国伦敦:2014。GydF4y2Ba

[4]Průša、Z。p . l . Søndergaard n . Holighaus c . Wiesmeyr和p . Balazs。GydF4y2Ba大型时频分析工具箱2.0GydF4y2Ba。声音,音乐和运动,在计算机科学2014年,第419-442讲义。GydF4y2Ba

介绍了在R2018aGydF4y2Ba