傅立叶变换是用于执行时域信号的频率和功率频谱分析的工具。
光谱分析研究了离散,均匀采样的数据中包含的频谱。傅里叶变换是一种工具,通过表示在频率空间中来揭示基于时间或空间的信号的频率分量。下表列出了用于表征和解释信号属性的常用量。要了解有关傅里叶变换的更多信息,请参阅傅里叶变换。
数量 | 描述 |
---|---|
X |
采样数据 |
n =长度(x) |
样本数量 |
FS. |
采样频率(每单位时间或空间的样品) |
dt = 1 / fs |
每个样本的时间或空间增量 |
t =(0:n-1)/ fs |
数据的时间或空间范围 |
y = fft(x) |
数据的离散傅里叶变换(DFT) |
abs(y) |
DFT的幅度 |
(ABS(Y)。^ 2)/ n |
DFT的力量 |
FS / N. |
频率增量 |
f =(0:n-1)*(fs / n) |
频率范围 |
FS / 2 |
奈奎斯特频率(频率范围的中点) |
傅立叶变换可以计算随机噪声损坏的信号的频率分量。
以15Hz和40 Hz为单位频率创建信号,并注入随机高斯噪声。
RNG('默认')FS = 100;%样本频率(Hz)t = 0:1 / FS:10-1 / FS;%10秒跨度矢量x =(1.3)* SIN(2 * PI * 15 * T)......%15 Hz组件+(1.7)* SIN(2 * PI * 40 *(T-2))......%40 Hz组件+ 2.5 * randn(尺寸(t));%高斯噪音;
信号的傅立叶变换识别其频率分量。在Matlab®中,FFT.
功能使用快速傅立叶变换算法计算傅立叶变换。采用FFT.
计算信号的离散傅立叶变换。
y = fft(x);
将功率谱绘制为频率的函数。虽然噪声伪装信号在基于时间的空间中的信号的频率分量,但傅里叶变换将它们揭示为电源的尖峰。
n =长度(x);%样本数量f =(0:n-1)*(fs / n);% 频率范围power = abs(y)。^ 2 / n;DFT的%力量绘图(f,power)xlabel('频率')ylabel('力量')
在许多应用中,将以0频率为中心的功率谱更方便,因为它更好地代表了信号的周期性。使用FFTSHIFT.
执行循环偏移的功能y
,并绘制0中心的电源。
y0 = fftshift(y);%shift y值f0 =(-n / 2:n / 2-1)*(fs / n);%0中心频率范围power0 = abs(y0)。^ 2 / n;%0中心功率绘图(F0,Power0)XLabel('频率')ylabel('力量')
您可以使用傅立叶变换来分析音频数据的频谱。
文件bluewhale.au.
包含来自加利福尼亚州海岸的水下麦克风记录的太平洋蓝鲸发声的音频数据。该文件来自维护的动物发声库康奈尔大学生物理学研究计划。
因为蓝鲸呼叫如此之低,他们对人类几乎听不到。数据中的时间尺度由10倍的压缩,以提高音调并使呼叫更清晰可听。读取并绘制音频数据。您可以使用该命令声音(x,fs)
听听音频。
鲸鱼队='bluewhale.au';[x,fs] = audioread(尾离);plot(x)xlabel('样品号码')ylabel('振幅')
第一个声音是“颤音”,后跟三个“呻吟”。此示例分析了单个呻吟。指定大致由第一个呻吟组成的新数据,并更正时间数据以考虑10倍的加速。将截短的信号作为时间的函数绘制。
呻吟= x(2.45e4:3.10e4);T = 10 *(0:1 / FS :(长度(呻吟)-1)/ fs);绘图(T,呻吟)Xlabel('时间(秒)')ylabel('振幅')xlim([0 t(end)])
数据的傅里叶变换识别音频信号的频率分量。在一些处理大量数据的应用中FFT.
,通常会调节输入大小,以便样品的数量是2.这可以使变换计算更快地更快,特别是对于具有大型主要因素的样本尺寸。指定新的信号长度N
这是2的力量,并使用FFT.
功能来计算信号的离散傅立叶变换。FFT.
使用零填充原始数据以增加样本大小。
m =长度(呻吟);%原始样本长度n = pow2(nextpow2(m));%变换长度y = fft(呻吟,n);%DFT信号
通过加速因子调整频率范围,并计算信号的功率范围。该曲线表明,呻吟包括大约17 Hz的基频和一系列谐波,其中强调了第二次谐波。
f =(0:n-1)*(fs / n)/ 10;power = abs(y)。^ 2 / n;绘图(F(1:地板(N / 2)),功率(1:地板(N / 2)))XLabel('频率')ylabel('力量')
FFT.
|FFT2.
|FFTN.
|FFTSHIFT.
|IFFT.
|nextpow2.