• 卷积、相关(matlab)


    本次博客主要是图示化卷积过程,能够进一步加深学者在学习过程中对数学卷积的理解。首先,再次回顾

    一下利用MATLAB产生指数序列 x[k]=Kαku[k],

    a=input('a=');
    K=input('K=');
    N=input('N=');
    k=0:N-1;
    x=K*a.^k;
    stem(k,x);
    xlabel('Time');ylabel('Amplitude');
    title(['alpha=',num2str(a)]);
    
    本博客中令a,K,N分别为0.8,2,31;实验产生的图形为
    

    离散序列的卷积和相关是数字信号处理中的基本运算,MATLAB提供了计算卷积和相关的函数conv和xcorr,调用方式是:
    
    y = conv (x, h)
    
    y = xcorr (x, h)
    
    x, h:分别为参与卷积和相关运算的两个序列;
    
    y:返回值是卷积或相关的结果;
    

    下面利用MATLAB函数 conv 计算x = [−0.5, 0, 0.5, 1],h = [1, 1, 1]这两个序列的卷积

    x = [-0.5, 0, 0.5, 1]; kx = -1:2;
    subplot(311),stem(kx,x);
    h = [1, 1, 1]; kh = -2:0;
    subplot(312),stem(kh,h);
    y = conv (x, h);
    k = kx(1)+kh(1) : kx(end)+kh(end);
    subplot(313),stem (k, y);
    xlabel ('k'); ylabel ('y');
    

    在此处要注意一下k的取值范围:

    k =

    -3    -2    -1     0     1     2
    

    接下来再利用MATLAB函数 xcorr 计算x = [−0.5, 0, 0.5, 1],h = [1, 1, 1]这两个序列的相关。

    x = [-0.5, 0, 0.5, 1]; kx = 0:3;
    subplot(311),stem(kx,x);
    h = [1, 1, 1, 1]; kh = 0:3;
    subplot(312),stem(kh,h);
    y = xcorr (x, h);
    k = kx(1)-kh(end) : kx(end)-kh(1);
    subplot(313),stem (k, y);
    xlabel ('k'); ylabel ('y');
    
                ![](https://img2018.cnblogs.com/blog/1546658/202002/1546658-20200222001256455-1008028989.jpg)
    

    在此处要注意一下k的取值范围:

    k =

    -3    -2    -1     0     1     2     3
    
    
    再利用MATLAB函数 xcorr 计算x =[1, 1, 1],h =  [−0.5, 0, 0.5, 1]这两个序列的相关(即交换上面
    

    那个例子俩序列的顺序)

    自相关

    利用MATLAB函数 xcorr 计算x = [−0.5, 0, 0.5, 1]的自相关

    x = [-0.5, 0, 0.5, 1]; kx = 0:3;
    subplot(311),stem(kx,x);
    h= [-0.5, 0, 0.5, 1]; kh = 0:3;
    subplot(312),stem(kh,h);
    y = xcorr (x, h);
    k = kx(1)-kh(end) : kx(end)-kh(1);
    subplot(313),stem (k, y);
    

    同理可得x = [1,1,1, 1]的自相关

    结果分析部分
    
    从数字信号处理的角度方面来看,自相关运算可以用卷积运算来代替;在此我就不摆复杂公式了,简单的列举  
    

    几个结论;

    自相关函数:r[-n]=r[n] 偶对称序列,关于x=0对称;可以用xcorr[-n]=xcorr[n]表示;

    r[n]在n=0处的数值最大;
    

    互相关函数xcorr[X,Y]=-xcorr[Y,X],可见xcorr[X,Y]与xcorr[Y,X]互为其翻转序列。

  • 相关阅读:
    avalon.js 多级下拉框实现
    提取 ECharts 中的svg地图信息
    avalon.js实践 svg地图配置工具
    基于HTML Canvas实现“指纹识别”技术
    HTML5 Canvas指纹及反追踪介绍
    百度Openrasp开源的应用运行时自我保护产品,安装教程。
    浏览器指纹实现
    centos监控web目录www下的文件是否被黑、挂马的脚本
    Linux下文件完整性监控工具Tripwire详解
    在CentOS 7上使用Tripwire监控和检测修改的文件
  • 原文地址:https://www.cnblogs.com/qw-blog/p/12343841.html
Copyright © 2020-2023  润新知