【 MATLAB 】序列相关与序列卷积之间的关系
关于序列卷积,之前写了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 】序列相关与序列卷积之间的关系相关推荐
- 【 MATLAB 】DFS 与 z 变换之间的关系
这篇博文是从我的其他博文中提出出来的,目的是怕这个明显而关键的知识点被淹没. DFS的博文见:[ MATLAB ]离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现 给出DFS的系数公式(分 ...
- 协方差矩阵、相关矩阵、相关系数矩阵、相关系数之间的关系
今天了解了一下统计方法的基本概念,觉得有必要记录一下: 1. 已知信号矩阵sigmat, 协方差矩阵(covariance matrix) 可以用matlab函数cov(sigmat)求得: 2. 相 ...
- 线性模型——异方差、序列相关、多重共线性与内生性的处理
在实际的计量经济学问题中,完全满足回归的基本假设的情况并不多见.不满足基本假定的情况.称为违背基本假定 违背基本假定的情况主要包括: 随机干扰项存在异方差 随机干扰项的序列相关(或称自相关) 解释变量 ...
- MATLAB GUI设计(线性卷积和循环卷积的比较--笔记)
原创循环卷积代码,转载需注明出处 线性卷积与循环卷积的比较 实验目的和要求 掌握循环卷积和线性卷积的原理,与理论分析结果比较,加深理解循环卷积与线性卷积之间的关系. 实验内容和步骤 1) 已知两序列X ...
- 【 MATLAB 】离散傅里叶级数(DFS)与DFT、DTFT及 z变换之间的关系
上篇博文我们简单的讨论了离散傅里叶级数DFS和离散傅里叶变换DFT之间的关系,简单地说,DFT就是DFS在一个周期内的表现. [ MATLAB ]离散傅里叶变换(DFT)以及逆变换(IDFT)的MAT ...
- 【 MATLAB 】DFS 和 DTFT 之间的关系
上篇博文讲了DFS和z变换之间的关系:[ MATLAB ]DFS 与 z 变换之间的关系 这篇博文接着看DFS 和 DTFT 之间的关系,文章同样是从我的其他博文中抽取处理的,目的就是怕这种显然而重要 ...
- 线性卷积、循环卷积、周期卷积的定义、计算方法及三者之间的关系
文章目录 前言 一.卷积的物理意义及性质 1. 物理意义 2. 卷积性质 二.线性卷积定义及计算方法 1. 定义公式 2. 适用范围 3. 计算方法 三.循环卷积定义及计算方法 1. 定义公式 2. ...
- 用Matlab比较三种求序列相关的方法
常规方法 用xcorr函数. 用filter函数 filter函数中,将分母设为1,则其结构就是乘累加,和相关一致.只不过这里要注意,求相关的时候,要将filter的系数b倒序. 用fft求序列相关 ...
- 【 MATLAB 】两个序列的卷积和运算的MATLAB实现(2)
已知下面两个序列: 求这两个序列的卷积. 求卷积的函数是conv,但是使用这个函数有个问题,就是下标问题,也就是求卷积之后的元素值的位置.因此,我们必须要定一个起始点和一个结束点. 方法: 是两个有限 ...
最新文章
- html根据字段制作曲线图,canvas制作简单的HTML图表,折线或者矩形统计(原创)
- HDU_1072_Nightmare题解
- linux常用命令记录
- 递归方法无限级菜单--javascript v1.0
- centos 安装idea 非可视化_CENTOS 7 安装教程
- 国网天津电缆公司带电检测典型案例分析
- [已解决]ubuntu下谷歌浏览器无法上网
- 第一门慕课计划——在广东海洋大学推广MOOC学习
- Windows自动更新进程wuauclt.exe 进程服务关闭方法
- java安装_Java开发人员应该知道的7种新工具
- 微信服务器 系统发生错误,微信系统错误请重试怎么解决-解决微信提示“系统错误,请重试”的方案 - 河东软件园...
- 北京住房公积金管理中心个人住房公积金 贷款等额均还月还款额参考表
- Diffusion Models专栏文章汇总:入门与实战
- win7计算机文件夹显示布局,使用Windows7巧妙管理文件夹的图文介绍
- 光有激光雷达还不够?4D成像雷达进入“量产上车”时代
- 怎样用matlab做复数运算,MATLAB面向复数运算的设计.doc
- FastReport资讯:Blazor中的报告和PDF文档
- swagger使用流程梳理
- Windows用户密码的加密方法与破解
- excel打开2个独立窗口_10个提高黑五网一独立站营销邮件打开率,点击率和转化率的策略...
热门文章
- 把jquery的this写入选择器里(伪写入)哈哈~
- winsock I/O模型
- 大学计算机专业和物理专业哪个难,大学里最难毕业的3大专业,尤其是最后一个...
- c程序设计语言第五单元,(C语言程序设计基础课件)第五单元循环结构程序设计.pptx...
- android textview图标左侧,Android 自定义 TextView drawableTop 图标与文字左对齐(效果图)...
- Jasperreport导出pdf内容展示不完全处理
- python把nan值去掉_python – Keras Neural Nets,如何删除输出中的NaN值?
- c语言打开当前目录下的文件_Linux下自定义文件默认打开方式
- oracle和arcgis优势,Oracle spatial 使用的一些感受
- 测量接线导通问题解决方案