互相关函数,谱分析,k阶矩,卷积(附MATLAB代码)

本文深入探讨了信号处理中的关键概念,包括自相关和互相关函数的定义、性质及其在周期信号和能量信号中的应用。此外,还介绍了谱分析,如频谱、能量谱和功率谱的计算,并提到了随机信号的k阶矩。通过MATLAB代码示例展示了卷积计算的过程,揭示了信号相似度和能量分布的分析方法。

目录

一. 互相关函数

二. 自相关函数

2.1 自相关函数是一个偶函数

2.2 自相关函数在m=0时,取得最大值

2.3 极限性质

2.4 周期信号的自相关函数也是周期的,且与原信号周期相同

三. 互相关函数的性质

3.1 函数上界

3.2 极限相关

四. 谱分析

4.1 频谱

4.2 能量谱

4.3 功率谱

五. 随机信号的k阶矩

六. MATLAB代码(卷积计算)


一. 互相关函数

信号y(n)延迟m个时间间隔后与x(n)的互相关函数定义如下:

r_{xy}(m)=\sum_{n=-\infty}^\infty x(n)y(n+m)

此定义可以理解为x(n)不动,y(n)左移m个时间单位后与x(n)对应相乘求和的结果。其中平移过程满足左加右减原则,n代表时间,m代表平移量。

调换x和y的位置,也就是y(n)不动,来平移x(n),可得:

r_{yx}(m)=\sum_{n=-\infty}^\infty y(n)x(n+m)=\sum_{k=-\infty}^\infty x(k)y(k-m)=r_{xy}(-m)

理解其几何意义:

  • r_{yx}(m):y(n)不动,x(n)左移m个延迟单位与y(n)相乘求和的结果;
  • r_{xy}(-m):x(n)不动,y(n)右移m个延迟单位后与x(n)相乘求和,此时与r_{yx}(m)的几何意义是等效的;

关于延迟的图像理解如下:

若x(n)和y(n)是复信号,也就是在复数域内的运算,此时需要引入共轭的性质,则相关函数定义如下:

r_{xy}(m)=\sum_{n=-\infty}^\infty x^*(n)y(n+m)

上式子中“*”表示取共轭的过程。

如果x(n)与y(n)是功率信号,那么原定义求出的结果趋于无限大(这个很容易证明,本处略),没有物理意义,此时相关函数修改为如下:

r_{xy}(m)=\lim_{N\to \infty}\frac{1}{2N+1}\sum_{n=-N}^N x(n)y(n+m)

二. 自相关函数

若y(n)=x(n),则互相关函数变成了自相关函数,如下:

r_{xx}(m)=\sum_{n=-\infty}^\infty x(n)x(n+m)

自相关函数反映了x(n)与自身左移m个时间单位后的信号x(n+m)的相似程度。 

相关性函数可用来衡量信号的相似程度。

若x(n)是功率信号,自相关函数定义为如下:

r_{xx}(m)=\lim_{N\to \infty}\frac{1}{2N+1}\sum_{n=-N}^N x(n)x(n+m)

2.1 自相关函数是一个偶函数

根据定义可得:

r_{xx}(-m)=\sum_{n=-\infty}^\infty x(n)x[n+(-m)]

令k=n-m,可得:

r_{xx}(-m)=\sum_{k=-\infty}^\infty x(k+m)x(k)=r_{xx}(m)

所以r_{xx}(m)是偶函数,即:

r_{xx}(-m)=r_{xx}(m)

对于自相关函数来讲,往右平移和往左平移是等效的。

2.2 自相关函数在m=0时,取得最大值

首先易得:

\sum_{n=-\infty}^\infty [x(n)\pm x(n+m)]^2\geq0

展开平方项,可得:

\sum_{n=-\infty}^\infty x^2(n)+\sum_{n=-\infty}^\infty x^2(n+m)\geq \pm2\sum_{n=-\infty}^\infty x(n)x(n+m)

化简左边形式,可得:

2\sum_{n=-\infty}^\infty x^2(n)\geq \pm2\sum_{n=-\infty}^\infty x(n)x(n+m)

所以可得:

r_{xx}(0)\geq \pm r_{xx}(m)

最终可得:

r_{xx}(0)\geq |r_{xx}(m)|

不平移的话,类似平方的形式,值最大。

2.3 极限性质

若x(n)是能量信号,则有如下极限性质:

\lim_{|m|\to \infty}r_{xx}(m)=0

此极限可以理解成,能量有限信号随着时移量逐渐增加,其相关性就逐渐消失,可以从能量有限的角度来理解这个极限。感兴趣的小伙伴可以参考此本书,更加详细:

《信号数字处理的数学原理》 程乾生 石油工业出版社 1979年

2.4 周期信号的自相关函数也是周期的,且与原信号周期相同

假设x(n)的周期为2N+1,所以可得:

x(n)=x(2N+1+n)

容易证明周期性是保留的

三. 互相关函数的性质

r_{xy}(m)不是偶函数,但是满足如下关系:

r_{xy}(m)=r_{yx}(-m)

3.1 函数上界

r_{xy}(m)具有一个上界:

|r_{xy}(m)|\leq \sqrt{r_{xx}(0)r_{yy}(0)}

3.2 极限相关

若x(n)和y(n)是能量信号,那么有:

\lim_{|m|\to\infty}r_{xy}(m)=0

根据定义,r_{xy}(m)只包含了信号x(n)和y(n)的共有频率成分,所以只有当X(e^{j\omega})Y(e^{j\omega})都不为0时,P(e^{j\omega})才不为0。

四. 谱分析

4.1 频谱

假设x(n)为能量信号,则其傅氏Z变换称为x(n)的频谱,如下:

X(e^{j\omega})=\sum_{n=-\infty}^\infty x(n)e^{-j\omega n}

Z 变换是离散时间信号与离散时间系统分析与综合的重要工具,其作用相当于连续时间信号与系统的拉氏变换分析方法。Z 变换的基本思想、许多性质及其分析方法都与拉氏变换有相似之处。

一般而言,上式中计算出的频谱为复函数,包含幅度谱和相位谱,如下:

4.2 能量谱

根据帕塞瓦尔定理,有:

根据自相关函数定义可得: 

 所以可得:

P_{xx}(e^{j\omega})=|X(e^{j\omega})|^2

此反映了信号能量E在频域的分布于,称之为信号的能量密度谱,简称能量谱。

4.3 功率谱

将功率信号x(n)进行截短,形成x_{2N}(n),如下:

x_{2N}(n)=\begin{cases}x(n)&|n|\leq N\\0&|n|>N \end{cases}

显然|X_{2N}(e^{j\omega})|x_{2N}(n)的能量谱,根据功率信号自相关函数,可得:

如果该极限可以求出来的话,根据维纳-辛钦定理,则称如下式子为功率密度谱:

S(e^{j\omega})=\lim_{N\to\infty}\frac{|X_{2N}(e^{j\omega})|^2}{2N+1}

功率密度谱也被简称为功率谱。

五. 随机信号的k阶矩

随机信号{x(t)}的k阶矩,定义为:

\mu(t_1,\cdots,t_k)=E\lbrace x(t_1),\cdots,x(t_k)\rbrace

由此,一阶矩与均值相关:

\mu(t)=E\lbrace x(t)\rbrace=\int_{-\infty}^\infty xf(x,t)dx

二阶矩与自相关函数相关:

R_x(t_1,t_2)=E\lbrace x(t_1)x^*(t_2)\rbrace

根据k阶矩是否与时间有关,可以把随机信号分成平稳随机信号和非平稳随机信号。 

六. MATLAB代码(卷积计算)

在 MATLAB 中,提供了卷积函数 conv,即 y=conv(x,h),调用十分方便,我们来看一个例子:

clear;
clc;
close all; %清空参数

n=1:50; %定义序列的长度是50,间隔为1,画出的图像为一个个点
hb=zeros(1,50); %注意:MATLAB 中数组下标从 1 开始
hb(1)=1; hb(2)=2.5; hb(3)=2.5; hb(4)=1;
close all; 
subplot(3,1,1); %图像3行1列,第一个图像
stem(hb);
title('系统 hb[n]');
m=1:50; 
T=0.001; %定义序列的长度是和采样率
A=444.128; a=50*sqrt(2.0)*pi; %设置信号有关的参数
w0=50*sqrt(2.0)*pi;
x=A*exp(-a*m*T).*sin(w0*m*T); %pi 是 MATLAB 定义的π,信号乘可采用“.*”
subplot(3,1,2);
stem(x);
title('输入信号 x[n]');
y=conv(x,hb);
subplot(3,1,3);
stem(y);
title('输出信号 y[n]'); 

运行结果:

互相关函数信号处理中不仅可以用于衡量两个信号之间的相似性,还可以用于去噪。其核心思想是利用噪声和有用信号在统计特性上的差异来实现降噪。具体来说,噪声的互相关函数通常只在零延迟处有显著值,而周期或结构化信号的相关函数则会表现出更宽的非零区域。 ### 基于互相关函数的信号去噪方法 1. **基本原理** 互相关函数描述了两个信号在不同时间延迟下的相似程度。对于一个包含噪声的信号 $ y(t) = s(t) + n(t) $,其中 $ s(t) $ 是原始信号,$ n(t) $ 是噪声,可以通过对信号与其自身进行互相关分析来提取出具有周期性或结构性的成分。由于随机噪声在非零延迟时的相关性趋近于零,而真实信号部分会在一定延迟范围内保持相关性,因此通过互相关函数可以增强信号的主要特征并抑制噪声[^3]。 2. **实现步骤** - 输入含噪信号 $ y(t) $ - 计算该信号与自身的互相关函数 $ R_{yy}(\tau) $ - 利用互相关函数的峰值位置或非零区间信息重构信号 - 对重构后的互相关数据进行逆变换(如傅里叶逆变换)以恢复去噪后的信号 3. **MATLAB 实现示例** 以下是一个使用互相关函数进行信号去噪的 MATLAB 示例代码: ```matlab % 参数设置 N = 1024; T = 0.2; x = linspace(0, T, N); % 构造原始信号与加噪信号 y1 = 4 * sin(2 * pi * 50 * x); % 原始信号 y2 = randn(1, N); % 高斯白噪声 y3 = y1 + y2; % 含噪信号 % 绘制原始信号、含噪信号 figure(); subplot(3,1,1); plot(x, y1, 'r'); title('原始信号'); subplot(3,1,2); plot(x, y3, 'r'); title('含噪信号'); % 使用互相关函数滤波 s = xcorr(y3, 'unbiased'); % 计算互相关 x1 = linspace(-T, T, 2*N - 1); % 绘制互相关结果 subplot(3,1,3); plot(x1, s, 'r'); title('互相关函数'); xlim([-0.1 0.1]); ``` 上述代码首先构造了一个含噪信号,然后计算其自互相关函数,并通过限制显示范围来突出主要相关性区域。由于噪声在非零延迟下的互相关值趋于零,而信号部分则保留了明显的相关性,因此可以通过这种方式识别出信号的主要成分并进行后续重建。 4. **适用场景** 互相关去噪特别适用于周期性强或具有重复结构的信号,例如心电信号(ECG)、机械振动信号等。在这种情况下,即使原始信号被严重噪声污染,也可以通过互相关分析恢复出主要特征[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值