通信原理MATLAB自/互相关函数的用途及部分实现_matlab自相关函数代码_辰枭的博客-程序员秘密

技术标签: matlab  通信类知识学习  信号处理  

通信原理MATLAB相关函数的用途及部分实现

MATLAB自相关函数介绍

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的自相关计算.
此部分转自
https://blog.csdn.net/lvsehaiyang1993/article/details/82913443?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.add_param_isCf

MATLAB功能代码实现

t=0:0.1:100;
noise=rand(1,1001);
input=sin(pit);
output=sin(pi
t)+oise;%添加大噪声
plot(output);
在这里插入图片描述

可以看到噪声信号已经淹没了输入信号

[x y]=xcorr(input,output,‘coeff’);%计算互相关性,存至数组
plot(y,x);%绘制互相关运算结果
图二
这里得到了输出信号和输入信号的自相关函数,方便起见,假设此系统输入输出相等
[X Y]=xcorr(input,input,‘coeff’);%计算输入信号自相关函数
plot(Y,X);%绘制自相关运算结果
图三
可以看到这个是标准的自相关函数求解结果
[a b]=xcorr(input,noise,‘coeff’);%计算输入与噪声互相关的结果
plot(b,a);%绘制互相关运算结果
图四
可以看到经过一个互相关器运算,得到的增益是很小的,系统可以判断出两个信号相关性很差

试着继续加大噪声增益
output=sin(pit)+4noise;%添加大噪声
plot(output);
[x y]=xcorr(input,output,‘coeff’);%计算互相关性,存至数组
plot(y,x);%绘制互相关运算结果
图五
可以看见随着噪声比例的增加,输出经过互相关器之后的运算结果有了明显的衰减

总结

通过相关运算可以很好的甄别有用信号,或者是延时信号,如果发现互相关结果出现明显衰减(本例均采用归一化手段了),就要注意对有用信号提供一定增益了,因为噪声以白噪声居多,频率含量丰富,有用信号也许就难以通过相关或者FFT手段提取了。

作者功力有限,字句、原理描述难免出现纰漏,若各位看官发现还请予以指正!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TZC_ITNT/article/details/108877627

智能推荐

SAP ALV-REUSE_ALV_GRID_DISPLAY的使用_satoyama(^^)的博客-程序员秘密

SAP ALV-REUSE_ALV_GRID_DISPLAY的简单使用SAP ALV-REUSE_ALV_GRID_DISPLAY的使用ALV的几种显示形式数据准备PERFORM GET_DATAREUSE_ALV_GRID_DISPLAY函数的使用PERFORM DISPLAY_DATAPERFORM SET_FIELDCATSAP ALV-REUSE_ALV_GRID_DISPLAY的使用ALV的几种显示形式ALV(SAP LIST VIEW)SAP的一个用来显示报表的组件查看的路径:Setti

《Introduction to Tornado》中文翻译计划——第五章:异步Web服务_weixin_30251587的博客-程序员秘密

http://www.pythoner.com/294.html本文为《Introduction to Tornado》中文翻译,将在https://github.com/alioth310/itt2zh上面持续更新,本文内容可能不是最新状态,请在GitHub上获得最新版本。本文也可在http://demo.pythoner.com/itt2zh上进行格式化的预览。第五章:异步Web服...

php页面怎么转换成静态页面,php如何生成静态页面_藏华的博客-程序员秘密

用php生成静态html页面 因为每次用户点击动态链接的时候都会对服务器发送数据查询的要求对于一个访问量可能达百万千万级别的网站来说 这无疑是服务器一个大大的负担所以把动态数据转换成静态html页面就成了节省人力物力的首选因为此前没有相应的经验 刚开始的时候觉得这个技术很神秘但在看了一些例子以后发现并不是那么复杂(不过网上的资料并不是特别详细)经过一个上午加中下午的试验 终于把该做的任务完成了 下...

jQuery 自学笔记—7 AJAX_jquery自学_橙色阳光的博客-程序员秘密

jQuery AJAX 实例请点击下面的按钮,通过 jQuery AJAX 改变这段文本。获得外部的内容亲自试一试什么是 AJAX?AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。使用 AJAX 的应用程序案例:

信息融合层次_信息融合的三个层次_国晶创新的博客-程序员秘密

根据信息融合的处理层次,可以将信息融合分为三类,包括数据层信息融合、特征层信息融合以及决策层信息融合。1.数据层信息融合数据层信息融合是对各传感器的原始观测数据进行统计分析。该方法的优点是原始数据保存完整、强调了原始数据之间的关联性,使得测量结果更加精确;缺点是运算量较大,降低了系统的实时性,同时观测数据的不确定性和不稳定性增加了系统处理难度。常用的数据层信息融合算法有加权平均法、卡尔曼滤波和...

Solana中的account_mutourend的博客-程序员秘密

1. 引言Solana中的stake account 用于 delegate tokens to validators,来赚取奖励。stake account的创建和维护不同于传统的wallet address,wallet address又名system account。system account仅支持收发SOL,而stake account支持delegate token所需的复杂操作。对于wallet address,拥有该地址私钥的holder可控制该钱包。每个stake account

随便推点

VC++常用功能开发_keivin2006的博客-程序员秘密

系列文章目录第一章:VC++ ini配置文件封装类源代码第二章:VC++实现二维码(显示+保存图片)功能源代码第三章:VC++ 调节系统音量(与任务栏音量同步)源代码提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启..

聚类(七)—— 小结_shi_jiaye的博客-程序员秘密

主要内容聚类分析概述K-Means聚类层次聚类基于密度的聚类其他聚类方法聚类评估小结七、小结簇是数据对象的集合,同一个簇中的对象彼此相似,而不同簇中的对象彼此相异。将物理或抽象对象的集合划分为相似对象的类的过程称为聚类。常用的聚类方法有划分方法、层次方法、基于密度的方法和概率模型的聚类方法。划分方法首先创建k个分区的初始结合,其中参数k是要构建的分区数。然后,它采用迭代重定位技术,试图通过把对象从一个簇移到另一个簇来改进划分的质量。典型的划分方法包括K-means、K中心.

常见开源密码算法库_有哪些开源密码库_就理个锅盖头吧的博客-程序员秘密

算法库 描述 简介 源码网站 OpenSSL 开源密码算法库,源码为C语言,提供基本的密码算法库和密钥和证书管理方法,广泛应用于网络设备间通信安全和身份认证等,功能非常强大,一般的计算机设备均有OpenSSL的身影。 ...

自己动手搭建CDN服务器_自己搭建cdn服务器赚钱_mmz8的博客-程序员秘密

今天来介绍一下这几天我自己写的一个一键脚本。使用该一键脚本,您可以在自己的VPS上一键安装部署CDN, 方便地为您的网站提速。Github项目地址:https://github.com/Har-Kuun/OneClickCDN欢迎大家加星星加叉叉1, 系统环境要求目前支持Ubuntu 20.04 LTS, Debian 10, CentOS 7/8操作系统。CDN服务器正常运行时仅需要系统有500MB的内存。但是,程序第一次编译安装的时候需要1500MB左右的内存。若您的VP...

RocketMQ——Consumer篇:PUSH模式下拉取消息服务的线程(PullMessageService)_meilong_whpu的博客-程序员秘密

只有在PUSH模式下才会使用PullMessageService服务线程,该线程主要是对pullRequestQueue:LinkedBlockingQueue<PullRequest>队列进行监测,处理该队列中的PullRequest请求对象;同时该线程也提供了两种拉取方式,分别是立即拉取和延迟拉取两种;1 拉取消息的处理逻辑在该线程的run方法中,循环地不间断地从pullRequestQueue

标签模板字面量ES6小知识_标记模板字面量_THINK_OF_的博客-程序员秘密

1.function foo (strings, ...values) {console.log(strings)console.log(values)}const des = 'description'执行  foo `hello world ${des} !`输出:[&quot;hello world &quot;, &quot; !&quot;, raw: Array(2)]['description'...

推荐文章

热门文章

相关标签