主要内容

基于FFT的功率谱密度估计

这个例子展示了如何获得等价于周期图的非参数功率谱密度(PSD)估计值fft.这些示例向您展示了如何适当地扩展的输出fft对于偶数长度的输入,对于归一化的频率和赫兹,以及对于单边和双边PSD估计。

带有采样率的偶数长度输入

使用这两种方法获得在1 kHz采样的偶数长度信号的周期图fft周期图.比较结果。

创建一个包含100hz正弦波的信号N(0,1)加性噪声。采样频率为1khz。信号长度为1000个样本。使用随机数生成器的默认设置以获得可重复的结果。

rng默认的Fs = 1000;t = 0:1 / Fs: 1 - 1 / f;X = cos(2*pi*100*t) + randn(size(t));

使用。获取周期图fft.信号是实数且具有偶数长度。因为信号是实数,你只需要对正或负频率的功率估计。为了节省总功率,将两组中出现的所有频率——正频率和负频率——乘以2。零频率(DC)和奈奎斯特频率不会出现两次。策划的结果。

N =长度(x);xdft = fft (x);xdft = xdft (1: N / 2 + 1);psdx = (1/(Fs*N)) * abs(xdft).^2;psdx (2: end-1) = 2 * psdx (2: end-1);频率= 0:Fs /长度(x): Fs / 2;情节(频率、10 * log10 (psdx))网格标题(“使用FFT周期图”)包含(的频率(赫兹)) ylabel (“功率/频率(dB / Hz)”

图中包含一个轴对象。标题为“使用FFT的周期图”的轴对象包含一个类型为line的对象。

使用:计算并绘制周期图周期图.表明两个结果是相同的。

周期图(x, rectwin(长度(x)),长度(x), Fs)

图中包含一个轴对象。标题为“周期图功率谱密度估计”的轴对象包含一个类型为line的对象。

mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x), Fs))
mxerr = 3.4694 e-18

归一化频率输入

使用fft用归一化频率为输入生成周期图。创建一个包含正弦波的信号N(0,1)加性噪声。正弦波的角频率为 π / 4 rad /样品。使用随机数生成器的默认设置以获得可重复的结果。

rng默认的n = 0:999;X = cos(pi/4*n) + randn(size(n));

使用。获取周期图fft.信号是实数且具有偶数长度。因为信号是实数,你只需要对正或负频率的功率估计。为了节省总功率,将两组中出现的所有频率——正频率和负频率——乘以2。零频率(DC)和奈奎斯特频率不会出现两次。策划的结果。

N =长度(x);xdft = fft (x);xdft = xdft (1: N / 2 + 1);psdx = (1/(2*pi*N)) * abs(xdft).^2;psdx (2: end-1) = 2 * psdx (2: end-1);频率= 0:(2 *π)/ N:π;情节(频率/π,10 * log10 (psdx))网格标题(“使用FFT周期图”)包含('归一化频率(\乘以\ rad/sample)') ylabel (的功率/频率(dB / rad /样本)

图中包含一个轴对象。标题为“使用FFT的周期图”的轴对象包含一个类型为line的对象。

使用:计算并绘制周期图周期图.表明两个结果是相同的。

周期图(x, rectwin(长度(x)),长度(x))

图中包含一个轴对象。标题为“周期图功率谱密度估计”的轴对象包含一个类型为line的对象。

mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x)))
mxerr = 1.4211 e-14

频率归一化的复值输入

使用fft生成频率归一化的复值输入的周期图。这个信号是一个角频率为的复指数 π / 4 rad /样品的复值N(0,1)噪音。将随机数生成器设置为可重复结果的默认设置。

rng默认的n = 0:999;x = exp (1 j *π/ 4 * n) + 1 j] [1 * randn 2长度(n)) /√(2);

使用fft获取周期图。因为输入是复数值,所以求周期图 0 2 π rad /样品。策划的结果。

N =长度(x);xdft = fft (x);psdx = (1/(2*pi*N)) * abs(xdft).^2;频率= 0:(2 *π)/ N: 2 *π-(2 *π)/ N;情节(频率/π,10 * log10 (psdx))网格标题(“使用FFT周期图”)包含('归一化频率(\乘以\ rad/sample)') ylabel (的功率/频率(dB / rad /样本)

图中包含一个轴对象。标题为“使用FFT的周期图”的轴对象包含一个类型为line的对象。

使用周期图获取并绘制周期图。比较PSD估计值。

周期图(x, rectwin(长度(x)),长度(x),双侧的

图中包含一个轴对象。标题为“周期图功率谱密度估计”的轴对象包含一个类型为line的对象。

mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x),双侧的))
mxerr = 2.8422 e-14

另请参阅

应用程序

功能