实际介绍了时频分析
这个例子展示了如何执行和解释基本的时频信号分析。在实际应用中,许多信号不稳定。这意味着他们的频域表示(频谱)会随着时间而改变。的例子探讨了优势的利用时频技术在频域或时域表示信号。它回答的基本问题,如:当某一频率分量存在在我的信号?如何增加时间和频率分辨率?我怎么能提高组件的频谱或提取一个特定的模式?我如何测量时频表示的权力?我怎么想象我的信号的时频信息吗?我怎么找到间歇内干扰信号的频率内容感兴趣的?
利用时频分析识别数字的DTMF信号
你几乎可以把任何时变信号的时间间隔足够短信号在每个部分基本上是静止的。时频分析是最常见的由分段频谱估计的信号在短时间内和滑动窗口。的pspectrum
函数使用的谱图
选择计算FFT-based谱估计在每个滑动窗口和允许您可视化的频率信号的内容会随着时间而改变。
考虑数字信号系统的电话拨号。这样一个系统产生的信号被称为双音多频(DTMF)信号。每个拨号数字生成的声音由两个正弦信号的总和 或音调 与频率来自两个互斥组。每一对音调低组的包含一个频率(697 Hz, 770 Hz, 852 Hz, 941 Hz)和一个频率高集团(1209 Hz, 1336 Hz, 1477 Hz),代表了一个独特的符号。以下是电话的频率分配给按钮板:
生成一个DTMF信号和听它。
(音调,Fs) = helperDTMFToneGenerator ();p = audioplayer(音调、Fs、16);玩(p)
听信号,你可以告诉,打一个三位数。但是,你不能告诉的号码。接下来,想象在频域信号在时间和650赫兹到1500赫兹乐队。设置“漏”
参数的pspectrum
函数1使用矩形窗口,提高频率分辨率。
N =元素个数(音调);t = (0: n - 1) / Fs;次要情节(2,1,1)阴谋(1 e3 * t,音调)包含(“时间(ms)”)ylabel (“振幅”)标题(DTMF信号的次要情节(2,1,2)pspectrum(音调,Fs,“漏”,1“FrequencyLimits”(650、1500))
信号的时域图证实存在三个的能量爆发,对应于三个按钮。测量的长度破灭时,你可以把均方根脉冲宽度的信封。
env =信封(音调,80,“rms”);脉冲宽度(env, Fs)
ans =3×10.1041 0.1042 0.1047
标题(“RMS信封的脉冲宽度”)
在这里你可以看到三个脉冲,每一个约100毫秒。但是,你不能告诉人数拨。频域图帮你算出来,因为它显示了信号中出现的频率。
定位的峰值频率估计的平均频率四个不同的频段。
f = [meanfreq(音调,Fs (700 800)),…meanfreq(音调,Fs 900 [800]),…meanfreq(音调,Fs 1000 [900]),…meanfreq(音调,Fs 1400 [1300])];轮(f)
ans =1×4770 852 941 1336
通过匹配估计频率图的电话,你可以说拨号按钮“5”,“8”和“0”。然而,频域图不提供任何类型的时间信息,允许你找出他们拨打的顺序。结合可能是“580”,“508”,“805”,“850”,“085”或“058”。为了解决这个难题,使用pspectrum函数计算光谱图,观察信号的频率含量随时间。
计算谱图在650赫兹到1500赫兹乐队和删除以下内容 10 dB功率只可视化主要频率成分。看到语气及其位置的时间使用时间0%重叠。
pspectrum(音调,Fs,的谱图,“漏”,1“OverlapPercent”0,…“MinThreshold”,-10,“FrequencyLimits”(650、1500));
谱图的颜色编码频率功率水平。黄颜色表示频率含量较高的权力;蓝色表示频率满足于非常低的功率。强烈的黄色水平线表示语气的存在在一个特定的频率。情节清楚地显示了1336赫兹的声音在所有三个拨的数字,告诉你,他们都在第二列的键盘。从情节可以看出频率最低,770 Hz,先拨。最高的频率941赫兹,下一个。中间频率852赫兹,排在最后。因此,拨号码是508。
交易的时间和频率分辨率的最好表示信号
的pspectrum
函数将一个信号分为段。长段提供更好的频率分辨率;短段提供更好的时间分辨率。线段的长度可以控制使用“FrequencyResolution”
和“TimeResolution”
参数。当没有指定频率分辨率和时间分辨率值,pspectrum
试图找到一个好的平衡基于输入信号的时间和频率分辨率的长度。金宝搏官方网站
考虑下面的信号,采样4 kHz,,由太平洋的颤音部分蓝鲸之歌:
负载whaleTrillp = audioplayer (whaleTrill Fs 16);玩(p)
色调的颤音信号由一个序列脉冲。看看时间信号和获得的谱图pspectrum
当没有指定分辨率和时间分辨率设置为10毫秒。设置“漏”
参数1使用矩形窗。因为我们想本地化时间脉冲的位置,设置重叠比例为0。最后,用一个“MinThreshold”
的
60 dB去除背景噪声的谱图视图。
t =(0:长度(whaleTrill) 1) / Fs;图ax₁=情节(3,1,1);情节(t, whaleTrill) ax2 =次要情节(3、1、2);pspectrum (whaleTrill Fs,的谱图,“OverlapPercent”0,…“漏”,1“MinThreshold”,-60)colorbar (ax2,“关闭”)ax3 =次要情节(3,1,3);pspectrum (whaleTrill Fs,的谱图,“OverlapPercent”0,…“漏”,1“MinThreshold”,-60,“TimeResolution”10 e - 3) colorbar (ax3“关闭”)linkaxes (ax₁, ax2 ax3],“x”)
选择的47个毫秒时间分辨率pspectrum
不是足够小,本地化的颤音脉冲光谱图。另一方面,10毫秒的时间分辨率是足以定位每一个颤音脉冲。这就变成了更为明确的如果我们几个脉冲放大:
xlim ([0.3 - 0.55])
现在加载一个发出回声定位脉冲信号,由蝙蝠(Eptesicus fuscus)。测量信号的采样间隔7微秒。分析信号的谱图。
负载batsignalFs = 1 / DT;图pspectrum (batsignal Fs,的谱图)
默认参数值的光谱图显示了四个粗时频脊。减少3千赫频率分辨率值获得每个脊的频率变化的更多细节。
pspectrum (batsignal Fs,的谱图,“FrequencyResolution”,3 e3)
现在观察到的频率山脊更本地化的频率。然而,由于频率和时间分辨率是成反比的,时间分辨率的谱图相当小。设定一个99%的重叠消除时间窗口。使用一个“MinThreshold”
的
60 dB删除不需要的背景内容。
pspectrum (batsignal Fs,的谱图,“FrequencyResolution”3 e3,…“OverlapPercent”,99,“MinTHreshold”,-60)
新设置产生光谱图,清楚地显示了四脊回声定位信号的频率。
时频再赋值
尽管我们已经能够识别四个频率山脊,我们仍然可以看到每个脊分布在几个相邻频率垃圾箱。这是由于泄漏窗口方法的时间和频率。
的pspectrum
函数的估计每个光谱的能量中心估计在时域和频域。如果你的能量重新分配每个估计本接近新的时间和频率的中心,你可以纠正一些泄漏的窗口。为此,您可以使用“再分配”
参数。设置这个参数真正的
计算重新分配信号的谱图。
pspectrum (batsignal Fs,的谱图,“FrequencyResolution”3 e3,…“OverlapPercent”,99,“MinTHreshold”,-60,“再分配”,真正的)
现在频脊和更好的本地化时间要激烈的多。你也可以定位信号能量使用函数fsst
下一节讨论。
重建一个时频脊
考虑下面的录音,组成的线性调频信号的频率随时间和最后一个长条木板的声音。
负载长条木板p = audioplayer (y, Fs, 16);玩(p) pspectrum (y, Fs,的谱图)
让我们重建的一部分“网格”声音通过提取山脊在时频平面上。我们使用fsst
把嘈杂的版本实现信号的频谱,tfridge
确定岭唧唧喳喳的声音,和ifsst
重建唧唧喳喳。降噪过程重构信号。
添加高斯噪声的唧唧声部分“网格”的声音。添加噪声模拟音频录音用便宜的麦克风。检查时频光谱内容。
rng (“默认”)t =(0:长度(y) 1) / Fs;yNoise = y + 0.1 * randn(大小(y));yChirp = yNoise (t < 0.35);pspectrum (yChirp Fs,的谱图,“MinThreshold”,-70)
提高频谱使用傅里叶synchrosqueezed变换,fsst
。fsst
本地化的能量在时频平面上,通过重新分配能量的频率固定的一段时间。计算和情节的synchrosqueezed变换嘈杂的唧唧声。
fsst (yChirp Fs,“桠溪”)
唧唧喳喳,看起来象一个局部脊在时频平面上。确定岭使用tfridge
。情节脊和变换。
海温,[f] = fsst (yChirp Fs);(冰箱,iridge) = tfridge (sst, f, 10);helperPlotRidge (yChirp、Fs、冰箱);
接下来,重建使用脊指数向量线性调频信号iridge
。包括一本岭的两侧。重构信号的谱图。
yrec = ifsst (sst,皇帝(256年,10),iridge,“NumFrequencyBins”1);pspectrum (yrec Fs,的谱图,“MinThreshold”,-70)
重建的山脊消除了噪声信号。玩吵闹的和去噪信号连续听的区别。
p = audioplayer ([yChirp; 0(大小(yChirp)); yrec], Fs, 16);玩(p);
测量能力
考虑一个复杂的线性调频脉冲(lem),这是一种常见的雷达波形。计算信号的谱图1.27微秒,90%的使用时间分辨率重叠。
Fs = 1 e8;bw = 60 e6;t = 0:1 / Fs: 10 e-6;IComp =唧唧声(t, bw / 2, t(结束),bw / 2,“线性”,90)+ 0.15 * randn(大小(t));QComp =唧唧声(t, bw / 2, t(结束),bw / 2,“线性”,0)+ 0.15 * randn(大小(t));IQData = IComp + 1我* QComp;segmentLength = 128;pspectrum (IQData Fs,的谱图,“TimeResolution”1.27 e-6“OverlapPercent”,90)
参数用于计算谱图给一个明确的线性调频信号的时频表示。pspectrum
计算功率谱图,这意味着颜色值对应于真正的力量水平dB。彩条显示的功率电平信号
4 dB。
对数频率刻度可视化
在某些应用程序中,这可能比想象的谱图信号对数频率范围。你可以通过改变来实现这一点YScale
财产的y设在。例如,考虑一个对数线性调频1千赫采样。短促声波的频率增加从10赫兹到400赫兹在10秒。
Fs = 1 e3;t = 0:1 / Fs: 10;fo = 10;f1 = 400;y =唧唧声(f1 t, fo, 10日,“对数”);pspectrum (y, Fs,的谱图,“FrequencyResolution”,1…“OverlapPercent”,90,“漏”,0.85,“FrequencyLimits”,1 f / 2)
唧唧喳喳的声谱图成为一条直线时,对数频率刻度。
甘氨胆酸ax =;斧子。YScale =“日志”;
三维瀑布可视化
与视图
命令,您可以看到一个信号的谱图作为一个三维瀑布图。你也可以改变的显示颜色colormap
函数。
Fs = 10 e3;t = 0:1 / Fs: 2;x1 = vco(锯齿(2 *π* t, 0.5), (0.1 - 0.4) * Fs, Fs);pspectrum (x1, Fs,的谱图,“漏”,0.8)
colormap视图(-45、65)骨
发现使用持久性光谱干扰
持久性光谱信号的时频视图显示一个给定的时间频率的百分比存在于一个信号。持久性光谱在电源频率直方图空间。特定频率持续时间越长在一个信号,信号的发展,它的时间比例越高,因此亮或“热”的颜色显示。使用持久性光谱识别信号隐藏在其他信号。
考虑一个窄带干扰信号嵌入在宽带信号。生成一个啁啾取样1 kHz为500秒。短促声波的频率增加从180赫兹到220赫兹在测量。
fs = 1000;t = (0:1 / fs: 500)”;x =唧唧喳喳(220 t, 180 t(结束),)+ 0.15 * randn(大小(t));
信号还包含一个210 Hz的干扰,一个振幅为0.05,目前只对总信号持续时间的1/6。
idx =地板(长度(x) / 6);(1:idx) = x (1: idx) + 0.05 * cos(2 *π* t (1: idx) * 210);
计算信号的功率谱在100赫兹到290赫兹区间。疲软的正弦信号被唧唧声。
pspectrum (x, fs,“FrequencyLimits”290年[100])
计算出持久性的频谱信号。现在信号组件都清晰可见。
图colormapparulapspectrum (x, fs,“坚持不懈”,“FrequencyLimits”(100 290),“TimeResolution”,1)
结论
在这个示例中,您了解了如何使用pspectrum函数执行时频分析和如何解释谱图数据和能力水平。你学会了如何改变时间和频率分辨率提高信号的理解以及如何提高光谱和提取时频脊fsst
,ifsst
,tfridge
。您了解了如何配置谱图绘制对数频率刻度和三维可视化。最后,您学习了如何找到计算持久性光谱信号的干涉。
附录
本例中使用以下辅助函数。