干货 | 信号的相关运算及在单片机程序运用中算法分析
2023-08-29
阅读数:
▲ 更多精彩内容 请点击上方 蓝字 关注我们吧!
相关函数是鉴别信号的有力工具,被广泛应用于雷达回波的识别,通信同步信号的识别等领域。相关是一种与卷积类似的运算。与卷积不同的是没有一个函数的反转。
互相关运算
互相关函数给出了在频域内两个信号是否相关的一个判断指标,把两测点之间信号的互谱与各自的自谱联系了起来。它能用来确定输出信号有多大程度来自输入信号,对修正测量中接入噪声源而产生的误差非常有效。
互相关是表示两个不同函数的相似性参数。可证明,R12(τ)=R21(–τ)。
相关与卷积的关系如下:
R12(t)= f1(t)* f2(–t)
R21(t) = f1(–t)* f2(t)
若f1(t)和 f2(t)均为实偶函数,则卷积与相关完全相同。
在单片机中处理的信号为数字信号,所以从离散的角度来讲就涉及到卷积和。已知定义在区间( – ∞,∞)上的两个函数f1(k)和f2(k),则定义和
为f1(k)与f2(k)的卷积和。下面借助MATLAB工具来定性感受一下。matlab中的参数都是以数组的形式存储的,标量可以看作是一维数组。
x1=[1 1.5 2]; %离散数据一
x2=[1 1 1]; % 离散数据二
[a,b] = xcorr(x1,x2);% 两个数据求互相关
a
a =
1.0000 2.5000 4.5000 3.5000 2.0000
b
b =
-2 -1 0 1 2
a、b的结果大家应该不会困惑吧,结果就是卷积求得的结果,在此处a、b可以看成数组,我给大家举个例子:
其他的结果大家可以依次类推。
自相关运算
自相关函数是描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度;若互相关函数中f1(t)= f2(t) = f(t),则得自相关函数。
显然,R(-τ)= R(τ)偶函数。
%%%%%互相关运算%%%%%%
>> x = [1 3 5];
>> [a,b] = xcorr(x)
a =
5 18 35 18 5
b =
-2 -1 0 1 2
t=0:100;% 时间
x=cos(t);% 信号
[a,b]=xcorr(x,'unbiased');
plot(b,a)
生成图像如下所示:
参数’unbiased’的作用在于基于缺省参数时的计算结果,每个组的计算再除上该组的序号组数,比如b(1)时组数为1,记为N=1,则a(1)=1*5/N=5;b(2)时就是a(2)=18/N=18/2=9;类似等等;
t=0:100;% 时间
x=cos(t);% 信号
[a,b]=xcorr(x,'biased');
plot(b,a)
参数’biased’的作用在于缺省参数的基础上除以序列x的长度,即a(1)=5/3;
t=0:100;% 时间
x=cos(t);% 信号
[a,b]=xcorr(x,'coeff');
plot(b,a)
此时用于求序列x的自相关序列,其结果是针对’biased’的情况进行归一化,使得b=0时即中间的值a(3)=1,因此a(1)=5/11.6667,所有的分组数据在’biased’基础上都通过11.6667归一运算。
不进位乘法求卷积和
实际在单片机中要处理的为2048个长度的Chirp信号,对有限长序列,卷积和的计算用:不进位乘法。不进位乘法的算法思想是这样的,对于两个序列,将两序列样值以各自k的最高值按右端对齐,然后把逐个样值对应相乘,但不进位,最后把同一列上的乘积值按对位求和。例如:
总结
在
公
众号内回复您想搜索的任意内容
,如问题关键字、技术名词、bug代码等,
就能轻松获得与之相关的专业技术内容反馈
。快去试试吧!
如果您想经常看到我们的文章,可以进入
我们的主页,点击屏幕右上角“三个小点”,点击“设为星标”。
欢迎扫码关注
最新有关EEWorld 电子工程世界的文章