经典谱估计

经典谱估计

周期图法

把随机信号 x ( n ) x(n) x(n)的N点观察数据 x N ( n ) x_N(n) xN(n)视为一个能量有限信号,直接取 x N ( n ) x_N(n) xN(n)的傅里叶变换,得到 X N ( e j w ) X_N(e^{jw}) XN(ejw),然后再取其幅值的平方,除以N,作为对 x ( n ) x(n) x(n)真实的功率谱 P ( e j w ) P(e^{jw}) P(ejw)的估计。
P ^ P E R ( w ) = 1 N ∣ X N ( w ) ∣ 2 \hat{P}_{PER}(w) = \frac{1}{N}|X_N(w)|^2 P^PER(w)=N1XN(w)2

        [Pxx,f] = periodgram(xn,window,nfft,fs)
        window: rectwin(length(xn))     hamming(length(xn))  .....

自相关法

x N ( n ) x_N(n) xN(n)估计出自相关函数 r ^ ( m ) \hat{r}(m) r^(m),然后对 r ^ ( m ) \hat{r}(m) r^(m)求傅里叶变换得到 x N ( n ) x_N(n) xN(n)的功率谱,记为 P ^ B T ( w ) \hat{P}_{BT}(w) P^BT(w),并以此作为对 P ( w ) P(w) P(w)的估计。
P ^ B T ( w ) = ∑ m = − M M r ^ ( m ) e − j w m , ∣ M ∣ ≤ N − 1 \hat{P}_{BT}(w) = \sum_{m=-M}^{M} \hat{r}(m) e^{-jwm},\quad |M| \leq N-1 P^BT(w)=m=MMr^(m)ejwm,MN1

         cxn = xcorr(xn,'unbiased');
         P = fft(cxn);

Bertlett法

对L个具有相同均值 μ \mu μ和方差 σ 2 \sigma^2 σ2的独立随机变量 X 1 , X 2 , ⋯   , X L X_1,X_2,\cdots,X_L X1,X2,,XL,新随机变量 X = ( X 1 + X 2 + ⋯ + X L ) / L X = (X_1 + X_2 + \cdots + X_L)/L X=(X1+X2++XL)/L的均值也是 μ \mu μ,但方差变为 σ 2 / L \sigma^2/L σ2/L,小了L倍。由此得到改善 P ^ P E R ( w ) \hat{P}_{PER}(w) P^PER(w)方差特性的一个有效方法。将采样数据 x N ( n ) x_N(n) xN(n)分为L段,每段的长度都是M,即N=LM,第i段数据加矩形窗后,变为 P ^ P E R i ( w ) = 1 M ∑ i = 1 L ∣ ∑ n = 0 M − 1 x N i ( n ) e − i w n ∣ 2 \hat{P}_{PER}^i (w) = \frac{1}{M} \sum_{i=1}^{L} \left|\sum_{n=0}^{M-1} x_N^i(n) e^{-iwn}\right|^2 P^PERi(w)=M1i=1L n=0M1xNi(n)eiwn 2,把 P ^ P E R i ( w ) \hat{P}_{PER}^i (w) P^PERi(w)对应相加,再取平均,得到平均周期图。
P ˉ P E R ( w ) = 1 L ∑ i = 1 L P ^ P E R i ( w ) = 1 M L ∑ i = 1 L ∣ ∑ n = 0 M − 1 x N i ( n ) e − i w n ∣ 2 \bar{P}_{PER}(w) = \frac{1}{L} \sum_{i=1}^{L} \hat{P}_{PER}^i (w) = \frac{1}{ML} \sum_{i=1}^{L} \left|\sum_{n=0}^{M-1} x_N^i(n) e^{-iwn}\right|^2 PˉPER(w)=L1i=1LP^PERi(w)=ML1i=1L n=0M1xNi(n)eiwn 2

Welch法

Welch法是对Bartlett法的改进。在对 x N ( n ) x_N(n) xN(n)分段时,可允许每一段数据有部分的交叠;每一段的数据窗口可以不是矩形窗口,例如使用汉宁窗或汉明窗,记为 d 2 ( n ) d_2(n) d2(n)。这样可以改善由于矩形窗边瓣较大引起的频谱失真。
P ˉ P E R i ( w ) = 1 M U ∣ ∑ n = 0 M − 1 x N i ( n ) d 2 ( n ) e − j w n ∣ 2 \bar{P}_{PER}^i(w) = \frac{1}{MU} \left|\sum_{n=0}^{M-1} x_N^i(n) d_2(n) e^{-jwn}\right|^2 PˉPERi(w)=MU1 n=0M1xNi(n)d2(n)ejwn 2
U = 1 M ∑ n = 0 M − 1 d 2 2 ( n ) U = \frac{1}{M} \sum_{n=0}^{M-1} d_2^2(n) U=M1n=0M1d22(n)

          [Pxx,f] = pwelch(xn,window,noverlap,nfft,fs,range)

代码

%谱估计 2023.09.19
close all;clear;
N = 1024;
fs = 1000;
n = (0:N-1)/fs;
xn = sin(2* pi*100*n) + sin(2* pi*200*n) + 0.001*randn(size(n));

%周期图法
[Pxx,f] = periodogram(xn,hamming(N),1024,fs);
%相关法
cxn = xcorr(xn,'unbiased');
P = fftshift(fft(cxn));
%Welch
[Pxx2,f2] = pwelch(xn,400,200,N,fs,'onesided'); %每段400,有200重叠

figure;
subplot(1,3,1);plot(f,10*log10(abs(Pxx)));title('周期图')
subplot(1,3,2);plot((-N+1:N-1)/N*fs/2,10*log10(abs(P)));title('相关法')
subplot(1,3,3);plot(f2,10*log10(abs(Pxx2)));title('Welch')

在这里插入图片描述

时频分析

问题背景:在处理声致水面微动信号问题时,一般处理流程是提取水面振动信号 y ( t ) y(t) y(t)以后,通过周期图等频谱估计方法估计声源频率。
当声源频率随时间变化时,我们不仅想要知道频率,更想知道频率随时间的变化,此时就需要用到时频分析。

spectrogram
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值