主要内容

pwelch

韦尔奇的功率谱密度估计

说明

pxx = pwelch(x) 返回使用韦尔奇交叠分段平均法估计器的信号 x 的功率谱密度 (PSD) 估计值。该函数将 x 的列视为独立通道。

示例

[pxx,f] = pwelch(x,win,nOverlap,freqSpec) 返回信号 x 的韦尔奇 PSD 估计值和频率 f(弧度/采样点),其中 pwelch 函数:

  • 使用 win 将信号分段并对其加窗。

  • 使用 nOverlap 中指定的重叠长度来重叠相邻段之间的采样。

  • freqSpec 中指定的 DFT 点数或频率处计算每个加窗段的离散傅里叶变换 (DFT)。

要对这些输入参量中的任一个使用默认值,请将它们指定为空,即 []

示例

[pxx,f] = pwelch(x,win,nOverlap,freqSpec,Fs) 指定采样率 Fs 并以 Hz 为单位返回周期性频率 f

示例

[___] = pwelch(___,freqRange,spectrumType,trace) 还为上述任一语法指定频率范围、频谱类型和跟踪模式。您可以指定这些输入参量的任意组合。

示例

[___,pxxc] = pwelch(___,ConfidenceLevel=p)p 中返回 PSD 估计值的 pxxc × 100% 置信区间。

示例

[___] = pwelch(___,Parent=h) 在目标父容器 h 中绘制韦尔奇 PSD 估计值或功率谱。

示例

不带输出参量的 pwelch(___) 在当前图窗窗口中绘制韦尔奇 PSD 估计值或功率谱。

示例

示例

全部折叠

获取一个输入信号的韦尔奇 PSD 估计值,该输入信号由角频率为 π/4 弧度/采样点的离散时间正弦信号和加性 N(0,1) 白噪声组成。

创建一个角频率为 π/4 弧度/采样点并具有加性 N(0,1) 白噪声的正弦波。重置随机数生成器以获得可重现的结果。信号的长度为 Nx=320 个采样。

rng("default")

n = 0:319;
x = cos(pi/4*n) + randn(size(n));

使用默认汉明窗和 DFT 长度获取韦尔奇 PSD 估计值。默认段长度为 71 个采样,DFT 长度为 256 个点,产生 2π/256 弧度/采样点的频率分辨率。由于信号是实数值信号,周期图为单边型并且有 256/2+1 个点。绘制韦尔奇 PSD 估计值。

pxx = pwelch(x);

pwelch(x)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Normalized Frequency ( times pi rad/sample), ylabel Power/Frequency (dB/(rad/sample)) contains an object of type line.

重复该计算。

  • 将信号分成长度为 nsc=Nx/4.5 的若干段。此操作等效于将信号分成尽可能长的段,以获得接近但不超出 8 个叠加率为 50% 的段。

  • 使用汉明窗对这些段进行加窗处理。

  • 指定连续段之间的重叠率为 50%

  • 为了计算 FFT,请使用 max(256,2p) 个点,其中 p=log2nsc

验证这两种方法是否给出相同的结果。

Nx = length(x);
nsc = floor(Nx/4.5);
nov = floor(nsc/2);
nff = max(256,2^nextpow2(nsc));

pxxt = pwelch(x,hamming(nsc),nov,nff);

maxerr = max(abs(abs(pxxt(:)) - abs(pxx(:))))
maxerr = 
0

将信号分成 8 个等长的段,段之间的重叠率为 50%。指定与上一步相同的 FFT 长度。计算韦尔奇 PSD 估计值,并验证它是否与前两个过程的结果相同。

ns = 8;
ov = 0.5;
lsc = floor(Nx/(ns-(ns-1)*ov));

pxxt8 = pwelch(x,lsc,floor(ov*lsc),nff);

maxerr8 = max(abs(abs(pxxt8(:)) - abs(pxx(:))))
maxerr8 = 
0

获取一个输入信号的韦尔奇 PSD 估计值,该输入信号由角频率为 π/3 弧度/采样点的离散时间正弦信号和加性 N(0,1) 白噪声组成。

创建一个角频率为 π/3 弧度/采样点并具有加性 N(0,1) 白噪声的正弦波。重置随机数生成器以获得可重现的结果。信号有 512 个采样。

rng("default")

n = 0:511;
x = cos(pi/3*n) + randn(size(n));

通过将信号分成长度为 132 个采样的段来获取韦尔奇 PSD 估计值。信号段乘以长度为 132 个采样的汉明窗。未指定重叠采样数,因此设置为 132/2 = 66。DFT 长度为 256 个点,产生 2π/256 弧度/采样点的频率分辨率。由于信号是实数值信号,PSD 估计值为单边型并且有 256/2+1 = 129 个点。绘制 PSD 随归一化频率变化的图。

segmentLength = 132;
[pxx,w] = pwelch(x,segmentLength);

plot(w/pi,pow2db(pxx))
xlabel("Normalized Frequency (\times \pi rad/sample)")
title("Welch Power Spectral Density Estimate")

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Normalized Frequency ( times pi rad/sample) contains an object of type line.

获取一个输入信号的韦尔奇 PSD 估计值,该输入信号由角频率为 π/4 弧度/采样点的离散时间正弦信号和加性 N(0,1) 白噪声组成。

创建一个角频率为 π/4 弧度/采样点并具有加性 N(0,1) 白噪声的正弦波。重置随机数生成器以获得可重现的结果。信号长度为 320 个采样。

rng("default")

n = 0:319;
x = cos(pi/4*n) + randn(size(n));

通过将信号分成长度为 100 个采样的段来获取韦尔奇 PSD 估计值。信号段乘以长度为 100 个采样的汉明窗。重叠采样数为 25。DFT 长度为 256 个点,产生 2π/256 弧度/采样点的频率分辨率。由于信号是实数值信号,PSD 估计值为单边型并且有 256/2+1 个点。

segmentLength = 100;
noverlap = 25;
pxx = pwelch(x,segmentLength,noverlap);

plot(pow2db(pxx))
xlabel("Frequency Samples")
title("Welch Power Spectral Density Estimate")

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Frequency Samples contains an object of type line.

获取一个输入信号的韦尔奇 PSD 估计值,该输入信号由角频率为 π/4 弧度/采样点的离散时间正弦信号和加性 N(0,1) 白噪声组成。

创建一个角频率为 π/4 弧度/采样点并具有加性 N(0,1) 白噪声的正弦波。重置随机数生成器以获得可重现的结果。信号长度为 320 个采样。

rng("default")

n = 0:319;
x = cos(pi/4*n) + randn(size(n));

通过将信号分成长度为 100 个采样的段来获取韦尔奇 PSD 估计值。使用默认重叠率 50%。指定 DFT 长度为 640 个点,以使 π/4 弧度/采样点的频率对应于一个 DFT bin (bin 81)。由于信号是实数值信号,PSD 估计值为单边型并且有 640/2+1 个点。

segmentLength = 100;
nfft = 640;
pxx = pwelch(x,segmentLength,[],nfft);

plot(pow2db(pxx))
xlabel("Frequency Points")
title("Welch Power Spectral Density Estimate")

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Frequency Points contains an object of type line.

创建一个信号,该信号包含在加性 N(0,1) 白噪声中的一个 100 Hz 正弦波。重置随机数生成器以获得可重现的结果。采样率为 1 kHz,信号持续时间为 5 秒。

rng("default")

Fs = 1000;
t = 0:1/Fs:5-1/Fs;
x = cos(2*pi*100*t) + randn(size(t));

获取上述信号的韦尔奇交叠分段平均法 PSD 估计值。使用一个长度为 500 个采样的段,其中有 300 个重叠采样。使用 500 个 DFT 点,以使 100 Hz 恰好位于一个 DFT bin 上。输入采样率以输出以 Hz 为单位的频率向量。绘制结果。

[pxx,f] = pwelch(x,500,300,500,Fs);

plot(f,pow2db(pxx))

xlabel("Frequency (Hz)")
ylabel("PSD (dB/Hz)")

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains an object of type line.

创建一个信号,该信号由三个含噪正弦波和一个以 200 kHz 进行 0.1 秒采样的啁啾组成。这些正弦波的频率分别为 1 kHz、10 kHz 和 20 kHz。这些正弦波具有不同振幅和噪声电平。无噪声啁啾的频率从 20 kHz 开始,并在采样期间线性增大到 30 kHz。

rng("default")
Fs = 200e3; 
Fc = [1 10 20]'*1e3; 
Ns = 0.1*Fs;

t = (0:Ns-1)/Fs;
x = [1 1/10 10]*sin(2*pi*Fc*t) + [1/200 1/2000 1/20]*randn(3,Ns);
x = x + chirp(t,20e3,t(end),30e3);

计算信号的韦尔奇 PSD 估计值以及最大值保持和最小值保持频谱。绘制结果。

[pxx,f] = pwelch(x,[],[],[],Fs);
pmax = pwelch(x,[],[],[],Fs,"maxhold");
pmin = pwelch(x,[],[],[],Fs,"minhold");

plot(f,pow2db(pxx))
hold on
plot(f,pow2db([pmax pmin]),":")
hold off
xlabel("Frequency (Hz)")
ylabel("PSD (dB/Hz)")
legend(["pwelch" "maxhold" "minhold"])

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

重复此过程,这次计算中心化功率谱估计值。

[pxx,f] = pwelch(x,[],[],[],Fs,"centered","power");
pmax = pwelch(x,[],[],[],Fs,"maxhold","centered","power");
pmin = pwelch(x,[],[],[],Fs,"minhold","centered","power");

plot(f,pow2db(pxx))
hold on
plot(f,pow2db([pmax pmin]),":")
hold off
xlabel("Frequency (Hz)")
ylabel("Power (dB)")
legend(["pwelch" "maxhold" "minhold"])

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel Power (dB) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

此示例说明置信边界与韦尔奇交叠分段平均法 (WOSA) PSD 估计值的用法。在韦尔奇估计值中,如果某个频率的置信边界下限超出周围 PSD 估计值的置信边界上限,则清楚地表明时间序列中存在显著的振荡,虽然这不是统计意义的必要条件。

创建一个信号,该信号包含在加性白 N(0,1) 噪声中叠加的 100 Hz 和 150 Hz 正弦波。这两个正弦波的振幅为 1。采样率为 1 kHz。重置随机数生成器以获得可重现的结果。

rng("default")
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t) + sin(2*pi*150*t) + randn(size(t));

获取具有 95% 置信边界的 WOSA 估计值。将段长度设置为 200 个采样,并使段重叠 50%(100 个采样)。

L = 200;
win = hamming(L);
nOverlap = 100;
[pxx,f,pxxc] = pwelch(x,win,nOverlap,200,Fs,ConfidenceLevel=0.95);

绘制 WOSA PSD 估计值以及置信区间,并放大在 100 Hz 和 150 Hz 附近的感兴趣频率区域。紧靠 100 Hz 和 150 Hz 的置信边界下限显著高于 100 Hz 和 150 Hz 以外的置信边界上限。

plot(f,pow2db(pxx))
hold on
plot(f,pow2db(pxxc),"-.",Color=[0.866 0.329 0])
hold off

xlim([25 250])
xlabel("Frequency (Hz)")
ylabel("PSD (dB/Hz)")
title("Welch Estimate with 95%-Confidence Bounds")

Figure contains an axes object. The axes object with title Welch Estimate with 95%-Confidence Bounds, xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains 3 objects of type line.

创建一个信号,该信号包含在加性 N(0,1/4) 白噪声中的一个 100 Hz 正弦波。重置随机数生成器以获得可重现的结果。采样率为 1 kHz,信号持续时间为 5 秒。

rng("default")

Fs = 1000;
t = 0:1/Fs:5-1/Fs;

noisevar = 1/4;
x = cos(2*pi*100*t) + sqrt(noisevar)*randn(size(t));

使用韦尔奇方法获取以 DC 为中心的功率谱。使用 500 个采样(具有 300 个重叠采样)的段长度和 500 个点的 DFT 长度。

[pxx,f] = pwelch(x,500,300,500,Fs,"centered","power");

绘制结果。在 -100 Hz 和 100 Hz 处的功率接近于 1/4 的预期功率,这是振幅为 1 的实数值正弦波的功率。与 1/4 的偏差是加性噪声造成的。

plot(f,pow2db(pxx))
xlabel("Frequency (Hz)")
ylabel("Magnitude (dB)")
grid

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

生成一个多通道信号的 1024 个采样,该信号包含在加性 N(0,1) 高斯白噪声中叠加的三个正弦波。这些正弦波的频率为 π/2π/3π/4 弧度/采样点。使用韦尔奇方法估计信号的 PSD 并对其绘图。

N = 1024;
n = 0:N-1;

w = pi./[2;3;4];

rng("default")
x = cos(w*n)' + randn(length(n),3);

pwelch(x)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Normalized Frequency ( times pi rad/sample), ylabel Power/Frequency (dB/(rad/sample)) contains 3 objects of type line.

自 R2026a 起

在指定的目标坐标区和面板容器中绘制四个信号的韦尔奇功率谱密度 (PSD) 估计值和韦尔奇功率谱。

创建四个振荡信号,采样率为 10 kHz,持续三秒。

Fs = 10e3;
t = 0:1/Fs:3;
x1 = sinc(Fs/2.5*(t-mean(t)));
x2 = sum(cos(2*pi*600*[1 3 5 7]'.*t),1) + randn(size(t))/1e4;
x3 = exp(1j*pi*sin(4*t)*Fs/10);
x4 = chirp(t,Fs/10,t(end),Fs/2.5,"quadratic");

在目标坐标区中绘制韦尔奇 PSD 估计值和功率谱

在新图窗窗口的西南角和东北角创建两个坐标区。

fig = figure;
ax1 = axes(fig,Position=[0.09 0.1 0.52 0.45]);
ax2 = axes(fig,Position=[0.55 0.7 0.42 0.25]);

分别在图窗的西南和东北坐标区中绘制信号 x1x2 的韦尔奇 PSD 估计值和韦尔奇功率谱。使用包含 256 个采样的凯塞窗、长度为 220 个采样的重叠和 512 个 DFT 点。

g = kaiser(256,5);
ol = 220;
nfft = 512;

pwelch(x1,g,ol,nfft,Fs,Parent=ax1)
pwelch(x2,g,ol,nfft,Fs,"power",Parent=ax2)

Figure contains 2 axes objects. Axes object 1 with title Welch Power Spectral Density Estimate, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains an object of type line. Axes object 2 with title Welch Power Spectrum Estimate, xlabel Frequency (kHz), ylabel Power (dB) contains an object of type line.

在目标 UI 坐标区中绘制韦尔奇 PSD 估计值

在新 UI 图窗窗口的西北角创建一个坐标区。

uif = uifigure(Position=[100 100 720 540]);
ax3 = uiaxes(uif,Position=[5 305 300 200]);

在图窗坐标区上绘制信号 x3 的韦尔奇 PSD 估计值。以 0 kHz 为中心显示频率。

pwelch(x3,g,ol,nfft,Fs,"centered",Parent=ax3)
title(ax3,"Welch PSD in UI Axes")

Figure contains an axes object. The axes object with title Welch PSD in UI Axes, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains an object of type line.

在目标面板容器中绘制韦尔奇 PSD 估计值

在 UI 图窗窗口的东南角添加一个面板容器。

p = uipanel(uif,Position=[300 5 400 325], ...
    Title="Welch PSD in Panel Container", ...
    BackgroundColor="white");

在该面板容器上绘制信号 x4 的韦尔奇 PSD 估计值。将置信水平设置为 90%。

pwelch(x4,g,ol,nfft,Fs,ConfidenceLevel=0.9,Parent=p)

Figure contains 2 axes objects and another object of type uipanel. Axes object 1 with title Welch Power Spectral Density Estimate, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains 3 objects of type line. These objects represent Power Spectral Density, 90% Confidence Interval. Axes object 2 with title Welch PSD in UI Axes, xlabel Frequency (kHz), ylabel Power/Frequency (dB/Hz) contains an object of type line.

输入参数

全部折叠

输入信号,指定为向量或矩阵。如果将 x 指定为矩阵,则 pwelch 将其列视为独立通道。

示例: cos(pi/4*(0:159))+randn(1,160) 是单通道行向量信号。

示例: cos(pi./[4;2]*(0:159))'+randn(160,2) 是双通道信号。

数据类型: single | double
复数支持:

窗,指定为空数组 ([])、正整数或向量。

pwelch 函数将输入信号 x 分段,并使用窗计算段采样与窗值的逐元素乘积。窗值取决于您如何指定此参量。

  • 空数组 ([]) - pwelch 使用汉明窗,其长度使得 x 分成八个段,段之间具有 nOverlap 个重叠采样。

  • 正整数 - pwelchx 分成长度为 win 的段,并使用该长度的汉明窗。

  • 向量 - pwelchx 分成与向量 win 长度相同的段,并使用在 win 中指定的窗。

如果 x 的长度无法整除分成具有 nOverlap 个重叠采样的整数段,则 pwelch 会相应地截断 x

有关可用窗的列表,请参阅加窗法

注意

默认汉明窗具有 42.5 dB 的旁瓣衰减,这可能会遮挡低于此值的频谱成分(相对于峰值频谱成分)。选择不同窗使您能够在分辨率(例如,使用矩形窗)和旁瓣衰减(例如,使用汉宁窗)之间进行权衡。有关更多详细信息,请参阅窗设计器

示例: hann(N+1)(1-cos(2*pi*(0:N)'/N))/2 都指定长度为 N + 1 的汉宁窗。

数据类型: single | double

重叠采样的数量,指定为空数组 ([]) 或非负整数。

  • 空数组 ([]) - pwelch 使用生成段之间有 50% 重叠的数。

    如果未指定段长度,则函数将 nOverlap 设置为 Nx / 4.5⌋,其中 Nx 是输入信号的长度,⌊ ⌋ 符号表示向下取整函数。此操作等效于将信号分成尽可能长的段,以获得接近但不超出 8 个重叠率为 50% 的段。

  • 非负整数 - pwelch 使用此参量中指定的采样数重叠相邻段。

    • 如果 win 是标量,则 nOverlap 必须小于 win

    • 如果 win 是向量,则 nOverlap 必须小于 win 的长度。

频率设定,指定为以下值之一:

  • 空值 [] - pwelch 使用 256 或大于等于窗长度的下一个 2 的幂中的较大者作为 DFT 点数来计算频谱估计值。

  • 正整数 - pwelch 使用在此参量中指定的 DFT 点数来计算频谱估计值。

    • 如果 freqSpec 大于段长度,则 pwelch 用零填充段数据。

    • 如果 freqSpec 小于段长度,则 pwelchfreqSpec 对对段进行模分区并对生成的段帧求和。

  • 包含至少两个元素的向量 - pwelchfreqSpec 中指定的频率处计算频谱估计值。

    • 如果指定采样率 Fs,则 pwelch 假定 freqSpec 是与 Fs 单位相同的周期性频率。

    • 如果未指定 Fs,则 pwelch 假定 freqSpec 是以弧度/采样点为单位的归一化频率。

示例: freqSpec = 512 指定 512 个 DFT 点。

示例: freqSpec = pi./[8 4 2] 指定一个包含三个归一化频率的向量。

数据类型: single | double

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

  • 如果将 Fs 指定为空数组 [],则 pwelch 假定输入信号 x 的采样率为 1 Hz。

  • 如果未指定 Fs,则 pwelch 假定输入信号 x 的采样率为 2π 弧度/采样点。

PSD 估计值或功率谱的频率范围,指定为 "onesided""twosided""centered"

pwelch 函数返回的 pxx 的行数和频率区间取决于在 freqRange 中指定的值,无论 DFT 点数 freqSpec 是偶数还是奇数,以及是否指定 Fs

freqRangefreqSpecpxx 中的行数

pxx 的频率区间

Fs 未指定

Fs 已指定

"onesided"
(如果 x 是实数值,则为默认值)
偶数freqSpec/2 + 1[0,π] 弧度/采样点[0,Fs/2] 周期/单位时间
奇数(freqSpec + 1)/2[0,π) 弧度/采样点[0,Fs/2) 周期/单位时间
"twosided"
(如果 x 是复数值,则为默认值)
偶数或奇数freqSpec[0,2π) 弧度/采样点[0,Fs) 周期/单位时间
"centered"偶数freqSpec(–π,π] 弧度/采样点(–Fs/2,Fs/2] 周期/单位时间
奇数(–π,π) 弧度/采样点(–Fs/2,Fs/2) 周期/单位时间

注意

  • 如果您将 freqSpec 指定为周期性频率或归一化频率的向量,则不支持此参量。

  • 如果您指定 "onesided" 值,则 pwelch 在所有频率(除了 0 和奈奎斯特频率)上将功率乘以 2 以保持总功率。

  • 如果 x 是复数值,则不支持 "onesided" 值。

数据类型: char | string

功率谱缩放,指定为下列值之一:

  • "psd" - pwelch 返回功率谱密度。

  • "power" - pwelch 对 PSD 的每个估计值进行缩放(缩放量为窗的等效噪声带宽),并返回每个频率处的功率估计值。

下表显示在给定输入信号 x、窗向量 win、重叠长度 nOverlap、频率设定 freqSpec 和采样率 Fs 的情况下,在 pxx 中返回的 PSD 估计值和功率谱估计值之间的缩放关系。

采样率缩放关系
Fs 已指定

psd = pwelch(x,win,nOverlap,freqSpec,Fs,"psd");
pow = pwelch(x,win,nOverlap,freqSpec,Fs,"power");
pow 等效于 psd*enbw(win,Fs)win 是窗向量。

Fs 未指定

psd = pwelch(x,win,nOverlap,freqSpec,"psd");
pow = pwelch(x,win,nOverlap,freqSpec,"power");
那么 pow 等效于 psd*enbw(win,2*pi)

跟踪模式,指定为以下值之一:

  • "mean" - pwelch 通过对每个频率 bin 上的所有段的功率谱估计值取平均值,返回每个输入通道的韦尔奇频谱估计值。

  • "maxhold" - pwelch 通过在每个频率 bin 上选取所有段上的最大功率谱值,返回每个输入通道的最大值保持频谱。

  • "minhold" - pwelch 通过在每个频率 bin 上的所有段上选择最小功率谱值,返回每个输入通道的最小值保持频谱。

PSD 估计值的覆盖概率,指定为 (0,1) 范围内的标量。

如果您指定 ConfidenceLevel=ppxxc,该函数使用真实 PSD 的 p× 100% 区间估计值的上界和下界输出 pxxc

自 R2026a 起

目标父容器,指定为 Axes 对象、UIAxes 对象或 Panel 对象。

如果指定 Parent=h,则无论是否使用输出参量调用函数,pwelch 函数都会在指定的目标父容器上绘制韦尔奇 PSD 估计值或功率谱。

有关 MATLAB® 图形中目标容器和父子关系的详细信息,请参阅图形对象层次结构。有关在 UIAxesPanel 对象中使用 Parent 设计 App 的详细信息,请参阅Plot Spectral Representations of Signal in App Designer

示例: h = axes(figure,Position=[0.1 0.1 0.6 0.5]) 定义坐标区父容器。当您指定 pwelch(x,[],[],[],Parent=h) 时,该函数在父容器 h 中绘制输入信号 x 的韦尔奇 PSD。

输出参量

全部折叠

PSD 估计值或功率谱,以实数值非负列向量或矩阵形式返回。

  • pxx 的每列是 x 对应列的 PSD 估计值或功率谱,具体取决于您如何指定 spectrumType

  • PSD 估计值的单位是输入信号幅值平方/单位频率。例如,如果输入数据 x 的单位是伏特,您指定采样率 Fs(以赫兹为单位),并假设电阻为 1 Ω,则 PSD 估计值的单位是瓦特/赫兹。

  • 功率谱的单位是输入信号的平方幅值单位。例如,如果输入数据 x 的单位是伏特,并且假设电阻为 1 Ω,则 PSD 估计值的单位是瓦特。

与 PSD 估计值相关联的频率,以实数值列向量形式返回。

  • 如果指定 Fs,则 f 包含以赫兹为单位的周期性频率。

  • 如果未指定 Fs,则 f 包含以弧度/采样点为单位的归一化频率。

置信边界,以实数值矩阵形式返回。

  • pxxc 的行数与 pxx 相同。

  • pxxc 的列数是 pxx 的两倍。

    • 奇数列包含置信区间的下界。

    • 偶数列包含置信区间的上界。

    因此,pxxc(m,2*n-1) 是下置信边界,pxxc(m,2*n) 是对应于估计值 pxx(m,n) 的置信边界上限。

  • 置信区间的覆盖概率由 p 输入的值确定。

数据类型: single | double

详细信息

全部折叠

参考

[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.

[2] Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.

扩展功能

全部展开

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

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开