从公式到代码详细解析PLV(锁相值 )
</div>
<div class="article-info-box">
<div class="article-bar-top">
<img class="article-type-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/original.png" alt="">
<div class="bar-content">
<a class="follow-nickName " href="https://blog.csdn.net/qq_45538220" target="_blank" rel="noopener" title="^哪来的&永远~">^哪来的&永远~</a>
<img class="article-time-img article-heard-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUpTime2.png" alt="">
<span class="time">已于 2022-04-26 20:58:41 修改</span>
<img class="article-read-img article-heard-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/articleReadEyes2.png" alt="">
<span class="read-count">4988</span>
<a id="blog_detail_zk_collection" class="un-collection" data-report-click="{"mod":"popu_823","spm":"1001.2101.3001.4232","ab":"new"}">
<img class="article-collect-img article-heard-img un-collect-status isdefault" style="display:inline-block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollect2.png" alt="">
<img class="article-collect-img article-heard-img collect-status isactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive2.png" alt="">
<span class="name">收藏</span>
<span class="get-collection" style="color: rgb(153, 154, 170);">
62
</span>
</a>
</div>
</div>
<div class="blog-tags-box">
<div class="tags-box artic-tag-box">
<span class="label">文章标签:</span>
<a data-report-click="{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"算法","ab":"new","extra":"{\"searchword\":\"算法\"}"}" class="tag-link" href="https://so.csdn.net/so/search/s.do?q=%E7%AE%97%E6%B3%95&t=all&o=vip&s=&l=&f=&viparticle=" target="_blank" rel="noopener">算法</a>
</div>
</div>
<div class="up-time"><span>于 2022-04-26 20:46:12 首次发布</span></div>
<div class="slide-content-box">
<div class="article-copyright">
<div class="creativecommons">
版权声明:本文为博主原创文章,遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议,转载请附上原文出处链接和本声明。
</div>
<div class="article-source-link">
本文链接:<a href="https://blog.csdn.net/qq_45538220/article/details/124435846" target="_blank">https://blog.csdn.net/qq_45538220/article/details/124435846</a>
</div>
</div>
</div>
<div class="operating">
<a class="href-article-edit slide-toggle">版权</a>
</div>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-25cebea3f9.css">
<div id="content_views" class="markdown_views prism-atom-one-dark">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p>1、<strong>作用</strong>:估计两个神经电或生物磁信号之间的瞬时相位关系。<br> 2、<strong>步骤</strong>:①选择感兴趣的频段对原始信号进行带通滤波<br> ②利用<a href="https://so.csdn.net/so/search?q=%E5%B8%8C%E5%B0%94%E4%BC%AF%E7%89%B9&spm=1001.2101.3001.7020" target="_blank" class="hl hl-1" data-report-click="{"spm":"1001.2101.3001.7020","dest":"https://so.csdn.net/so/search?q=%E5%B8%8C%E5%B0%94%E4%BC%AF%E7%89%B9&spm=1001.2101.3001.7020","extra":"{\"searchword\":\"希尔伯特\"}"}" data-tit="希尔伯特" data-pretit="希尔伯特">希尔伯特</a>变换计算信号的瞬时相位,如图Fig1<br> ③计算PLV,如图Fig2<br> 思考<em>为什么要分频</em>:因为利用希尔伯特变换计算窄带信号的瞬时相位会更准确。<br> <img src="https://img-blog.csdnimg.cn/7a6a77f559cd4c09afaf403de54bf145.png" alt="在这里插入图片描述"><br> 3、<strong>公式及解释</strong><br> <img src="https://img-blog.csdnimg.cn/86436ab8c387464683ec3b51b03b7823.png" alt="在这里插入图片描述"></p>
4、trial和electrode之间的关系如下:
5、举个例子:
6、计算自己数据的PLV—matlab代码
clc
clear
data_on = pop_loadset('epoch_65_s5.set'); % 加载自己的数据
% eegData:[62, 650, 5],62表示62导,5表示有5个trail/epoch,650表示每一个epoch的时长
eegData = data_on.data;
srate = 500; %采样频率 产生的信号的总时间长度 t = dt*采样数 = 采样数/Fs = 650/500 = 1.3s = 1300ms
filtSpec.order = 50;
filtSpec.range = [4 7]; %theta波段
%% 绘制原始信号(叠加平均)
figure;
Data_17 = squeeze(eegData(17, :, :));
Data_17 = squeeze(mean(Data_17,2));
plot((0:size(eegData, 2)-1)/srate, Data_17,'r');
hold on;
Data_20 = squeeze(eegData(20, :, :));
Data_20 = squeeze(mean(Data_20, 2));
plot((0:size(eegData, 2)-1)/srate, Data_20);
xlabel('Time (s)'); ylabel('Original Signal');
set(gca,'Box','off')
saveas(gcf, 'SIGNAL', 'png')
%% 开始计算PLV
numChannels = size(eegData, 1);
numTrials = size(eegData, 3); % 刺激数
%% 创建逻辑列
if ~exist(‘dataSelectArr’, ‘var’)
dataSelectArr = true(numTrials, 1);
% true(n, m):该函数创建nm的矩阵,该方阵的所有元素为逻辑真,即1,这里是5行1列
else
if ~islogical(dataSelectArr) % islogical判断对象是否为逻辑类型的数据(true/false)
error(‘Data selection array must be a logical’);
end
end
numConditions = size(dataSelectArr, 2); % 是指返回dataSelectArr的列数,故numConditions=1
%% 滤波
filtPts = fir1(filtSpec.order, 2/sratefiltSpec.range); % 滤波窗函数
filteredData = filter(filtPts, 1, eegData, [], 2);
%% 计算瞬时相位
for channelCount = 1:numChannels
% 取滤波后每一个导联的所有trail并进行希尔伯特变换,最后利用angle()函数计算相位角
% squeeze删除单一维度,矩阵压缩
filteredData(channelCount, :, :) = angle(hilbert(squeeze(filteredData(channelCount, :, :))));
end
%% 计算PLV
disp(size(filteredData, 2));
plv = zeros(size(filteredData, 2), numChannels, numChannels, numConditions);
for channelCount = 1:numChannels-1 % 取第一个导联所有trail的相位角
channelData = squeeze(filteredData(channelCount, :, :));
<span class="token keyword">for</span> compareChannelCount <span class="token operator">=</span> channelCount<span class="token operator">+</span><span class="token number">1</span><span class="token operator">:</span>numChannels <span class="token operator">%</span> 取第二个导联的相位角
compareChannelData <span class="token operator">=</span> <span class="token function">squeeze</span><span class="token punctuation">(</span><span class="token function">filteredData</span><span class="token punctuation">(</span>compareChannelCount<span class="token punctuation">,</span> <span class="token operator">:</span><span class="token punctuation">,</span> <span class="token operator">:</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> conditionCount <span class="token operator">=</span> <span class="token number">1</span><span class="token operator">:</span>numConditions
<span class="token operator">%</span> <span class="token function">sum</span><span class="token punctuation">(</span>A<span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span>按行求和<span class="token punctuation">,</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span>conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">,</span>表示有<span class="token number">5</span>个trail,即:N<span class="token operator">=</span><span class="token number">5</span>
<span class="token operator">%</span> <span class="token function">exp</span><span class="token punctuation">(</span><span class="token number">1</span>i<span class="token operator">*</span>theta<span class="token punctuation">)</span>返回解析函数
<span class="token function">plv</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> channelCount<span class="token punctuation">,</span> compareChannelCount<span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">abs</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">exp</span><span class="token punctuation">(</span><span class="token number">1</span>i<span class="token operator">*</span><span class="token punctuation">(</span><span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">compareChannelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span> 计算PLV,<span class="token function">sum</span><span class="token punctuation">(</span>x<span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>行求和
end
end
%% 下面这一块代码就是先求幅度abs,再求和sum,你会发现plv都等于1
% for compareChannelCount = channelCount+1:numChannels % 取第二个导联的相位角
% compareChannelData = squeeze(filteredData(compareChannelCount, :, :));
% for conditionCount = 1:numConditions
% % sum(A,2)按行求和,sum(dataSelectArr(:,conditionCount))=5,表示有5个trail,即:N=5
% % exp(1itheta)返回解析函数
% plv(:, channelCount, compareChannelCount, conditionCount) = ...
% sum(abs(exp(1i(channelData(:, dataSelectArr(:, conditionCount)) - ...
% compareChannelData(:, dataSelectArr(:, conditionCount))))), 2)/...
% sum(dataSelectArr(:, conditionCount));% 计算PLV,sum(x,2);%行求和
% end
% end
<span class="token operator">%</span><span class="token operator">%</span> 遮一部分是对上面plv公式的拆解,更好理解每一部分计算出来的结果分别表示什么
aaaaa <span class="token operator">=</span> <span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
bbbbb <span class="token operator">=</span> <span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">compareChannelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
ccccc <span class="token operator">=</span> <span class="token function">exp</span><span class="token punctuation">(</span><span class="token number">1</span>i<span class="token operator">*</span><span class="token punctuation">(</span><span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">compareChannelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
ddddd <span class="token operator">=</span> <span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">exp</span><span class="token punctuation">(</span><span class="token number">1</span>i<span class="token operator">*</span><span class="token punctuation">(</span><span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">compareChannelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
eeeee <span class="token operator">=</span> <span class="token function">abs</span><span class="token punctuation">(</span><span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">exp</span><span class="token punctuation">(</span><span class="token number">1</span>i<span class="token operator">*</span><span class="token punctuation">(</span><span class="token function">channelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">-</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token function">compareChannelData</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> <span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
kkkkk <span class="token operator">=</span> <span class="token function">sum</span><span class="token punctuation">(</span><span class="token function">dataSelectArr</span><span class="token punctuation">(</span><span class="token operator">:</span><span class="token punctuation">,</span> conditionCount<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
end
plv = squeeze(plv);
%% 绘制通道17和20之间的PLV,
figure; plot((0:size(eegData, 2)-1)/srate, squeeze(plv(:, 17, 20, :)));
xlabel(‘Time (s)’); ylabel(‘Plase Locking Value’);
set(gca,‘Box’,‘off’)
saveas(gcf, ‘PLV’, ‘png’)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
7、核心代码解释:
8、上述计算过程如下图所示:
9、PLV代码(function)
链接:https://pan.baidu.com/s/1gYOW36tZBQdmzcBWklC6IA
提取码:0pyg
<a class="tool-attend tool-bt-button tool-unbt-attend" href="javascript:;">已关注</a>
<a class="tool-item-follow active-animation" style="display:none;">关注</a>
</div>
</div>
<div class="toolbox-middle">
<ul class="toolbox-list">
<li class="tool-item tool-item-size tool-active is-like" id="is-like">
<a class="tool-item-href">
<img style="display:none;" id="is-like-imgactive-animation-like" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png" alt="">
<img class="isactive" style="display:none" id="is-like-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2021Active.png" alt="">
<img class="isdefault" style="display:block" id="is-like-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2021Black.png" alt="">
<span id="spanCount" class="count " style="color: rgb(153, 154, 170);">
9
</span>
</a>
<div class="tool-hover-tip"><span class="text space">点赞</span></div>
</li>
<li class="tool-item tool-item-size tool-active is-unlike" id="is-unlike">
<a class="tool-item-href">
<img class="isactive" style="margin-right:0px;display:none" id="is-unlike-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnHeart2021Active.png" alt="">
<img class="isdefault" style="margin-right:0px;display:block" id="is-unlike-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newUnHeart2021Black.png" alt="">
<span id="unlikeCount" class="count " style="color: rgb(153, 154, 170);"></span>
</a>
<div class="tool-hover-tip"><span class="text space">踩</span></div>
</li>
<li class="tool-item tool-item-size tool-active is-collection ">
<a class="tool-item-href" href="javascript:;" data-report-click="{"mod":"popu_824","spm":"1001.2101.3001.4130","ab":"new"}">
<img style="display:none" id="is-collection-img-collection" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive.png" alt="">
<img class="isdefault" id="is-collection-img" style="display:block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectBlack.png" alt="">
<img class="isactive" id="is-collection-imgactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectActive.png" alt="">
<span class="count get-collection" id="get-collection" style="color: rgb(153, 154, 170);">
62
</span>
</a>
<div class="tool-hover-tip collect">
<div class="collect-operate-box">
<span class="collect-text" id="is-collection">
收藏
</span>
</div>
</div>
<div class="tool-active-list">
<div class="text">
觉得还不错?
<span class="collect-text" id="tool-active-list-collection">
一键收藏
</span>
<img id="tool-active-list-close" src="https://csdnimg.cn/release/blogv2/dist/pc/img/collectionCloseWhite.png" alt="">
</div>
</div>
</li>
<li class="tool-item tool-item-size tool-active tool-item-reward">
<a class="tool-item-href" href="javascript:;" data-report-click="{"mod":"popu_830","spm":"1001.2101.3001.4237","dest":"","ab":"new"}">
<img class="isdefault reward-bt" id="rewardBtNew" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newRewardBlack.png" alt="打赏">
<span class="count" style="color: rgb(153, 154, 170);"></span>
</a>
<div class="tool-hover-tip"><span class="text space">打赏</span></div>
</li>
<li class="tool-item tool-item-size tool-active tool-item-comment">
<a class="tool-item-href go-side-comment" data-report-click="{"spm":"1001.2101.3001.7009"}">
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newComment2021Black.png" alt="">
<span class="count" style="color: rgb(153, 154, 170);">8</span>
</a>
<div class="tool-hover-tip"><span class="text space">评论</span></div>
</li>
<li class="tool-item tool-item-bar">
</li>
<li class="tool-item tool-item-size tool-active tool-QRcode" data-type="article" id="tool-share">
<a class="tool-item-href" href="javascript:;" data-report-click="{"mod":"1582594662_002","spm":"1001.2101.3001.4129","ab":"new"}">
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newShareBlack.png" alt="">
</a>
<div class="QRcode" id="tool-QRcode" style="display: none;">
<div class="share-bg-icon icon1 icon2" id="shareBgIcon"></div>
<div class="share-bg-box">
<div class="share-content">
<img class="share-avatar" src="https://i-blog.csdnimg.cn/blog_migrate/e95cb9b9d14a87dd6dd85b2aa50e6426.png" alt="">
<div class="share-tit">
从公式到代码详细解析PLV(锁相值)
</div>
<div class="share-dec">
**1、作用:**估计两个神经电或生物磁信号之间的瞬时相位关系。**2、步骤:**①选择感兴趣的频段对原始信号进行带通滤波②利用希尔伯特变换计算信号的瞬时相位,如图Fig1③计算PLV,如图Fig2思考为什么要分频:因为利用希尔伯特变换计算窄带信号的瞬时相位会更准确。3、公式及解释4、trial和electrode之间的关系如下:5、举个例子:6、计算自己数据的PLV—matlab代码clccleardata_on = pop_loadset('epoch_65_s5.set
</div>
<a id="copyPosterUrl" class="url" data-report-click="{"spm":"1001.2101.3001.7493"}">复制链接</a>
</div>
<div class="share-code">
<div class="share-code-box" id="shareCode"><canvas width="65" height="65"></canvas><img style="display: none;"></div>
<div class="share-code-text">扫一扫</div>
</div>
</div>
<div class="share-code-type"><p class="hot" data-type="hot"><span>热门</span></p><p class="vip" data-type="vip"><span>VIP</span></p></div>
</div>
</li>
</ul>
</div>
<div class="toolbox-right">
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
代码地址如下:
https://ww2.mathworks.cn/matlabcentral/fileexchange/71739-plv-phase-locking-value?s_tid=srchtitle
代码如下:
function [ plv ] = PLV( phase_sig1, phase_sig2 )
% Compute the Phase Locking Value be
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
功能连接(Functional connectivity, FC)可以说是EEG研究中的一个非常重要的方法。对于正常的大脑高级认知功能来说,往往并不仅仅是单独的某个脑区在起作用,而是更加依赖于不同脑区之间的相互协同工作,因此研究不同脑区的功能连接对我们理解大脑的大脑高级认知功能机制来说非常重要。那么究竟什么是功能连接,如何定量测量不同脑区之间的功能连接呢?所谓的功能连接其实就是用某种方法来测量两种信号之间的依赖或相关程度。在EEG领域中,研究者提出了非常丰富的算法来测定两种
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c435921c498fd8cf48f9f07527be548a.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
热门文章
最新评论
您愿意向朋友推荐“博客详情页”吗?
-
强烈不推荐
-
不推荐
-
一般般
-
推荐
-
强烈推荐
最新文章
最新文章
</div>
xhllllllllee.: 请问如果需要二维导联X导联的PLV矩阵程序的哪一步需要更改
懒༒虫: 不管用啊
^哪来的&永远~: 看论文也看视频,反正没弄明白之前就各种查阅资料
LLLLJLLLLLL: 还有就是,这里涉及到trial的话,是不是就是研究的是任务态EEG了?
LLLLJLLLLLL: 太牛了!终于把困惑我好久的东西弄清楚了!我现在研一,在做功能脑网络+图论,我想问一下您这个是从哪里学的呢?论文吗?