MATLAB之相关函数
文章目录
- 相关函数
- 已知平稳随机过程的功率谱,求自相关函数
相关函数
% 功能:
% 1.导入txt格式的两信号,
% 2.求其各自的自相关函数Rxx,自协方差函数Cxx,自相关系数/归一化自协方差函数
% 3.求两信号的互相关函数Rxy,互协方差函数Cxy,,互相关系数/归一化互协方差函数,延时tao
% 4.求信号的功率(求均方值,或者自相关函数(延时tao=0),自功率谱的IFFT(延时tao=0,注意区别双边谱和单边谱))% 各物理意义如下:
% 自相关函数Rxx:反映了噪声x(t)在不同时刻t1,t2取值的相关程度
% 延时为0时的R值(最大值)= 均方值,反映了随机噪声的平均功率(直流分量功率+交流分量功率)
% 延时为无穷大时的R值 = 均值^2, 反映了随机噪声的直流分量的功率% 归一化相关函数:也反映了噪声x(t)在不同时刻t1,t2取值的相关程度,
% 但消除了随机噪声的幅度和功率的影响,更准确反映相关程度
% 归一化自相关函数 = Rxx/Rxx(0) = Rxx/max(Rxx) = Rxx/ ((1/length(x))*sum(x.^2));
% ='coeff'
% 归一化互相关函数 = Rxy/sqrt(Rxx(0).*Ryy(0)) = Rxy/sqrt(max(Rxx).*max(Ryy(0)))
% ='coeff'
% 注意:均方值因为除了个N,所以对应的是biased,注意对应关系% 自协方差函数Cxx :反映了同一随机噪声x(t)的交流分量在不同时刻t1,t2取值的相关程度
% Cxx = Rxx-(mean(x))^2
% 互协方差函数Cxy:反映了两随机噪声x(t)的交流分量在不同时刻t1,t2取值的相关程度
% Cxx = Rxy-mean(x)*mean(y)% 归一化自协方差函数Cxx_nom = Cxx./var(x)
% 归一化互协方差函数Cxy_nom = Cxy./(sqrt(var(x)).*sqrt(var(y)))% 编辑者:lily
% 日期:2019,4,13clc;
clear;
close all; % =========== input signal ==========================
Fs = 12000;
x = load('err mic1 - off.txt');
y = load('err mic2 - off.txt');
% =============== AutoCorr/CrossCorr ===============================
% N :累加平均次数
% m :延时序号
% 'biased':有偏估计,将'none'/(N)
% 'unbiased':无偏估计,将'none'/(N-|m|)
% 'coeff':将'none' 作归一化处理,除以最大值。
% Rxx_max: m = 0时的值,也是均方值 ( Rxx_max = Rxx(0) )
% Rxy_max: 两信号m = 0的自相关函数相乘,再开根号。( Rxy_max = sqrt(Rxx(0)*Ryy(0)) )
% 'none':不作归一化处理% biased虽是有偏估计,但渐近一致估计,估计量的方差小于无偏估计,实际中多用有偏估计
% 归一化相关函数 = 用'none'先计算,再求归一化 = 'coeff'
str = {'biased','unbiased','coeff','none'};
ind = 1;
[Rxy, c] = xcorr(x, y, str{ind});
[Ryy, d] = xcorr(y, y, str{ind});
[Rxx, b] = xcorr(x, x, str{ind});
tao = b/Fs; %tao: 偏移的时间,用偏移个数乘采样间隔
% =============== figure ===============================
figure;
plot(tao, Rxx);
title(str{ind});
grid;figure;
plot(tao, Rxy);
title(str{ind})
grid;
% ===============求延时 =====================================[~,indexMax] = max(Rxx);disp(['Time lag = ' num2str(tao(indexMax))])% ============= 归一化自相关函数rho_xx ==============================
rho_xx = Rxx./max(Rxx) ;
rho_xxx = Rxx./ ((1/length(x))*sum(x.^2));
figure;
plot(rho_xx);
hold on;
plot(rho_xxx);
legend('用最大值算','用均方值算');
title('归一化自相关函数rho_xx ');% =============== 归一化互相关函数rho_xy =================================
rho_xy = Rxy/sqrt(max(Rxx).*max(Ryy));
figure;
plot(rho_xy);
title('归一化互相关函数rho_xy ');% =============== 自协方差函数Cxx ===============================
Cxx = Rxx-(mean(x))^2;
figure;
plot(tao, Cxx);
title('自协方差函数Cxx')
grid;% =============== 互协方差函数Cxy ===============================
Cxy = Rxy-mean(x)*mean(y);
figure;
plot(tao, Cxy);
title('互协方差函数Cxy ')
grid;
% =========== 归一化自协方差函数Cxx_nom ============================
Cxx_nom = Cxx./var(x);
figure;
plot(tao,Cxx_nom);
title('归一化自协方差函数Cxx_nom')
grid;% ============ 归一化互协方差函数Cxy_nom=============================
Cxy_nom = Cxy./(sqrt(var(x)).*sqrt(var(y)));
figure;
plot(tao,Cxy_nom);
title('归一化互协方差函数Cxy_nom')
grid;
已知平稳随机过程的功率谱,求自相关函数
% 功能:已知平稳随机过程的功率谱,求自相关函数
% 平稳随机过程的功率谱连续时间表达形式:Fw = 2*pi* dirac(w);
% 验证频域为1的ifourier是单位冲击函数。% 编辑者:lily
% 日期:2019,4,18clear;
clc;
close all;
% ======================= input signal ==========================
syms w t %定义一个符号变量x, 后续可以做一些符号操作
Fw = 2*pi* dirac(w);
ft = ifourier(Fw,w,t);
pretty(ft); % 表达式的形式
MATLAB之相关函数相关推荐
- 【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )
文章目录 一.相关函数应用场景 1.生成高斯白噪声 2.信噪比 SNR 3.根据信噪比 SNR 求信号幅度 4.产生单载波信号及最终信号 5.求自相关函数及功率 6.matlab 完整代码 一.相关函 ...
- matlab icol,Matlab 图像处理相关函数命令大全
Matlab 图像处理相关函数命令大全 一.通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colo ...
- matlab水壶图形,[转载]Matlab 图像处理相关函数命令大全
Matlab 图像处理相关函数命令大全 一.通用函数: colorbar 显示彩色条 语法:colorbar colorbar('vert') colorbar('horiz') colorbar(h ...
- Matlab 图像处理相关函数命令大全
一.通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorba ...
- Matlab 图像处理相关函数命令
一.通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorba ...
- matlab 机器学习相关函数、api
matlab 对数据集的默认组织方式是,X∈Rd×NX\in \mathbb R^{d\times N} dd:行数,表示特征向量的长度: NN:列数,表示样本的数目: 1. 模型.预测.mse % ...
- matlab矩阵运算相关函数
1. MATLAB提供函数det()求方阵行列式的值 >> A=[1 3 4;5 6 7;1 0 1] A = 1 3 4 5 6 7 ...
- MATLAB 画图相关函数
MATLAB 画图相关 #gscatter函数 gscatter函数可以用来按分类或分组来画离散点,适用于画多个类别的离散样本分布图. 使用方法: gscatter(x,y,group) gscatt ...
- matlab典型相关函数,典型相关分析(Matlab实现函数)
先附上自己认为写的比较好的一篇博客. https://www.cnblogs.com/duye/p/9384821.html 同时要指出自己博文的问题:对于Matlab中canoncorr中的stat ...
最新文章
- php中怎样阻止网页进行跳转,阻止php页面跳转方法
- 京东首页302 Found报错 监控宝教你如何第一时间发现
- LeetCode 503 Next Greater Element II(stack)
- filter,map,reduce,apply函数
- jQuery判断checkbox是否选中的3种方法
- printf输出字符串_C语言入门必学第一课,学习“输入与输出”!
- linux下tree命令详解
- 腾讯大动刀:微信试行松绑外链!用户已可打开淘宝、抖音等链接
- studio 热重载应用_使用VS Code开发Flutter应用,体验热重载技术
- 企业内网巡航扫描神器
- 什么是pdi检测_为什么国人买车钟爱白色?这几点购车陷阱不要踩
- 如何清除vsphere主机提示“此主机当前没有管理网络冗余”
- 微信公众号爬虫方案分析
- wps设置页码,从某一页重新开始编号
- 网易评论盖楼的数据结构
- CAD格式刷怎么用?CAD格式刷使用技巧
- Heartbeat 与Corosync对比分析
- 清华胡宇迪教授谈关于爱情、关于伴侣、关于承诺、关于人生、关于友情、关于微笑、关于生活、关于幸福
- scala spark sql 获得分组后的分位点
- QQ上保险我的QQ密码谁也偷不走
热门文章
- flowable设置流程发起人
- 19.C 语言与 C++在定义常量时有什么区别
- Android --- 新版本取色器吸管工具点击无效,没反应
- 怎么切换用户_走进通信:4G手机跟基站是怎么“交流”的
- ups的空开、电缆及电池的配置计算
- 2020年数据中心行业研究报告
- 数据中心胶体电池的使用寿命
- 一秒钟世界上会发生多少事_1秒钟世界上会发生多少事?答案超乎你的想象……...
- 连接myeclipse和mysql数据库,MyEclipse与Mysql数据库的连接
- AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛——11:05-11:35杜博文教授《基于广义时空数据挖掘的交通复杂行为认知-从研究到工业》