主要内容

medfreq

中值频率

描述

频率= medfreq (x估计中值归一化频率,频率为时域信号的功率谱,x

例子

频率= medfreq (xfs根据样本率估计中值频率,fs

例子

频率= medfreq (pxxf返回功率谱密度(PSD)估计的中位数频率,pxx.的频率,f,对应于pxx

频率= medfreq (sxxfrbw返回功率谱估计的中位数频率,sxx,具有分辨率带宽rbw

频率= medfreq (___freqrange指定计算中值频率的频率间隔。该语法可以包括来自以前语法的输入参数的任何组合,只要第二个输入参数是其中之一fsf.如果第二个输入被传递为空,则假定为归一化频率。的默认值freqrange是输入信号的整个带宽。

例子

频率权力= medfreq(___还返回波段功率,权力的频谱。如果你指定freqrange,然后权力包含了频段内的功率freqrange

medfreq (___如果没有输出参数,则绘制PSD或功率谱并注释中位数频率。

例子

全部折叠

生成1024个采样的1024khz的啁啾。指定啁啾,使其初始频率为50 kHz,并在采样结束时达到100 kHz。添加高斯白噪声,使信噪比为40 dB。重置随机数发生器可重现的结果。

nSamp = 1024;Fs = 1024e3;信噪比= 40;rng默认的t = (0:nSamp-1)'/Fs;x = chirp(t,50e3,nSamp/Fs,100e3);x = x+randn(size(x))*std(x)/db2mag(SNR);

估计啁啾的中值频率。绘制功率谱密度(PSD)并标注中位数频率。

medfreq (x, Fs)

图中包含一个轴对象。标题为中位数频率估计:74.998 kHz的轴对象包含2个类型为line的对象。

Ans = 7.4998e+04

产生另一个啁啾。指定初始频率为200khz,最终频率为300khz,振幅为第一个信号的两倍。添加高斯白噪声。

x2 = 2*chirp(t,200e3,nSamp/Fs,300e3);x2 = x2+randn(size(x2))*std(x2)/db2mag(SNR);

将这些啁啾串联起来,产生一个双通道信号。估计每个频道的中位数频率。

y = medfreq([x x2],Fs)
y =1×2105× 0.7500 2.4999

绘制两个通道的psd,并标注它们的中位数频率。

medfreq (x2 [x]、Fs);

图中包含一个轴对象。标题为Median Frequency Estimate的axis对象包含4个类型为line的对象。

把这两个通道加起来形成一个新信号。绘制PSD并标注中位数频率。

medfreq (x + x2, Fs)

图中包含一个轴对象。标题为中位数频率估计:237.563 kHz的轴对象包含2个类型为line的对象。

Ans = 2.3756e+05

生成1024khz采样的100.123 kHz正弦波的1024个样本。添加高斯白噪声,使信噪比为40 dB。重置随机数发生器可重现的结果。

nSamp = 1024;Fs = 1024e3;信噪比= 40;rng默认的t = (0:nSamp-1)'/Fs;X = sin(2*pi*t*100.123e3);x = x + randn(size(x))*std(x)/db2mag(SNR);

使用周期图函数计算信号的功率谱密度(PSD)。指定与信号长度相同且形状因子为38的Kaiser窗口。估计信号的中值频率,并在PSD图上标注它。

[Pxx,f] = periodogram(x,kaiser(nSamp,38),[],Fs);medfreq (Pxx f);

图中包含一个轴对象。标题为Median Frequency Estimate: 100.117 kHz的axis对象包含2个类型为line的对象。

生成另一个正弦波,频率为257.321 kHz,振幅是第一个正弦波的两倍。添加白噪音。

X2 = 2*sin(2*pi*t*257.321e3);x2 = x2 + randn(size(x2))*std(x2)/db2mag(SNR);

串联正弦波以产生一个双通道信号。估计每个信道的PSD,并使用结果来确定中位数频率。

(Pyy组,f) =周期图(x2 [x], kaiser (nSamp 38), [], Fs);y = medfreq(Pyy,f)
y =1×2105× 1.0012 2.5731

在psd图上标注两个通道的中位数频率。

medfreq (Pyy组,f);

图中包含一个轴对象。标题为Median Frequency Estimate的axis对象包含4个类型为line的对象。

把这两个通道加起来形成一个新信号。估计PSD并标注中值频率。

[Pzz f] =周期图(x + x2, kaiser (nSamp 38), [], Fs);medfreq (Pzz f);

图中包含一个轴对象。标题为中位数频率估计:256.859 kHz的轴对象包含2个类型为line的对象。

生成一个信号,其PSD类似于88阶带通FIR滤波器的频率响应,具有归一化的截止频率 0 2 5 π rad /样本和 0 4 5 π rad /样品。

D = fir1(88,[0.25 0.45]);

计算之间信号的中值频率 0 3. π rad /样本和 0 6 π rad /样品。绘制PSD并标注中位数频率和测量间隔。

medfreq (d,[],[0.3 - 0.6] *π);

图中包含一个轴对象。标题为M的轴对象为空白F r e q e n y空白es t M a t e:空白0。3 7 1空白乘以空白PI空白r d / s a m p l e包含4个类型为line, patch的对象。

输出测量间隔的中位数频率和频带功率。的采样率 2 π 就相当于不设定速率。

[mdf,power] = medfreq(d,2*pi,[0.3 0.6]*pi);流('Mean = %。3.f*pi, power = %.1f%% of total \n'...mdf /π,电源/ bandpower (d) * 100)
均值= 0.371*pi,功率=总功率的77.4%

添加第二个具有标准化截止频率的通道 0 5 π rad /样本和 0 8 π Rad /sample和振幅是第一个通道的十分之一。

D = [D;fir1(88,[0.5 0.8])/10]';

计算之间信号的中值频率 0 3. π rad /样本和 0 9 π rad /样品。绘制PSD并标注每个通道的中位数频率和测量间隔。

medfreq (d,[],[0.3 - 0.9] *π);

图中包含一个轴对象。标题为Median Frequency Estimate的axes对象包含6个类型为line、patch的对象。

输出每个通道的中位数频率。除以 π

MDF = medfreq(d,[],[0.3 0.9]*pi)/pi
mdf =1×20.3706 - 0.6500

输入参数

全部折叠

输入信号,指定为矢量或矩阵。如果x是一个矢量,它被视为一个单一通道。如果x是矩阵吗medfreq的每一列的中值频率x独立。x必须是有限值的。

例子:因为(π/ 4 * (0:159))+ randn (1160)是单通道行向量信号。

例子:因为(pi. / (4; 2) * (0:159)) ' + randn (160 2)是一个双通道信号。

数据类型:|

采样率,指定为正的实标量。采样率是单位时间内采样的数量。如果时间以秒为单位,则采样率以赫兹为单位。

数据类型:|

功率谱密度(PSD),用矢量或矩阵表示。如果pxx是矩阵吗medfreq的每一列的中值频率pxx独立。

功率谱密度必须用线性单位表示,不能用分贝表示。使用db2pow将分贝值转换为功率值。

例子:[pxx f] =周期图(cos (pi. / (4; 2) * (0:159)) ' + randn (160 2))指定在2π Hz采样的有噪声的双通道正弦波的周期图PSD估计和它被计算的频率。

数据类型:|

频率,指定为矢量。

数据类型:|

功率谱估计,用矢量或矩阵表示。如果sxx是矩阵吗medfreq的每一列的中值频率sxx独立。

功率谱必须用线性单位表示,不能用分贝表示。使用db2pow将分贝值转换为功率值。

例子:[sxx, w] =周期图(cos (pi. /(4; 2) *(0:159))”+ randn(160 2),“权力”)指定嵌入白高斯噪声中的双通道正弦信号的周期图功率谱估计以及计算时的归一化频率。

数据类型:|

分辨率带宽,指定为正标量。分辨率带宽是两个值的乘积:离散傅里叶变换的频率分辨率和用于计算PSD的窗口的等效噪声带宽。

数据类型:|

频率范围,指定为两个元素的实值向量。如果您没有指定freqrange,然后medfreq使用输入信号的整个带宽。

数据类型:|

输出参数

全部折叠

中值频率,指定为标量或向量。

  • 如果你指定一个采样率,那么频率单位和fs

  • 如果不指定抽样率,则频率单位为rad/sample。

频带功率,作为标量或矢量返回。

参考文献

[1] Phinyomark, Angkoon, Sirinee Thongpanja, huhusheng, Pornchai Phukpattaranont, Chusak Limsakul。平均频率和中位数频率在肌电图分析中的有用性在肌电图分析中的计算智能——当前应用和未来挑战的展望, Ganesh R. Naik编辑。InTech, 2012年。https://doi.org/10.5772/50639

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2015a中引入