gtec设备采集脑电(MATLAB)

编程入门 行业动态 更新时间:2024-10-08 19:40:40

gtec<a href=https://www.elefans.com/category/jswz/34/1769313.html style=设备采集脑电(MATLAB)"/>

gtec设备采集脑电(MATLAB)

MATLAB API V1.16.00

说明:API使用手册提供的demo中是使用while函数,当采集到指定长度的脑电信号之后停止,因为matlab本身是一行一行代码完成的,那么在实际和范式结合的时候,不能满足同时呈现范式以及采集当前刺激下脑电的记录,因此使用timer函数进行信号的采集

clc;
%初始化PTB设置,因为懒得写延时的代码,用的PTB的waitsecs函数
PsychDefaultSetup(2);
%因为用到timer,初始化全局变量
global gds_interface
global eegdata
gds_interface = gtecDeviceInterface();
eegdata = [];%初始化空矩阵用于存放eegdata
%端口设置
gds_interface.IPAddressHost = '127.0.0.1';
gds_interface.IPAddressLocal = '127.0.0.1';
gds_interface.LocalPort = 50224;
gds_interface.HostPort = 50223;
%连接设备
connected_devices = gds_interface.GetConnectedDevices();
%确认设备为USBamp
gusbamp_config = gUSBampDeviceConfiguration();
gusbamp_config.Name = connected_devices(1,1).Name;
gds_interface.DeviceConfigurations = gusbamp_config;
%获取可用通道数目
available_channels = gds_interface.GetAvailableChannels();
%设置采样率和扫描数
gusbamp_config.SamplingRate = 256;
gusbamp_config.NumberOfScans = 8;
%通道设置,滤波等
for i=1:size(gusbamp_config.Channels,2)if (available_channels(1,i))gusbamp_config.Channels(1,i).Available = true;gusbamp_config.Channels(1,i).Acquire = true;% do not use filtersgusbamp_config.Channels(1,i).BandpassFilterIndex = 49;gusbamp_config.Channels(1,i).NotchFilterIndex =2;% do not use a bipolar channegusbamp_config.Channels(1,i).BipolarChannel = 0;end
end
%应用以上设置
gds_interface.DeviceConfigurations = gusbamp_config;
gds_interface.SetConfiguration();
%设置定时器,用于连续读取缓冲区的脑电信号
t=timer('Name','geteegdata','TimerFcn',{@geteegdata},'Period',0.3,'ExecutionMode','fixedSpacing');
%开始采集(缓冲区开始读取)
gds_interface.StartDataAcquisition();
%计时器开始工作,记录脑电
start(t);
WaitSecs(4);%4s
%停止计时器
stop(t);
%缓冲区停止获取数据
gds_interface.StopDataAcquisition();
%删除计时器
delete(t);
%解除设备占用
delete(gds_interface);
clear gds_interface;
clear gusbamp_config;
%save eegdata; %保存脑电数据以离线处理
%画图看一下
plot(eegdata(:,1));%通道1的
xlabel('channel 1');
ylabel('a');%计时器回调函数
function geteegdata(~,~)global gds_interfaceglobal eegdataglobal data[~ , data] = gds_interface.GetData();eegdata=[eegdata;data];
end

更多推荐

gtec设备采集脑电(MATLAB)

本文发布于:2024-02-07 04:28:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753339.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:设备   gtec   MATLAB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!