精华内容
下载资源
问答
  • 随机信号的自相关函数和互相关函数Matlab
  • 循环自相关函数,matlab程序

    热门讨论 2010-05-07 09:33:48
    自己写的关于循环自相关函数的快速计算方法,不同的调制方式只要更改x_t表达式即可
  • 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本身自带的相关函数在扩频通信中并不适合,性能欠佳。本程序是我自己编写的求自相关或互相关的MATLAB函数。可直接调用该函数。已通过验证。
  • matlab中的xcorr 自相关函数(转)

    万次阅读 2017-12-31 20:19:26
    Matlab中用于计算自相关函数的指令是xcorr.比如矩阵A=[1 2 3];  xcorr(A)=3.0000 8.0000 14.0000 8.0000 3.0000 自相关函数是信号间隔的函数,间隔有正负间隔,所以n个长度的信号,有2n-1个自相关函数值,...

    Matlab中用于计算自相关函数的指令是xcorr.比如矩阵A=[1 2 3];

        xcorr(A)=3.0000 8.0000 14.0000 8.0000 3.0000

    自相关函数是信号间隔的函数,间隔有正负间隔,所以n个长度的信号,有2n-1个自相关函数值,分别描述的是不同信号间隔的相似程度。

         比如,上面的矩阵,最后得到5个结果,其中第三个是自己和自己相乘,最后相加的结果,值最大1*1+2*2+3*3=14。而第二个和第四个分别是间隔正负1的结果也就是1*2+2*3=8,2*1+3*2=8。第1个和第五个分别是间隔正负2,也就是1*3=3,3*1=3。


    xcorr求出的结果仅仅是x(n)*x(n+m)并对其求和,并没有除以前面的N或者是N-|K|。不用这个函数也可以求
    for k=0:1:p
        t5=0;
        for n=0:1:N-k-1
            t5=t5+conj(x(n+1))*x(n+1+k);
        end
        Rxx(k+1)=t5/N;
    end
    也可以实现,其中N为序列长度此处并未求出全部的自相关序列,只求了间隔从0到p的。
    我们令Rx=xcorr(x);
    则Rxx(k+1)=Rx(N+k)/N得到。
    下面是摘自一篇博文:

    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计算自相关函数autocorr和xcorr有什么不一样的?xcorr是没有将均值减掉做的相关,autocorr则是减掉了均值。


    展开全文
  • 在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。  (2) 短时...

    人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音周期的50% ) 、逐渐关闭到完全闭合(约占基音周期的35% ) 、完全闭合(约占基音周期的15% )三部分组成。 当今主流的基音周期检测技术主要有时域的自相关法、频域的倒谱法、时频结合的小波变换分析方法以及在其基础上的衍生算法。浊音信号自相关函数在基因周期的整数倍位置上出现峰值,而清音的自相关函数没有明显峰值。因而检测是否有峰值就可以判断是清音还是浊音,检测峰值位置就可提取基音周期。

    (1)自相关函数

    对于离散的语音信号x(n),它的自相关函数定义为:     R(k)=Σx(n)x(n-k)

    如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。

     (2)短时自相关函数

    语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。短时自相关函数是在信号的第N个样本点附近用短时窗截取一段信号,做自相关计算所得的结果                   Rm(k)=Σx(n)x(n-k)

    式中,n表示窗函数是从第n点开始加入。

     function pitch

        x=wavread('E:\luyin\wkxp.wav');%读取声音文件

        figure(1);

        stem(x,'.');                   %显示声音信号的波形


    疑问:(为什么横坐标是8,并且是*10的5次方;纵坐标是什么意思??)



     n=75000;                         %取17s的声音片段,即75000个样点
        for m=1:length(x)/n;           %对每一帧求短时自相关函数
            for k=1:n;
                 Rm(k)=0;
                 for i=(k+1):n;
                     Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n);
                 end
            end
            p=Rm(10:n);                %防止误判,去掉前边10个数值较大的点       
            [Rmax,N(m)]=max(p);        %读取第一个自相关函数的最大点
        end                            %补回前边去掉的10个点
        N=N+10;
        T=N/8;                         %算出对应的周期   
        figure(2);stem(T,'.');axis([0 length(T) 0 10]);
        xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期'); 



    T1= medfilt1(T,5);             %去除野点
        figure(3);stem(T1,'.');axis([0 length(T1) 0 10]);
        xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');



    不懂的可以加我的QQ群: 522869126(深度学习语音识别方向 


    欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~



    展开全文
  • Matlab自相关函数corr

    万次阅读 2018-10-21 19:16:34
    最后还是去matlab论坛找到了自己想找的答案,这里就来分析下matlab的互相关函数xcorr。 matlab中的参数都是以数组的形式存储的,标量可以看作是一维数组。我们采用序列x = [1, 3, 5]作为实验对象,经过xcorr()函...

    看上去语法也不难,直接运算不就好了么?可是运算出来的结果自己却搞不懂,因为自己没有多少统计的知识,于是又去巴拉数学的材料,想去搞明白xcorr函数的原理或公式。最后还是去matlab论坛找到了自己想找的答案,这里就来分析下matlab的互相关函数xcorr。
    matlab中的参数都是以数组的形式存储的,标量可以看作是一维数组。我们采用序列x = [1, 3, 5]作为实验对象,经过xcorr()函数运算,分析结果:

    1. xcorr()
    2. x = [1 3 5]

    x =

     1 3 5
    

    [a,b] = xcorr(x)

    a =

     5 18 35 18 5
    

    b =

    -2 -1 0 1 2
    

    也许你对这个结果感到困惑,不急,待我慢慢道来。计算时先进行b的计算,用序列x中的元素的序号互相做减法,可以得到的所有值的可能集合,按照从小到大顺序排列后就得到了b;然后分别根据序号的“差”的情况计算序列a:
    当b(1)=-2时,只有数据(1, 5)作差可以得到,即序号1和序号3的差,因此计算a(1)=15=5;
    当b(2)=-1时,涉及到了序号对应的(3, 1)和序号(5, 3),所以计算a(2)=3
    1+53=18;
    当b(3)=0时,涉及到了序号对应的(1, 1), (3, 3)和(5, 5),因此计算a(3)=1
    1+33+55=35;
    当b(4)=1时,涉及到了序号对应的(3, 1)和(5, 3),计算a(4)=31+53=18;
    当b(5)=2时,涉及到了序号对应的(5, 1)(后面的数据的序号减去前面数据的序号正好为2),计算a(5)=5*1=5

    1. xcorr(x, ‘unbiased’)
      参数’unbiased’的作用在于基于缺省参数时的计算结果,每个组的计算再除上该组的序号组数,比如b(1)时组数为1,记为N=1,则a(1)=1*5/N=5;b(2)时就是a(2)=18/N=18/2=9;类似等等;
    2. xcorr(x, ‘biased’)
      参数’biased’的作用在于缺省参数的基础上除以序列x的长度,即a(1)=5/3;比如:
    3. xcorr(x, ‘coeff’)
      此时用于求序列x的自相关序列,其结果是针对’biased’的情况进行归一化,使得b=0时即中间的值a(3)=1,因此a(1)=5/11.6667,所有的分组数据在’biased’基础上都通过11.6667归一运算:
      由于xcorr多用于工程上针对时间信号采样,但是计算时将采集到的数据一起送给matlab,因此matlab本身并不知道时间间隔,我们可以使用dt=0.1, t=b*dt,plot(t, a)进行作图,前半部分是超前,后半部分是滞后,如:
    展开全文
  • MATLAB中常见数字信号处理相关函数汇总 现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾。 Waveform Generation(波形产生) chairp: 产生扫频余弦函数; diric: 产生Dirichlet或周期sinc函数; ...
  • 今天同学上课要对一段信号,添加噪声,然后对函数进行相关分析。我写了个如下代码 close all; x = 0:2*pi/299:2*pi; k = sin(x); subplot(2,4,1),plot(x,k),title( ' 原函数 ' ); 把原函数设置为sinx` 然后添加0·1...
  • 时间序列分析的matlab自相关函数autocorr

    万次阅读 多人点赞 2015-07-09 16:25:19
    功能:计算并描绘时间序列的自相关函数 格式: autocorr(Series,nLags,M,nSTDs) % 计算并绘制单变量随机时间序列的样本ACF及置信区间,如果不想绘制置信区间,则设置nSTDs=0 [ACF,lags,bounds] = autocorr...
  • 随机信号及其自相关函数和功率谱密度的MATLAB实现
  • Matlab的autocorr自相关函数

    万次阅读 多人点赞 2016-02-23 22:50:58
    对序列的平稳性的检验有两种检验方法:一种是根据时序图和自相关图的特征作出判断的图检验,该方法操作简单,应用广泛,缺点是带有主观性;另一种是构造检验统计量进行的方法,目前最常用的方法是单位根检验,这个...
  • (1)、自相关函数 求解步骤:(1)移位;(2)相乘;(3)相加。 function y = myXcorr(x) %输入x:长度为n的一维行向量 %输出y:长度为2n-1的一维行向量 %求解步骤:(1)移位;(2)相乘;(3)相加. n = length(x); %...
  • Matlab 自相关检测 :自相关函数xcorr

    万次阅读 2015-07-29 10:27:08
     最近因为工作的关系需要使用matlab作为数据统计的工具,其中一个关键是使用其自相关函数获得数据的估计。自己只在本科时候马马虎虎地学习了一点matlab,这次仗着有C/C++的基础迅速地过了一遍自己需要的matlab的...
  • matlab自相关函数

    千次阅读 多人点赞 2014-06-29 11:08:15
     自相关函数用于描绘信号和自己相关的程度,它是信号间隔的函数。比如间隔为0的时候,就是检查自己和自己相关的程度,由于自己和自己最相似,所以自相关函数最大。如果是周期信号,当时间间隔为周期的整数倍的时候...
  • MATLAB计算自相关函数和互相关函数

    万次阅读 2014-10-22 15:51:28
    要求:t[n]=f(n)*g(n),把g(n)翻转,向右移动n格与f(n)的乘积和。 假设f(n)长度为L,g(n)长度为P,则卷积后的有效点数为L+P-1,其余为全零。 由傅里叶变换定理:时域卷积等效于频域乘积,即 T(e^jw)=F(e^jw)G(e^...
  • MATLAB中的时间及其相关函数

    万次阅读 2020-04-04 00:26:51
    matlab中表示日期时间有三种格式 日期时间格式 示例 日期字符串 17-Jan-2020 连续的日期数值 687231 日期向量 1.0e+03 * 2.0200 0.0040 0.0030 0.0230 0.0390 0.0455 日期字符串格式是matlab命令行...
  • MATLAB 传递函数相关函数

    千次阅读 多人点赞 2019-06-17 23:15:57
    1. 连续时间传递函数 1.1 多项式形式传递函数 num = 1; % 分子多项式的系数 den = [2, 3];...在matlab中,运行上述代码,可以得到传递函数 1.2 因式乘积形式(零极点)传递函数 z = [1]; % 零点 ...
  • 请教各位怎样用matlab定义一个分段函数 MATLAB分段函数www.zhiqu.org 时间: 2020-12-27步骤如下1、打开MATLAB软件,如图所示。2、建立一个脚本文件,具体方法如图所示。3、定义变量。4、建立循环,求解分段函数。...
  • 粒子群算法 求函数最小值,matlab代码。链接是讲解粒子群算法 https://blog.csdn.net/zyqblog/article/details/80829043 。 我用ubuntu下matlab编写的代码,你在windows下可能有中文乱码,不过都是注释,你可以去...
  • matlab 自带pca函数

    万次阅读 多人点赞 2018-10-25 19:39:27
    matlab 自带函数pca的用法  因为pca在各个学科都有使用,每个学科对于名词的叫法都不太一样,使用的目的都不太一样,我就是单纯的想使用降维,发现matlab函数的pca函数的输入参数除了数据集X还有10个....弄了一段时间才...
  • matlab自带滤波器函数

    万次阅读 2017-03-09 11:14:00
    matlab自带滤波器函数小结(图像处理)  注:原文链接:http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=215671 1 、线性平滑滤波器 用MATLAB实现领域平均法抑制噪声程序: I=imread(' c4....
  • MATLAB自相关分析xcorr

    千次阅读 2020-12-14 10:51:21
    目录自相关定义xcorr的应用举个栗子 自相关定义 信号x(t)x(t)x(t)的自相关函数定义为 其中,T为信号x(t)x(t)x(t)的...MATLAB中自带自相关变换的函数xcorr(),其调用格式如下: 其中的’option’参数可选: “biased”
  • 调用自己编写的matlab函数

    万次阅读 多人点赞 2017-08-14 16:24:17
    matlab中调用自定义的函数
  • Gamma函数相关matlab代码

    千次阅读 2019-10-04 09:27:27
    Gamma函数matlab代码: x=0:0.5:5syms t y=int(t.^(x-1)*exp(-t),0,inf) y=double(y) plot(x,y,'r-o','linewidth',1) 图像如下: 2、lgΓ(x)函数 matlab代码: x=0:0.1:5syms t y=int(t.^(x-1...
  • matlab时延估计算法的互相关函数

    热门讨论 2013-04-11 16:30:58
    基于matlab的时延估计算法的互相关函数仿真源代码
  • 自相关与互相关在matlab中实现

    万次阅读 多人点赞 2010-05-13 19:08:00
    之前要做一个图像匹配的灰度投影算法,要用到互相关函数matlab真是好啊,一个函数搞掂,只要弄清楚参数意义就可以了,先转载在网上搜到的吧********************************************************************...
  • matlab中各种高斯相关函数

    千次阅读 2018-12-18 19:15:27
    原文链接:... 最常见的是产生服从一维标准正态分布的随机数 n=100;  x=randn(1,n)  实现服从任意一维高斯分布的随机数 ...产生服从多元高斯分布的随机变量函数mvnrnd,[mult...
  • 贝塞尔函数matlab代码

    千次阅读 2018-12-24 16:16:13
      x=-10:0.01:10;...title('0,1,2,3,4,5阶贝塞尔函数曲线图'); legend('0阶','1阶','2阶','3阶','4阶','5阶'); xlabel('Variable X');  ylabel('Variable Y'); set(h,'Linesmoothing','on')  

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 229,690
精华内容 91,876
关键字:

自相关函数matlab

matlab 订阅