主要内容

实用介绍频域分析

这个例子展示了如何执行和解释基本的频域信号分析。的例子探讨了使用一个信号的频域和时域表示的优点,并使用模拟和实际数据说明了基本概念。的例子回答的基本问题,如:什么是FFT的大小和相位的意思吗?是我的信号周期?我怎么衡量权力?有一个或多个信号在这个乐队吗?

频域分析是信号处理应用程序中至关重要的一个工具。频域分析等领域广泛应用于通信、地质、遥感、图像处理。而时域分析显示信号如何改变随着时间的推移,频域分析显示信号的能量分布的频率范围。还包括频域表示的信息相移,必须应用到每个频率分量,以恢复原来的时间信号与所有单独的频率成分的组合。

之间可以转换一个信号的时间和频率域的数学操作符称为变换。一个例子是傅里叶变换,分解函数的总和(可能无限)正弦波频率成分的数量。的光谱频率成分信号的频域表示。傅里叶反变换将频域函数返回一个时间函数。的fft传输线在MATLAB函数允许你计算信号的离散傅里叶变换(DFT)和它的倒数变换。

FFT的大小和相位信息

的频域表示一个信号携带的信息在每个频率信号的大小和相位。这就是为什么FFT计算的输出是复杂的。一个复数,x美元,有一个真正的一部分,x_r美元一个虚构的部分,x_i美元,这样$ x = x_r + jx_i $。的大小x美元是计算$ \√6 {(x_r ^ 2 + x_i ^ 2)} $的阶段x美元是计算$ \反正切{(x_i / x_r)} $。您可以使用MATLAB函数腹肌分别获得任何复数的大小和相位。

使用音频例子来开发一些了解哪些信息是由一个信号的大小和相位。要做到这一点,加载一个原声吉他音乐的音频文件包含15秒。音频信号的采样率是44.1 kHz。

Fs = 44100;y = audioread (“guitartune.wav”);

使用fft观察信号的频率的内容。

NFFT =长度(y);Y = fft (Y, NFFT);F = ((0:1 / NFFT: 1 - 1 / NFFT) * Fs)。”;

FFT是一个复杂的输出向量包含信号的频谱信息。告诉你级频率成分的强度相对于其他组件。相告诉你的所有频率成分一致。

图的大小和相位分量的频谱信号。大小方便地绘制在对数刻度(dB)。阶段是打开使用打开函数,所以我们可以看到一个连续函数的频率。

magnitudeY = abs (Y);% FFT的大小phaseY =打开(角(Y));% FFT的阶段helperFrequencyAnalysisPlot1 (F, magnitudeY phaseY NFFT)

你可以申请一个傅里叶反变换到频域向量,Y,恢复时间信号。告诉“对称”的旗帜传输线你处理一个实值时间信号,所以将零小的组件出现在逆变换计算中的数值不准确。注意,原始的时间信号,y,恢复信号,y1,几乎是相同的(他们的规范的区别是1 e-14)。很小的差异也是由于上述数值不准确。玩和听取消对日元的信号。

日元=传输线(Y, NFFT,“对称”);规范(y-y1)
ans = 3.7851 e-14
hplayer = audioplayer (y1、Fs);玩(hplayer);

看到改变的幅度响应信号的影响,消除频率成分1 kHz以上直接从FFT输出(通过使震级等于零)和听效应对音频文件的声音。消除高频率成分的信号被称为低通滤波。

Ylp = Y;Ylp (> = 1000 & F < = fs - 1000) = 0;helperFrequencyAnalysisPlot1 (F、abs (Ylp),打开(角(Ylp)), NFFT,超过1赫兹的频率成分已经瞄准的)

过滤回时域信号使用传输线

ylp =传输线(ylp,“对称”);

打信号。你仍然可以听到悦耳的音符,但这听起来像是如果你覆盖你的耳朵(你过滤高频率的声音,当你这样做)。尽管吉他产生指出,在400年和1 kHz,当你扮演一个注意在一个字符串,字符串也振动频率的倍数基地。这些更高的频率成分,称为谐波,是给吉他它特殊的音调。当你删除它们,你让声音显得“不透明”。

hplayer = audioplayer (ylp (Fs);玩(hplayer);

阶段的信号有重要信息在时间这首歌的音符出现。为了说明阶段对音频信号的重要性,消除相位信息完全通过每个频率分量的大小。请注意,这样做你级响应不变。

%的每个信号的FFT组件的大小Yzp = abs (Y);helperFrequencyAnalysisPlot1 (F、abs (Yzp),打开(角(Yzp)), NFFT, [],阶段已经被设置为0的)

得到信号在时间域和播放音频。你不能认识到原来的声音。级响应是相同的,这一次没有频率成分已被移除,但音符的顺序完全消失了。正弦信号的信号现在由一组一致的时间等于零。一般而言,相位失真引起的过滤能破坏一个信号使其面目全非的地步。

yzp =传输线(yzp,“对称”);hplayer = audioplayer (yzp, Fs);玩(hplayer);

发现信号周期的研究

信号的频域表示允许您观察信号的几个特征,要么是不容易看到的,或者根本不可见当你看信号在时域。例如,频域分析变得有用,当你正在寻找循环行为的一个信号。

分析温度的循环行为在一个办公大楼

考虑一套温度测量在一个办公大楼在冬天的季节。每30分钟测量约16.5周。看看时间域数据与时间轴缩放周。会有周期性的行为在这个数据吗?

负载officetemp.matFs = 1 / (60 * 30);%采样率是1样本每30分钟t =(0:长度(临时)1)/ Fs;helperFrequencyAnalysisPlot2 (t /(60 * 60 * 24 * 7),温度,“在周”,“温度(华氏)”)

几乎不可能知道有任何办公室的温度循环行为通过观察时域信号。然而,温度的循环行为变得很明显,如果我们看它的频域表示。

获取信号的频域表示。如果你情节FFT输出的大小与频率轴扩展周期/星期,你可以看到,有两个谱线明显大于其他频率分量。一个谱线位于1周期/周,另一个位于7周期/周。这是有道理的,因为数据来自一个温度控制的基础上一个7天的日历。第一个谱线表明建筑温度按照每周周末循环温度较低和较高的温度。第二行表明,每天还有一个周期在夜间气温较低和较高的温度。

NFFT =长度(临时);% FFT点数F = (0: 1 / NFFT: 1/2-1 / NFFT) * Fs;%频率向量TEMP = fft(临时、NFFT);临时(1)= 0;%去除直流分量为更好的可视化helperFrequencyAnalysisPlot2 (F * 60 * 60 * 24 * 7, abs(临时(1:NFFT / 2)),的频率(周期/周),“级”10 [][],[0])

测量能力

周期图函数计算信号的FFT和规范输出获得功率谱密度,PSD,或者你可以测量功率的功率谱。PSD的描述了一个时间信号与频率分布,它的单位是瓦特/ Hz。计算功率谱的积分每一点的PSD的频率间隔点是定义(即分辨率带宽的PSD)。功率谱的单位是瓦特。你可以阅读能力值直接从功率谱,而无需集成在一个时间间隔。注意,PSD和功率谱是真实的,所以它们不包含任何相位信息。

测量谐波非线性功率放大器的输出

加载数据测量的输出功率放大器,三阶畸变的形式$ v_o = v_i v_i ^ 2 + 0.75 + 0.5 v_i ^ 3美元,在那里v_o美元输出电压和吗v_i美元是输入电压。数据捕获和3.6 kHz的采样率。输入v_i美元由一个60 Hz正弦信号振幅与团结。由于非线性失真的性质,你应该期望放大器输出信号包含直流分量,60赫兹组件,第二和第三次谐波在120和180赫兹。

负载放大器输出的3600个样本,计算功率谱,情节导致对数刻度(decibels-watts或瓦分贝)。

负载ampoutput1.matFs = 3600;NFFT =长度(y);%计算功率谱时通过输入“权力”的旗帜[P F] =周期图(y, [], NFFT Fs,“权力”);helperFrequencyAnalysisPlot2 (F, 10 * log10 (P),“赫兹频率”,的功率谱(瓦分贝)[][],[200 - -0.5])

功率谱的情节显示四个预期中的三个山峰在直流,60岁,120赫兹。它还显示了几个虚假的峰值,必须引起的噪音信号。注意,180 Hz谐波完全埋在噪音。

测量的力量明显的预期高峰:

PdBW = 10 * log10 (P);power_at_DC_dBW = PdBW (F = = 0)%瓦分贝[peakPowers_dBW, peakFreqIdx] = findpeaks (PdBW,“minpeakheight”,-11);peakPowers_dBW peakFreqs_Hz = F (peakFreqIdx)
power_at_DC_dBW 60 120 peakPowers_dBW = -0.3175 - -10.2547 = -7.8873 peakFreqs_Hz =

提高功率测量噪声信号

看到上面的情节,周期图展示了几个频率峰值不相关感兴趣的信号。频谱看起来很吵。这样做的原因是,你只分析一个短实现噪声信号。多次重复实验,平均将消除虚假谱峰和产生更精确的测量。你可以实现这一平均使用pwelch函数。这个函数将一个大型数据向量,把它分成小段指定的长度,计算出尽可能多的周期图有段,和平均。随着可用段的数量增加,pwelch函数将产生平滑功率谱(方差)功率值接近预期的值。

负载组成的一个更大的观察500年e3的放大器的输出。保持点用于执行fft算法的数量为3600,这样地板(500 e3/3600) = 138 fft算法平均得到功率谱。

负载ampoutput2.matSegmentLength = NFFT;%计算功率谱时通过输入“权力”的旗帜[P F] = pwelch (y)的(SegmentLength, 1), 0, NFFT, Fs,“权力”);helperFrequencyAnalysisPlot2 (F, 10 * log10 (P),“赫兹频率”,的功率谱(瓦分贝)[][],[200 - -0.5])

看到的情节,pwelch有效地删除所有的杂散频率峰值由噪声引起的。光谱分量在180赫兹,葬在噪音现在是可见的。平均删除从频谱方差,这实际上收益率更精确的测量。

总平均功率和功率测量频带

测量的总平均功率时域信号是一个简单和常见的任务。放大器的输出信号,y,总在时域计算平均功率为:

压水式反应堆= (y ^ 2)之和/长度(y)%的美国瓦茨
压水式反应堆= 8.1697

在频域,计算总平均功率的功率之和的所有频率成分的信号。pwr1包含的值的总和所有可用的频率成分信号的功率谱。同意上面的压水式反应堆的价值计算值使用时域信号:

pwr1 = (P)和%的美国瓦茨
pwr1 = 8.1698

但是,如果你想测量频率的总功率可用在一个乐队吗?您可以使用bandpower函数来计算在任意频段的力量。你可以直接时域信号作为输入传递给这个函数获得对指定的乐队。在这种情况下,函数将估计的功率谱周期图方法。

计算功率超过50赫兹到70赫兹乐队。结果将包括60 Hz电源+噪声功率/乐队感兴趣的:

pwr_band = bandpower (y, Fs, [70]);pwr_band_dBW = 10 * log10 (pwr_band)%瓦分贝
pwr_band_dBW = 0.0341

如果你想控制的计算功率谱用来测量的力量在一个乐队,你可以通过一个PSD向量bandpower函数。例如,您可以使用pwelch函数作为你之前计算的PSD,确保平均噪声效应:

%计算功率谱密度时指定psd的选项(PSD, F) = pwelch (y)的(SegmentLength, 1), 0, NFFT, Fs,psd的);pwr_band1 = bandpower (PSD F [70],psd的);pwr_band_dBW1 = 10 * log10 (pwr_band1)%瓦分贝
pwr_band_dBW1 = 0.0798

发现谱组件

一个信号可以由一个或多个频率成分。观察所有谱组件的能力取决于你分析的频率分辨率。的频率分辨率或分辨率带宽功率谱定义为R = Fs / N,其中N是观测信号的长度。只有谱组件由一个频率大于频率分辨率将得到解决。

分析建筑的地震振动控制系统

主动质量驱动(AMD)控制系统是用来减少建筑物在地震下的振动。主动质量驱动程序放置在大楼的顶层,基于位移和加速度测量建筑物的地板,一个控制系统发送信号给司机,这样质量措施减弱地面干扰。加速度测量记录在第一层的三层结构在地震条件下进行测试。没有主动质量驱动控制测量系统(开环条件),和主动控制系统(闭环条件)。

载荷加速度数据和计算加速度功率谱的一楼。数据向量的长度是10 e3和采样率是1 kHz。使用pwelch段的长度为64数据点获得地板(10 e3/64) = 156 FFT平均值和分辨率带宽Fs / 64 = 15.625赫兹。如上所示,平均减少噪声影响,收益率更精确的测量。使用512点FFT。有效利用NFFT > N篡改频率点呈现一个更详细的光谱图(这是通过附加NFFT-N 0年底的时间信号和NFFT-point FFT的零的向量)。

开环和闭环加速度功率谱表明,当控制系统被激活时,加速度功率谱下降4至11分贝。的最大衰减发生在大约23.44 kHz。11分贝降低意味着振动功率减少了12.6倍。总功率从0.1670减少到0.059瓦,2.83倍。

负载quakevibration.matFs = 1 e3;%采样率NFFT = 512;% FFT点数segmentLength = 64;%区段长度%开环加速度功率谱[P1_OL F] = pwelch (gfloor1OL (segmentLength, 1), 0, NFFT, Fs,“权力”);%闭环加速度功率谱P1_CL = pwelch (gfloor1CL (segmentLength, 1), 0, NFFT, Fs,“权力”);helperFrequencyAnalysisPlot2 (F, 10 * log10 (((P1_OL) (P1_CL))),“赫兹频率”,“dB加速度功率谱”,分辨率带宽= 15.625赫兹的,{“开环”,“闭环”},100年[0])

分析振动数据和你知道振动循环行为。那么为什么上面所示的谱图不含任何尖锐的谱线的典型循环行为?也许你是失踪的这些线,因为他们无法与该决议获得64点段的长度吗?提高频率分辨率,看看还有没有可解析的谱线。通过增加使用的数据段的长度吗pwelch函数512点。这产生了一个新的解决Fs / 512 = 1.9531赫兹。在这种情况下,FFT的数量平均减少地板(10 e3/512) = 19。显然,之间有一个权衡平均数量和频率分辨率在使用pwelch。保持FFT点数等于512。

NFFT = 512;% FFT点数segmentLength = 512;%区段长度[P1_OL F] = pwelch (gfloor1OL (segmentLength, 1), 0, NFFT, Fs,“权力”);P1_CL = pwelch (gfloor1CL (segmentLength, 1), 0, NFFT, Fs,“权力”);helperFrequencyAnalysisPlot2 (F, 10 * log10 (((P1_OL) (P1_CL))),“赫兹频率”,“dB加速度功率谱”,分辨率带宽= 1.95赫兹的,{“开环”,“闭环”},100年[0])

注意提高频率分辨率允许你去观察三峰开环闭环谱谱和两个。这些山峰不是可解决的。在开环谱峰之间的分离是大约11赫兹小于频率分辨率得到段长度64但大于该决议获得512年段的长度。振动的循环行为现在是可见的。主要的振动频率是5.86赫兹,平均间隔频率峰值表明谐波相关。虽然已经观察到整个控制系统减少了振动,高分辨率光谱显示控制系统的另一个作用就是切口在17.58赫兹的谐波分量。因此控制系统不仅减少了振动,也让它更接近正弦曲线。

重要的是要注意,频率分辨率是由信号点的数量决定的,不是由FFT点数的数量。增加了频率FFT点数篡改数据给你更多细节频谱,但并不能提高分辨率。

结论

在这个示例中,您了解了如何执行一个信号的频域分析使用fft,传输线,周期图,pwelch,bandpower功能。你理解的复杂本质FFT中包含的信息是什么大小和频谱的相位。你看到使用时频域数据分析的优点的周期性信号。您了解了如何计算总功率或对特定频带的频率的噪声信号。你明白如何提高光谱的频率分辨率可以观察密集频率成分和您了解了平均频率分辨率和光谱之间的权衡。

进一步的阅读

更多信息在频域分析信号处理工具箱。

参考:J.G. Proakis和d . g . Manolakis“数字信号处理。原理、算法和应用程序”,普伦蒂斯霍尔,1996。

附录

本例中使用以下辅助函数。

另请参阅

|||