使用FFT功率谱密度估计
这个例子展示了如何获取非参数功率谱密度(PSD)估计相当于周期图使用fft
。示例向您展示如何适当规模的输出fft
就是输入、归一化频率和赫兹,和一个,双面PSD估计。
就是输入采样率
获得一个就是信号采样的周期图1 kHz同时使用fft
和周期图
。比较结果。
创建一个正弦波信号组成的一个100 HzN(0,1)加性噪声。采样频率是1 kHz。信号的长度是1000个样本。使用默认设置随机数发生器的可重复的结果。
rng默认的Fs = 1000;t = 0:1 / Fs: 1 - 1 / f;x = cos(2 *π* 100 * t) + randn(大小(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)”)
计算和绘制周期图使用周期图
。表明这两个结果是一样的。
周期图(x, rectwin(长度(x)),长度(x), Fs)
mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x), Fs))
mxerr = 3.4694 e-18
输入与归一化频率
使用fft
生产的周期图输入使用归一化频率。创建一个正弦波的信号组成N(0,1)加性噪声。正弦波的角频率
rad /样品。使用默认设置随机数发生器的可重复的结果。
rng默认的n = 0:999;x = cos(π/ 4 * n) + randn(大小(n));
获得周期图的使用fft
。信号是实值,甚至长度。因为信号实值,你只需要力量正面或负面频率估计。为了节约总功率,所有频率将发生在两组——积极的和消极的频率的2倍。零频率(DC)和奈奎斯特频率不发生两次。策划的结果。
N =长度(x);xdft = fft (x);xdft = xdft (1: N / 2 + 1);psdx =(1 /(2 *π* N)) * abs (xdft)。^ 2;psdx (2: end-1) = 2 * psdx (2: end-1);频率= 0:(2 *π)/ N:π;情节(频率/π,10 * log10 (psdx))网格在标题(“使用FFT周期图”)包含(的归一化频率(\乘以π\ rad /样本))ylabel (的功率/频率(dB / rad /样本))
计算和绘制周期图使用周期图
。表明这两个结果是一样的。
周期图(x, rectwin(长度(x)),长度(x))
mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x)))
mxerr = 1.4211 e-14
复数的输入与归一化频率
使用fft
生产周期图与归一化频率复值输入。信号是一个复杂的指数的角频率
rad /样品的复值N(0,1)噪音。将随机数字生成器设置为默认设置为可再生的效果。
rng默认的n = 0:999;x = exp (1 j *π/ 4 * n) + 1 j] [1 * randn 2长度(n)) /√(2);
使用fft
获取周期图。由于输入是复数的,获得的周期图
rad /样品。策划的结果。
N =长度(x);xdft = fft (x);psdx =(1 /(2 *π* N)) * abs (xdft)。^ 2;频率= 0:(2 *π)/ N: 2 *π-(2 *π)/ N;情节(频率/π,10 * log10 (psdx))网格在标题(“使用FFT周期图”)包含(的归一化频率(\乘以π\ rad /样本))ylabel (的功率/频率(dB / rad /样本))
使用周期图
获得和情节周期图。比较了PSD的估计。
周期图(x, rectwin(长度(x)),长度(x),双侧的)
mxerr = max (psdx周期图(x, rectwin(长度(x)),长度(x),双侧的))
mxerr = 2.8422 e-14