主要内容

mscohere

平方的一致性

描述

cxy= mscohere (xy求出平方相干估计,cxy的输入信号,x而且y

  • 如果x而且y都是向量,它们的长度必须相同。

  • 如果其中一个信号是一个矩阵,另一个是一个向量,那么向量的长度必须等于矩阵中的行数。该函数展开矢量并返回逐列的平方相干估计矩阵。

  • 如果x而且y矩阵的行数相同但列数不同吗mscohere返回一个多重相干矩阵。的的第Th列cxy包含了所有输入信号与的相关程度的估计值输出信号。看到平方的一致性获取更多信息。

  • 如果x而且y那么矩阵的大小是否相等呢mscohere操作列:Cxy (:,n) = mscohere(x(:,n),y(:,n)).若要获得多重相干矩阵,请添加“再分配”到参数列表。

cxy= mscohere (xy窗口使用窗口划分x而且y并执行窗口。您必须使用至少两个段。否则,所有频率的幅度平方相干性为1。在MIMO情况下,段数必须大于输入通道数。

cxy= mscohere (xy窗口noverlap使用noverlap相邻段之间重叠的样本。

例子

cxy= mscohere (xy窗口noverlapnfft使用nfft采样点来计算离散傅里叶变换。

例子

cxy= mscohere (___,“再分配”)计算矩阵输入的多重相干矩阵。此语法可以包括来自以前语法的输入参数的任何组合。

cxyw] = mscohere(___返回一个归一化频率的向量,w,此时估计相干的平方大小。

例子

cxyf] = mscohere(___fs返回一个频率向量,f,用抽样率表示,fs,此时估计相干的平方大小。fs必须是第六个数字输入mscohere.要输入一个采样率,并且仍然使用前面可选参数的默认值,请将这些参数指定为空,[]

cxyw] = mscohere(xy窗口noverlapw中指定的归一化频率的平方相干估计w

cxyf] = mscohere(xy窗口noverlapffs中指定的频率上的平方相干估计f

___] = mscohere(xy___freqrange返回所指定的频率范围内的平方幅度相干估计freqrange.有效的选项freqrange“单向的”双侧的,“中心”

例子

mscohere (___在没有输出参数的情况下,在当前图形窗口中绘制平方相干估计。

例子

全部折叠

计算并绘制两个彩色噪声序列之间的相干估计。

生成一个由高斯白噪声组成的信号。

R = randn(16384,1);

为了创建第一个序列,对信号进行带通滤波。设计一个16阶滤波器,通过归一化频率在0.2π和0.4π rad/sample之间。指定阻带衰减为60 dB。对原始信号进行滤波。

Dx = designfilt(“bandpassiir”“FilterOrder”, 16岁,...“StopbandFrequency1”, 0.2,“StopbandFrequency2”, 0.4,...“StopbandAttenuation”、60);X = filter(dx,r);

为了创建第二个序列,设计一个16阶滤波器,停止0.6π和0.8π rad/sample之间的归一化频率。指定0.1 dB的通带纹波。对原始信号进行滤波。

Dy = designfilt(“bandstopiir”“FilterOrder”, 16岁,...“PassbandFrequency1”, 0.6,“PassbandFrequency2”, 0.8,...“PassbandRipple”, 0.1);Y = filter(dy,r);

估计的平方相干性x而且y.使用512个样本的汉明窗口。指定相邻段之间的重叠样本500个,DFT点2048个。

[cxy,fc] = mscohere(x,y,hamming(512),500,2048);

绘制相干函数,叠加滤波器的频率响应。

[qx,f] = freqz(dx);Qy = freqz(dy);情节(fc /π,cxy)情节(f /π,abs(季度)、f /π,abs (qy))

图中包含一个轴对象。axis对象包含3个line类型的对象。

生成一个随机的双通道信号,x.生成另一个信号,y,通过低通滤波两个通道并将它们相加。指定一个30阶FIR滤波器,其截止频率为0.3π,并使用矩形窗口设计。

H = fir1(30,0.3,rectwin(31));X = randn(16384,2);Y = sum(filter(h,1,x),2);

计算的多相干估计x而且y.用1024样本Hann窗口对信号进行窗口化。指定相邻段之间重叠的512个样本和1024个DFT点。绘制估算图。

Noverlap = 512;NFFT = 1024;mscohere (x, y,损害(nfft) noverlap, nfft,“再分配”

图中包含一个轴对象。标题为Coherence Estimate的坐标轴对象通过Welch包含一个类型为line的对象。

将相干估计与滤波器的频率响应进行比较。相干性的下降对应于频率响应的零点。

[H,f] = freqz(H);持有yyaxis正确的情节(f /π,20 * log10 (abs (H)))

图中包含一个轴对象。标题为Coherence Estimate的轴对象通过韦尔奇包含2个类型行对象。

计算和绘制的普通平方相干估计x而且y.任何通道的估计值都不会达到1。

图mscohere (x, y,损害(nfft) noverlap, nfft)

图中包含一个轴对象。标题为Coherence Estimate的轴对象通过韦尔奇包含2个类型行对象。

生成两个多通道信号,每个信号以1千赫采样2秒。第一个信号,即输入信号,由三个频率分别为120hz、360hz和480hz的正弦波组成。第二个信号,即输出信号,由两个频率分别为120hz和360hz的正弦波组成。其中一个正弦信号滞后于第一个信号π/2。另一个正弦波有π/4的滞后。两个信号都嵌入高斯白噪声中。

Fs = 1000;F = 120;T = (0:1/fs:2-1/fs)';Inpt = sin(2*pi*f*[1 3 4].*t);Inpt = Inpt +randn(size(Inpt));Oupt = sin(2*pi*f*[1 3]。* t -(π/ 2π/ 4));Oupt = Oupt +randn(size(Oupt));

估计所有输入信号和每个输出通道之间的相关程度。使用长度为100的汉明窗口来显示数据。mscohere为每个输出通道返回一个相干函数。相干函数在输入和输出共享的频率处达到最大值。

[Cxy f] = mscohere (inpt oupt,汉明(100),[],[],fs,“再分配”);k = 1:尺寸(oupt, 2)次要情节(大小(oupt, 2), 1, k)情节(f, Cxy (:, k))标题([“输出”int2str (k)',所有输入'])结束

图中包含2个轴对象。轴对象1,标题为Output 1,所有输入包含一个类型为line的对象。axis对象2,标题为Output 2,所有输入包含一个类型为line的对象。

切换输入输出信号,计算多重相干函数。使用相同的汉明窗口。在480hz时,输入输出无相关性。因此在第三个相关函数中没有峰值。

[Cxy f] = mscohere (oupt inpt,汉明(100),[],[],fs,“再分配”);k = 1:尺寸(inpt, 2)次要情节(大小(inpt, 2), 1, k)情节(f, Cxy (:, k))标题([“输入”int2str (k)',所有输出'])结束

图中包含3个轴对象。轴对象1,标题为Input 1,所有输出包含一个类型为line的对象。轴对象2,标题为Input 2,所有输出包含一个类型为line的对象。轴对象3,标题为Input 3,所有输出包含一个类型为line的对象。

的绘图功能重复计算mscohere

clf mscohere (oupt inpt,汉明(100),[],[],fs,“再分配”

图中包含一个轴对象。标题为Coherence Estimate的轴对象通过Welch包含3个类型行对象。

计算所述第二信号和所述第一信号的前两个信道的普通相干函数。非峰值值不同于多重相干函数。

[Cxy f] = mscohere (oupt inpt(:,(1 2)),汉明(100),[],[],fs);情节(f, Cxy)

图中包含一个轴对象。axis对象包含2个line类型的对象。

通过计算交叉谱在最大相干点处的夹角来求相位差。

Pxy =运行cpsd (oupt inpt(:,(1 2)),汉明(100),[],[],fs);[~,mxx] = max(Cxy);K = 1:2 fprintf('相位滞后%d = %5.2f*pi\n', k,角(Pxy (mxx (k), k)) / pi)结束
相位滞后1 = -0.51*pi相位滞后2 = -0.22*pi

生成两个正弦信号采样1秒,每个在1千赫。每个正弦波的频率为250hz。其中一个信号在相位上比另一个滞后π/ 3弧度。将两个信号都嵌入单位方差的高斯白噪声中。

Fs = 1000;F = 250;T = 0:1/fs:1-1/fs;Um = sin(2*pi*f*t)+rand(size(t));UN = sin(2*pi*f*t-pi/3)+rand(size(t));

使用mscohere计算和绘制信号的平方相干度。

mscohere(嗯,联合国 ,[],[],[], fs)

图中包含一个轴对象。标题为Coherence Estimate的坐标轴对象通过Welch包含一个类型为line的对象。

修改标题的情节,标签的x的极限y设在。

标题(“平方一致性”)包含(“f (Hz)”) ylim([0 1.1])

图中包含一个轴对象。标题为Magnitude-Squared Coherence的axis对象包含一个类型为line的对象。

使用gca获取当前轴的句柄。更改标记的位置。的标签取下y设在。

Ax = gca;斧子。XTick = 0:250:500; ax.YTick = 0:0.25:1; ax.YLabel.String = [];

图中包含一个轴对象。标题为Magnitude-Squared Coherence的axis对象包含一个类型为line的对象。

调用孩子们属性更改绘制的线条的颜色和宽度。

ln = ax.儿童;ln。Color = [0.8 0 0]; ln.LineWidth = 1.5;

图中包含一个轴对象。标题为Magnitude-Squared Coherence的axis对象包含一个类型为line的对象。

另外,使用而且得到修改行属性。

集(get (gca),“孩子”),“颜色”,[0 0.4 0],“线型”“——”“线宽”,1)

图中包含一个轴对象。标题为Magnitude-Squared Coherence的axis对象包含一个类型为line的对象。

输入参数

全部折叠

输入信号,指定为向量或矩阵。

例子:因为(π/ 4 * (0:159))+ randn (1160)指定嵌入高斯白噪声中的正弦波。

数据类型:|
复数支持:金宝app是的

窗口,指定为整数或行或列向量。使用窗口把信号分成几段:

  • 如果窗口是整数吗mscoherex而且y分成长度的片段窗口并在每个段上设置相同长度的汉明窗口。

  • 如果窗口是向量吗mscoherex而且y成段长度相同的矢量和Windows每个段使用窗口

如果的长度x而且y不能精确地分成整数个段noverlap重叠采样,然后对信号进行相应的截断。

如果你指定窗口空的,那么mscohere使用汉明窗,使x而且y分为八个部分用noverlap重叠的样本。

有关可用窗口的列表,请参见窗户

例子:损害(N + 1)而且(1-cos(2 *π* (0:N) / N)) / 2都指定了长度的汉恩窗口N+ 1。

数据类型:|

重叠样本数,指定为正整数。

  • 如果窗口是标量,那么noverlap必须小于窗口

  • 如果窗口是向量吗noverlap一定要小于的长度窗口

如果你指定noverlap空的,那么mscohere使用在段之间产生50%重叠的数字。如果段长度未指定,则函数设置noverlap对⌊N/ 4.5⌋,N是输入和输出信号的长度。

数据类型:|

DFT点的数目,指定为正整数。如果你指定nfft空的,那么mscohere将此参数设置为马克斯(256 2p,在那里p=⌈日志2N用于输入长度的信号N

数据类型:|

抽样率,指定为正标量。采样率是单位时间内采样的数量。如果时间的单位是秒,那么采样率的单位是Hz。

规范化的频率,指定为至少有两个元素的行或列向量。归一化频率以弧度/样本为单位。

例子:W = [pi/4 pi/2]

数据类型:

频率,指定为包含至少两个元素的行向量或列向量。频率是单位时间内的周期。单位时间由采样率指定,fs.如果fs有样本单位/秒吗f单位是Hz。

例子:Fs = 1000;F = [100 200]

数据类型:

平方相干估计的频率范围,具体为“单向的”双侧的,或“中心”.默认为“单向的”对于实值信号和双侧的对于复值信号。

  • “单向的”-返回两个实值输入信号之间的大小平方相干估计的片面估计,x而且y.如果nfft是偶数,cxynfft/2 + 1行,在间隔内计算[0,πrad /样品。如果nfft是奇数,cxy有(nfft+ 1)/2行,间隔为[0,πrad /样品。如果你指定fs,对应的区间为[0,fs/2]周期/单位时间为偶数nfft和[0,fs/2)周期/单位时间为奇数nfft

  • 双侧的-返回两个实值或复值输入信号之间的平方相干估计的双面估计,x而且y.在这种情况下,cxynfft行,并在间隔内计算[0, 2πrad /样品。如果你指定fs,区间为[0,fs)周期/单位时间。

  • “中心”-返回两个实值或复值输入信号之间的平方相干估计的中心双面估计,x而且y.在这种情况下,cxynfft行,并在间隔内计算(-ππRad /sample for evennfft而且(-ππRad /sample为奇数nfft.如果你指定fs,对应的区间为(-fs/ 2,fs/2]周期/单位时间为偶数nfft和(-fs/ 2,fs/2)周期/单位时间为奇数nfft

输出参数

全部折叠

平方相干估计,以矢量、矩阵或三维数组形式返回。

归一化频率,作为实值列向量返回。

频率,作为实值列向量返回。

更多关于

全部折叠

平方的一致性

平方相干估计是频率的函数,值在0到1之间。这些值表示效果如何x对应于y在每个频率。平方相干是功率谱密度的函数,Pxxf而且Pyyf,交叉功率谱密度,Pxyf的,x而且y

C x y f | P x y f | 2 P x x f P y y f

对于多输入/多输出系统,多相干函数变为

C X y f P X y __ f P X X 1 f P X y f P y y f P x 1 y f P x y f P x 1 x 1 f P x 1 x 2 f P x 1 x f P x 2 x 1 f P x 2 x 2 f P x 2 x f P x x 1 f P x x 2 f P x x f 1 P x 1 y f P x y f 1 P y y f

Th输出信号,其中:

  • X对应于数组输入。

  • PXy-输入和之间的交叉功率谱密度的维向量y

  • PXX——- - - - - -输入功率谱密度和交叉功率谱密度的矩阵。

  • Pyy为输出的功率谱密度。

  • 匕首(†)代表复共轭转置。

算法

mscohere估计平方相干函数[2]采用韦尔奇重叠平均周期图法[3][5]

参考文献

[1] Gómez González, A., J. Rodríguez, X. Sagartzazu, A. Schumacher,和I. Isasa。非平稳信号噪声和振动传播路径分析的时域多重相干法2010年噪声与振动工程国际会议论文集,ISMA2010-USD2010.3927 - 3941页。

[2]凯,史蒂文M。现代谱估计。恩格尔伍德悬崖,新泽西州:Prentice-Hall, 1988。

Rabiner, Lawrence R.和Bernard Gold。数字信号处理理论与应用“,”恩格尔伍德悬崖,新泽西州:Prentice-Hall, 1975。

Stoica, Petre和Randolph Moses。信号的光谱分析。上马鞍河,新泽西州:Prentice Hall, 2005。

[5] Welch, Peter D.“使用快速傅里叶变换估计功率谱:一种基于时间平均的短修正周期图的方法。”IEEE®音频与电声学汇刊。卷AU-15, 1967,第70-73页。

扩展功能

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

R2006a之前介绍