关于序列卷积,之前写了3篇博文:

【 MATLAB 】conv 函数介绍(卷积和多项式乘法)

这篇博文介绍的是MATLAB本身自带的函数,但这个函数conv有个不如意的地方,就是求过卷积之后我们不知道各个卷积值的位置。

然后我们后面扩展了下这个函数,命名为conv_m,这个函数在这个博文的最后给出。

【 MATLAB 】两个序列的卷积和运算的MATLAB实现(2)

还有一篇博文:

【 MATLAB 】两个序列的卷积和运算的MATLAB实现(1)

这篇博文只是给出了一个实例,程序里面隐藏了求卷积值位置的脚本程序。



序列卷积和公式:

而序列的互相关公式为:

如果x等于y,那么就得到自相关函数的公式:

比较卷积和公式和互相关函数的公式,我们可以发现二者之间的关系:

有了这个关系,我们就可以使用卷积的函数来求两个序列的互相关了。


首先给出扩展后的卷积函数conv_m的脚本:

function [y,ny] = conv_m(x,nx,h,nh)
% Modified convolution routine for signal processing
%___________________________________________________
% [y,ny] = conv_m(x,nx,h,nh)
% [y,ny] = convolution result
% [x,nx] = first signal
% [h,nh] = second signal
%
nyb = nx(1) + nh(1);
nye = nx(length(x)) + nh(length(h));
ny = nyb:nye;
y = conv(x,h);

两个信号相加的函数sigadd:

function [y,n] = sigadd(x1,n1,x2,n2)
% implements y(n) = x1(n) + x2(n)
% [y,n] = sigadd(x1,n1,x2,n2)
%____________________________________
% y = sum sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2( n2 can be different from n1)
%
n = min( min(n1), min(n2) ):max( max(n1), max(n2) ); %duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; %initialization
y1( find( ( n >= min(n1) )&( n <= max(n1) ) == 1  )  ) = x1; %x1 with duration of y1
y2( find( ( n >= min(n2) )&( n <= max(n2) ) == 1  )  ) = x2; %x2 with duration of y2
y = y1 + y2;

信号移位函数:

function [y,n] = sigshift(x,m,k)
%implements y(n) = x(n - k)
%_________________________
%[y,n] = sigshift(x,m,k)
%
n = m+k;
y = x;

预备工作做好了,下面给出一个例子:

设:

是原序列,设 y(n) 是原 x(n) 受到噪声污染并移位了的序列

y(n) = x(n-2) + w(n)

这里 w(n) 是均值为0,方差为1的高斯随机序列。计算y(n)和x(n)之间的互相关。

题解:

clc
clear
close all% noise sequence 1
nx = -3:3;
x = [3,11,7,0,-1,4,2];
%
%  implements y(n) = x(n - k)
%  _________________________
%  [y,n] = sigshift(x,m,k)
[y1,n1]= sigshift(x,nx,2);w = randn(1,length(y1));
nw = n1;[y,ny] = sigadd(y1,n1,w,nw);[x,nx]=sigfold(x,nx);[rxy,nrxy]=conv_m(x,nx,y,ny);subplot(2,1,1);
stem(nrxy,rxy);
title('noise sequence 1');% noise sequence 2
nx = -3:3;
x = [3,11,7,0,-1,4,2];
%
%  implements y(n) = x(n - k)
%  _________________________
%  [y,n] = sigshift(x,m,k)
[y1,n1]= sigshift(x,nx,2);w = randn(1,length(y1));
nw = n1;[y,ny] = sigadd(y1,n1,w,nw);[x,nx]=sigfold(x,nx);[rxy,nrxy]=conv_m(x,nx,y,ny);subplot(2,1,2);
stem(nrxy,rxy);
title('noise sequence 2');

噪声是随机的,所以把互相关的计算执行了两次,可见,两幅图的细节有一点点不同,但互相关的峰值都在l = 2上。

【 MATLAB 】序列相关与序列卷积之间的关系相关推荐

  1. 【 MATLAB 】DFS 与 z 变换之间的关系

    这篇博文是从我的其他博文中提出出来的,目的是怕这个明显而关键的知识点被淹没. DFS的博文见:[ MATLAB ]离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现 给出DFS的系数公式(分 ...

  2. 协方差矩阵、相关矩阵、相关系数矩阵、相关系数之间的关系

    今天了解了一下统计方法的基本概念,觉得有必要记录一下: 1. 已知信号矩阵sigmat, 协方差矩阵(covariance matrix) 可以用matlab函数cov(sigmat)求得: 2. 相 ...

  3. 线性模型——异方差、序列相关、多重共线性与内生性的处理

    在实际的计量经济学问题中,完全满足回归的基本假设的情况并不多见.不满足基本假定的情况.称为违背基本假定 违背基本假定的情况主要包括: 随机干扰项存在异方差 随机干扰项的序列相关(或称自相关) 解释变量 ...

  4. MATLAB GUI设计(线性卷积和循环卷积的比较--笔记)

    原创循环卷积代码,转载需注明出处 线性卷积与循环卷积的比较 实验目的和要求 掌握循环卷积和线性卷积的原理,与理论分析结果比较,加深理解循环卷积与线性卷积之间的关系. 实验内容和步骤 1) 已知两序列X ...

  5. 【 MATLAB 】离散傅里叶级数(DFS)与DFT、DTFT及 z变换之间的关系

    上篇博文我们简单的讨论了离散傅里叶级数DFS和离散傅里叶变换DFT之间的关系,简单地说,DFT就是DFS在一个周期内的表现. [ MATLAB ]离散傅里叶变换(DFT)以及逆变换(IDFT)的MAT ...

  6. 【 MATLAB 】DFS 和 DTFT 之间的关系

    上篇博文讲了DFS和z变换之间的关系:[ MATLAB ]DFS 与 z 变换之间的关系 这篇博文接着看DFS 和 DTFT 之间的关系,文章同样是从我的其他博文中抽取处理的,目的就是怕这种显然而重要 ...

  7. 线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系

    文章目录 前言 一.卷积的物理意义及性质 1. 物理意义 2. 卷积性质 二.线性卷积定义及计算方法 1. 定义公式 2. 适用范围 3. 计算方法 三.循环卷积定义及计算方法 1. 定义公式 2. ...

  8. 用Matlab比较三种求序列相关的方法

    常规方法 用xcorr函数. 用filter函数 filter函数中,将分母设为1,则其结构就是乘累加,和相关一致.只不过这里要注意,求相关的时候,要将filter的系数b倒序. 用fft求序列相关 ...

  9. 【 MATLAB 】两个序列的卷积和运算的MATLAB实现(2)

    已知下面两个序列: 求这两个序列的卷积. 求卷积的函数是conv,但是使用这个函数有个问题,就是下标问题,也就是求卷积之后的元素值的位置.因此,我们必须要定一个起始点和一个结束点. 方法: 是两个有限 ...

最新文章

  1. html根据字段制作曲线图,canvas制作简单的HTML图表,折线或者矩形统计(原创)
  2. HDU_1072_Nightmare题解
  3. linux常用命令记录
  4. 递归方法无限级菜单--javascript v1.0
  5. centos 安装idea 非可视化_CENTOS 7 安装教程
  6. 国网天津电缆公司带电检测典型案例分析
  7. [已解决]ubuntu下谷歌浏览器无法上网
  8. 第一门慕课计划——在广东海洋大学推广MOOC学习
  9. Windows自动更新进程wuauclt.exe 进程服务关闭方法
  10. java安装_Java开发人员应该知道的7种新工具
  11. 微信服务器 系统发生错误,微信系统错误请重试怎么解决-解决微信提示“系统错误,请重试”的方案 - 河东软件园...
  12. 北京住房公积金管理中心个人住房公积金 贷款等额均还月还款额参考表
  13. Diffusion Models专栏文章汇总:入门与实战
  14. win7计算机文件夹显示布局,使用Windows7巧妙管理文件夹的图文介绍
  15. 光有激光雷达还不够?4D成像雷达进入“量产上车”时代
  16. 怎样用matlab做复数运算,MATLAB面向复数运算的设计.doc
  17. FastReport资讯:Blazor中的报告和PDF文档
  18. swagger使用流程梳理
  19. Windows用户密码的加密方法与破解
  20. excel打开2个独立窗口_10个提高黑五网一独立站营销邮件打开率,点击率和转化率的策略...

热门文章

  1. 把jquery的this写入选择器里(伪写入)哈哈~
  2. winsock I/O模型
  3. 大学计算机专业和物理专业哪个难,大学里最难毕业的3大专业,尤其是最后一个...
  4. c程序设计语言第五单元,(C语言程序设计基础课件)第五单元循环结构程序设计.pptx...
  5. android textview图标左侧,Android 自定义 TextView drawableTop 图标与文字左对齐(效果图)...
  6. Jasperreport导出pdf内容展示不完全处理
  7. python把nan值去掉_python – Keras Neural Nets,如何删除输出中的NaN值?
  8. c语言打开当前目录下的文件_Linux下自定义文件默认打开方式
  9. oracle和arcgis优势,Oracle spatial 使用的一些感受
  10. 测量接线导通问题解决方案