精华内容
下载资源
问答
  • 互相关函数matlab
    千次阅读
    2021-04-22 00:43:02

    1. 首先说说自相关和互相关的概念。

    这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号x(t),y(t)在任意两个不同时刻t1,t2的取值之间的相关程度,自相关函数是描述随机信号x(t)在任意两个不同时刻t1,t2的取值之间的相关程度。

    自相关函数是描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度;互相关函数给出了在频域内两个信号是否相关的一个

    判断指标,把两测点之间信号的互谱与各自的自谱联系了起来。它能用来确定输出信号有多大程度来自输入信号,对修正测量中接入噪声源而产生

    的误差非常有效.

    事实上,在图象处理中,自相关和互相关函数的定义如下:设原函数是f(t),则自相关函数定义为R(u)=f(t)*f(-t),其中*表示卷积;设

    两个函数分别是f(t)和g(t),则互相关函数定义为R(u)=f(t)*g(-t),它反映的是两个函数在不同的相对位置上互相匹配的程度。

    那么,如何在matlab中实现这两个相关并用图像显示出来呢?

    dt=.1;

    t=[0:dt:100];

    x=cos(t);

    [a,b]=xcorr(x,'unbiased');

    plot(b*dt,a)

    上面代码是求自相关函数并作图,对于互相关函数,稍微修改一下就可以了,即把[a,b]=xcorr(x,'unbiased');改为[a,b]=xcorr

    (x,y,'unbiased');便可。

    2. 实现过程:

    在Matalb中,求解xcorr的过程事实上是利用Fourier变换中的卷积定理进行的,即R(u)=ifft(fft(f)×fft(g)),其中×表示乘法,注:此

    公式仅表示形式计算,并非实际计算所用的公式。当然也可以直接采用卷积进行计算,但是结果会与xcorr的不同。事实上,两者既然有定理保证

    ,那么结果一定是相同的,只是没有用对公式而已。下面是检验两者结果相同的代码:

    dt=.1;

    t=[0:dt:100];

    x=3*sin(t);

    y=cos(3*t);

    subplot(3,1,1);

    plot(t,x);

    subplot(3,1,2);

    plot(t,y);

    [a,b]=xcorr(x,y);

    subplot(3,1,3);

    plot(b*dt,a);

    yy=cos(3*fliplr(t)); % or use: yy=fliplr(y);

    z=conv(x,yy);

    pause;

    subplot(3,1,3);

    plot(b*dt,z,'r');

    即在xcorr中不使用scaling。

    3. 其他相关问题:

    1) 相关程度与相关函数的取值有什么联系?

    相关系数只是一个比率,不是等单位量度,无什么单位名称,也不是相关的百分数,一般取小数点后两位来表示。相关系数的正负号只表

    示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度

    比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。

    对于相关系数的大小所表示的意义目前在统计学界尚不一致,但通常按下是这样认为的:

    相关系数 相关程度

    0.00-±0.30 微相关

    ±0.30-±0.50 实相关

    ±0.50-±0.80 显著相关

    ±0.80-±1.00 高度相关

    更多相关内容
  • 自相关函数及互相关函数编程
  • 自相关函数及互相关函数编程
  • 随机信号的自相关函数和互相关函数Matlab
  • 随机信号的自相关函数和互相关函数Matlab,随机信号自相关函数怎么求,matlab源码.zip
  • 随机信号的自相关函数和互相关函数Matlab,随机信号自相关函数怎么求,matlab源码.rar
  • Matlab广义互相关程序

    2020-09-01 15:14:42
    Matlab广义互相关程序
  • 由于MATLAB本身自带的相关函数在扩频通信中并不适合,性能欠佳。本程序是我自己编写的求自相关或互相关的MATLAB函数。可直接调用该函数。已通过验证。
  • 《自相关函数和互相关函数的利用MATLAB计算和作图》由会员分享,可在线阅读,更多相关《自相关函数和互相关函数的利用MATLAB计算和作图(5页珍藏版)》请在人人文库网上搜索。1、互相关函数,自相关函数计算和作图1.自...

    《自相关函数和互相关函数的利用MATLAB计算和作图》由会员分享,可在线阅读,更多相关《自相关函数和互相关函数的利用MATLAB计算和作图(5页珍藏版)》请在人人文库网上搜索。

    1、互相关函数,自相关函数计算和作图1.自相关和互相关的概念。l 互相关函数是描述随机信号x(t),y(t)在任意两个不同时刻t1,t2间的相关程度。l 自相关函数是描述随机信号x(t)在任意两个不同时刻t1,t2间的相关程度。互相关函数是在频域内两个信号是否相关的一个判断指标,把两测点之间信号的互谱与各自的自谱联系了起来。它能用来确定输出信号有多大程度来自输入信号,对修正测量中接入噪声源而产生的误差非常有效。-事实上,在图象处理中,自相关和互相关函数的定义如下:设原函数是f(t),则自相关函数定义为R(u)=f(t)*f(-t),其中*表示卷积;设两个函数分别是f(t)和g(t),则互相关函数定。

    2、义为R(u)=f(t)*g(-t),它反映的是两个函数在不同的相对位置上互相匹配的程度。2.利用matlab中实现这两个相关并用图像显示:自相关函数:dt=.1;t=0:dt:100;x=cos(t);a,b=xcorr(x,unbiased);plot(b*dt,a)互相关函数: 把a,b=xcorr(x,unbiased);改为a,b=xcorr(x,y,unbiased);便可。3. 实现过程:在Matalb中,求解xcorr的过程事实上是利用Fourier变换中的卷积定理进行的,即R(u)=ifft(fft(f)fft(g),其中表示乘法,注:此公式仅表示形式计算,并非实际计算所用的公。

    3、式。当然也可以直接采用卷积进行计算,但是结果会与xcorr的不同。事实上,两者既然有定理保证,那么结果一定是相同的,只是没有用对公式而已。下面是检验两者结果相同的代码:dt=.1;t=0:dt:100;x=3*sin(t);y=cos(3*t);subplot(3,1,1);plot(t,x);subplot(3,1,2);plot(t,y);a,b=xcorr(x,y);subplot(3,1,3);plot(b*dt,a);yy=cos(3*fliplr(t); % or use: yy=fliplr(y);z=conv(x,yy);pause;subplot(3,1,3);plot(b*。

    4、dt,z,r);即在xcorr中不使用scaling。4. 其他相关问题:1) 相关程度与相关函数的取值有什么联系?相关系数只是一个比率,不是等单位量度,无什么单位名称,也不是相关的百分数,一般取小数点后两位来表示。相关系数的正负号只表示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。对于相关系数的大小所表示的意义目前在统计学界尚不一致,但通常按下是这样认为的:相关系数 。

    5、相关程度 0.00-0.30 微相关 0.30-0.50实相关 0.50-0.80显著相关 0.80-1.00高度相关-3) 与matlab中相关函数xcorr()与相关度函数corrcoef()的关系:相关度函数:对于一般的矩阵X,执行A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数)。计算公式是:C(1,2)/SQRT(C(1,1)*C(2,2),其中C表示矩阵f,g的协方差矩阵,假设f和g都是列向量(这两个序列的长度必须一样才能参与运算),则得到的(我们感兴趣的部分)是一个数。以默认的A=corrcoef(。

    6、f,g)为例,输出A是一个二维矩阵(对角元恒为1),我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在-1,1之间,1表示最大的正相关,-1表示绝对值最大的负相关l 相关函数xcorr函数是通过不反折的卷积来衡量这两个信号在不同位置的相似程度假设两个序列的长度分别是m和n,则得到的是一个长度为2*max(m,n)-1的序列,也就是说,当m和n不相等的时候,在执行xcorr的时候会先对短的那个序列进行0扩充,使得m与n相等;l 相关度corrcoef函数是通过协方差矩阵来衡量这两个信号在不同局部的相似程度,计算公式是:C(1,2)/SQRT(C(1,1)*C(2,2),其中。

    7、C表示矩阵f,g的协方差矩阵,假设f和g都是列向量(这两个序列的长度必须一样才能参与运算),则得到的(我们感兴趣的部分)是一个数。以默认的A=corrcoef(f,g)为例,输出A是一个二维矩阵(对角元恒为1),我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在-1,1之间,1表示最大的正相关(例如x=1;2;3, y=5;7;9),-1表示绝对值最大的负相关(例如x=1;2;3, y=12;7;2)。对于一般的矩阵X,执行A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数)。4)互相关函数图。

    8、像的横坐标问题以下例子,主要求两个信号的相位差,按照某篇参考资料的说法,t_max对应的值就应该是它们的相位差,但是这个程序中做出的互相关函数的横坐标不是-40到+40,而是0到1200,请问这个横坐标表示的是什么意思呢?n=99;%设定每周期数据采集点数T=6;%采样周期数t=0:2*pi/(n-1):2*T*pi;%采样数y1=4*sin(t);%信号1y2=8*sin(t+pi/6);%信号2,相位差取pi/6Cc=xcorr(y1,y2);%求互相关函数y_max,t_max=max(Cc)%找出Cc的最大值及对应的t_maxsubplot(311); plot(t,y1); grid;subplot(312); plot(t,y2); grid;subplot(313); plot(Cc); grid。

    展开全文
  • MATLAB学习笔记——自相关/互相关函数xcorr使用

    万次阅读 多人点赞 2019-11-06 21:16:14
    MATLAB学习笔记——自相关/互相关函数xcorr使用介绍 原文链接:https://blog.csdn.net/lvsehaiyang1993/article/details/82913443 转载请附上原文出处链接 侵删 Matlab提供了计算互相关和自相关的函数xcorr函数 ...

    MATLAB学习笔记——自相关/互相关函数xcorr使用介绍

    原文链接:https://blog.csdn.net/lvsehaiyang1993/article/details/82913443

    转载请附上原文出处链接

    侵删

    Matlab提供了计算互相关和自相关的函数xcorr函数
    1.使用方法

    c = xcorr(x,y)
    c = xcorr(x)
    c = xcorr(x,y,‘option’)
    c = xcorr(x,‘option’)
    c = xcorr(x,y,maxlags)
    c = xcorr(x,maxlags)
    c =
    xcorr(x,y,maxlags,‘option’)
    c =
    xcorr(x,maxlags,‘option’)
    [c,lags] = xcorr(…)
    其中option为:
    "biased"为有偏的互相关函数估计;
    "unbiased"为无偏的互相关函数估计;
    "coeff"为0延时的正规化序列的自相关计算;
    "none"为原始的互相关计算
    2.特别的:
    c=
    xcorr(x,‘option’)特指以上某个选项的自相关估计。
    c = xcorr(x,y,maxlags)
    返回一个延迟范围在[-maxlags,maxlags]的互相关函数序列,输出c的程度为2maxlags+1.
    c = xcorr(x,maxlags)
    返回一个延迟范围在[-maxlags,maxlags]的自相关函数序列,输出c的程度为2maxlags+1.
    c = xcorr(x,y,maxlags,‘option’)
    同时指定maxlags和option的互相关计算.
    c = xcorr(x,maxlags,‘option’)
    同时指定maxlags和option的自相关计算.
    3.例子
    3.1计算自相关

    dt=.1;
    t=[0:dt:100];
    x=cos(t);
    [a,b]=xcorr(x,‘coeff’);
    plot(b*dt,a)

    å¨è¿éæå¥å¾çæè¿°
    3.2计算互相关

    dt=.1;
    t=[0:dt:1000];
    x=cos(t);
    y=sin(t);
    [a,b]=xcorr(x,y,200,‘coeff’);
    plot(b*dt,a)

    å¨è¿éæå¥å¾çæè¿°

    ————————————————
    原文链接:https://blog.csdn.net/lvsehaiyang1993/article/details/82913443

    转载请附上原文出处链接

    展开全文
  • matlab_随机信号的自相关函数和互相关函数
  • PAGE / NUMPAGES 自相关函数和互相关函数matlab计算和作图 1. 首先说说自相关和互相关的概念 这个是信号分析里的概念他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度即...
  • 关于互相关函数matlab程序,按照互相关函数公式编写的matlab程序
  • 零均值归一化互相关函数相对于别的一些相关函数,精度虽然没有多大提升,但是它具有较强的抗干扰性和鲁棒性。所以,在数字图像相关法(DIC)的图像匹配过程中,一般都是使用零均值归一化互相关函数,下面是其公式: ...

    零均值归一化互相关函数相对于别的一些相关函数,精度虽然没有多大提升,但是它具有较强的抗干扰性和鲁棒性。所以,在数字图像相关法(DIC)的图像匹配过程中,一般都是使用零均值归一化互相关函数,下面是其公式:


               


    在进行数字图像相关匹配时,通常分为两部分,首先是进行整像素的定位,然后是亚像素的精确计算。在进行亚像素的精确求解时,需要以整像素的定位结果为基础,因此,一个准确的整像素匹配坐标对于后续的计算来说至关重要。数字图像相关方法发展至今,已有许多学者提出了多种整像素匹配方法,例如初期的逐点法,以及后期的爬山法、粒子群法等智能算法。虽然逐点法相对于之后的一些智能算法在速度上要落后很多,但是由于它是一种全局搜索方法,因此在准确性上要大大优于其它的方法。本节主要介绍了一种快速 ZNCC 算法,不仅保证了传统逐点算法的准确性,还大大提高了计算速度(摘抄自《基于双目视觉的DIC测量技术研究--肖颖》第三章3.2整像素相关匹配算法)。快速ZNCC算法原文请查看我的上传资源

    下面是MATLAB代码实现:

    这是主脚本:

    %% 快速零均值归一化互相关函数
    %结果为1相关性最好,值越小相关性最差
    %计算两个大小相同的灰度矩阵的相关系数
    %%
    tic
    clear;
    clc;
    [filename1,pathname1,~]=uigetfile({'*.jpg';'*.jpeg';'*.bmp'},'选择一张图片');
    orignf=imread([pathname1 filename1]);    %读取参考子区色度信息
    f=rgb2gray(orignf);                    %将照片转化为灰度照片
    f=double(f);
    [r1,c1]=size(f);
    if rem(r1,2)==0
        f=imresize(f,[r1-1,c1]);
    elseif rem(c1,2)==0
        f=imresize(f,[r1,c1-1]);
    end
    [r1,c1]=size(f);
    [filename2,pathname2,~]=uigetfile({'*.jpg';'*.jpeg';'*.bmp'},'选择一张图片');
    orignG=imread([pathname2 filename2]);    %读取目标图像照片色度信息
    G=rgb2gray(orignG);                    %读取照片色度信息
    G=double(G);
    [r2,c2]=size(G);
    %%
    F=sum(sum(f))/numel(f);           %参考子区照片灰度值平均值
    den1=0;                           %分母左部分
    for i=1:r1
        for j=1:c1
            den1=den1+(f(i,j)-F)^2;
        end
    end
    den1=sqrt(den1);
    Subf=0;
    for i=1:r1
        for j=1:c1
            Subf=Subf+f(i,j);
        end
    end
    m=r1;
    n=c1;
    Xmin=(m-1)/2+2;       %子区中心可选范围
    Xmax=r2-(m-1)/2;
    Ymin=(n-1)/2+2;
    Ymax=c2-(n-1)/2;
    Sg=SumTableg(G,r2,c2);   %累加和表
    Sgg=SumTablegg(G,r2,c2);
    COE=zeros(Xmax-Xmin+1,Ymax-Ymin+1);
    num=0;
    den2=0;
    for x=Xmin:Xmax
        for y=Ymin:Ymax
            g=G(x-(m-1)/2:x+(m-1)/2,y-(n-1)/2:y+(n-1)/2);    %目标子区
            Sfg=SumTablefg(f,g,r1,c1);
            Meang=sum(sum(g))/numel(g);           %目标子区平均灰度值
            Subg=Sg(x+(m-1)/2,y+(n-1)/2)-Sg(x-(m-1)/2-1,y+(n-1)/2)...
                -Sg(x+(m-1)/2,y-(n-1)/2-1)+Sg(x-(m-1)/2-1,y-(n-1)/2-1);
            Subgg=Sgg(x+(m-1)/2,y+(n-1)/2)-Sgg(x-(m-1)/2-1,y+(n-1)/2)...
                -Sgg(x+(m-1)/2,y-(n-1)/2-1)+Sgg(x-(m-1)/2-1,y-(n-1)/2-1);
            Subfg=Sfg(end,end);
            num=Subfg-Meang*Subf-F*Subg+r1*c1*F*Meang;
            den2=Subgg-2*Meang*Subg+Meang*Meang*r1*c1;
            den2=sqrt(den2);
            C=num/(den1*den2);
            COE(x-Xmin+1,y-Ymin+1)=C;
        end
    end
    %% 
    [M,~]=max(COE);
    [~,J]=max(M);
    y=Ymin+J;
    [M,I]=max(COE(:,J));
    x=Xmin+I;
    fprintf('最大相关系数是:%.6f\n',M)
    L=2;   %画框宽度,单位像素
    orignGCopy(:,:,1)=orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,1);
    orignGCopy(:,:,2)=orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,2);
    orignGCopy(:,:,3)=orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,3);
    %% 
    orignG(x-(m-1)/2:x+(m-1)/2,y-(n-1)/2:y+(n-1)/2,1)=255;
    orignG(x-(m-1)/2:x+(m-1)/2,y-(n-1)/2:y+(n-1)/2,2)=0;
    orignG(x-(m-1)/2:x+(m-1)/2,y-(n-1)/2:y+(n-1)/2,3)=0;
    orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,1)=orignGCopy(:,:,1);
    orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,2)=orignGCopy(:,:,2);
    orignG(x-(m-1)/2+L:x+(m-1)/2-L,y-(n-1)/2+L:y+(n-1)/2-L,3)=orignGCopy(:,:,3);
    
    image(orignG)
    toc

    下面的这些都是主脚本所需函数:

    function GraySum=SumTableg(P,m,n)
    S=zeros(m,n);
    for x=1:m
        for y=1:n
            if x==1
                for j=1:y
                    S(x,y)=S(x,y)+P(x,j);
                end
            elseif y==1&&x~=1
                for i=1:x
                    S(x,y)=S(x,y)+P(i,y);
                end
            else
                S(x,y)=P(x,y)+S(x-1,y)+S(x,y-1)-S(x-1,y-1);
            end
        end
    end
    GraySum=S;
    end
    function GraySum=SumTablegg(P,m,n)
    S=zeros(m,n);
    for x=1:m
        for y=1:n
            if x==1
                for j=1:y
                    S(x,y)=S(x,y)+P(x,j).^2;
                end
            elseif y==1&&x~=1
                for i=1:x
                    S(x,y)=S(x,y)+P(i,y).^2;
                end
            else
                S(x,y)=P(x,y).^2+S(x-1,y)+S(x,y-1)-S(x-1,y-1);
            end
        end
    end
    GraySum=S;
    end
    function GraySum=SumTablefg(F,G,m,n)
    S=zeros(m,n);
    for x=1:m
        for y=1:n
            if x==1
                for j=1:y
                    S(x,y)=S(x,y)+F(x,j)*G(x,j);
                end
            elseif y==1&&x~=1
                for i=1:x
                    S(x,y)=S(x,y)+F(i,y)*G(i,y);
                end
            else
                S(x,y)=F(x,y)*G(x,y)+S(x-1,y)+S(x,y-1)-S(x-1,y-1);
            end
        end
    end
    GraySum=S;
    end

    在运行程序时,选择的第一张图片是参考子区(像素少的),第二张是目标图像(像素多的),千万不要错了!!!

    下面是两张图片:

                                           图一                                                 图二

    展开全文
  • 互相关函数Rxy(C)

    千次阅读 2021-04-22 12:00:55
    互相关函数Rxy(力表示一随机振TM1616动信号x(t)在f时刻的值和另一随机振动信号y(t)在(f+T)时刻的值乘积的平均值,它与自相关函数一样,同样是时移的函数。它表示了两个随机振动信号之间的依赖性。互相关函数的数学...
  • 求两个序列的互相关函数,或一个序列的自相关函数;并显示了不同功率噪声下的效果。
  • %-----------------------------------------------------------------% exa011007_xcorr.m: for example 1.10.7 and example 1.8.3% to test xcorr.m% 求两个序列的互相关函数,或一个序列的自相关函数;...
  • 自编的信号相关性计算的函数,可以应用于两组数据互相关的计算
  • 广义互相关函数,包含所有互相关的权函数,可以方便的使用它,其中PHAT加权效果最好!
  • 仿真了用于MIMO雷达的OFDM Chirp波形的自相关函数和互相关函数,便于进一步优化OFDM Chirp波形,使互相关和自相关性能接近正交波形的性能,从而提高雷达目标检测性能
  • 自相关函数和互相关函数的利用MATLAB计算和作图.doc
  • 一、相关函数应用场景、 1、生成高斯白噪声、 2、信噪比 SNR、 3、根据信噪比 SNR 求信号幅度、 4、产生单载波信号及最终信号、 5、求自相关函数及功率、 6、matlab 完整代码、
  • xcorrTD 的结果已针对 MatLAB 的 xcorr 函数进行了验证。 有关频域中的互相关,请参阅 xcorrFD。 语法:[lags,ck,cc,td] = xcorrTD(x,y) 输入: x = 输入信号 1(必须是 Nx1 或 1xN 向量) y = 输入信号 2(必须是 ...
  • matlab_分析信号的时域、频域、倒谱,循环谱等,包括广义互相关函数GCC时延估计
  • matlab时延估计算法的互相关函数

    热门讨论 2013-04-11 16:30:58
    基于matlab的时延估计算法的互相关函数仿真源代码
  • 自相关函数和互相关函数matlab 计算和作图 1. 首先说说自相关和互相关的概念 这个是信号分析里的概念他们分别表示的是两个时间序列之间和同一个时 间序列在任意两个不同时刻的取值之间的相关程度即互相关函数是...
  • 此 m 文件查找并绘制生成的长度为 31 的 Gold 代码的自相关和互相关函数(ACF 和 CCF)。互相关是三个值。
  • v 各位大神怎样修改才可以互相关算法求出a3数据中的延迟时间呀 谢谢 2017-9-11 08:32 上传 2017-9-13 18:24 上传 过零点程序所得 2017-9-13 18:27 上传 互相关程序所得 2017-9-11 08:34 上传 点击文件名下载附件 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,975
精华内容 1,190
关键字:

互相关函数matlab

matlab 订阅