自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高山

程序猿一枚

  • 博客(111)
  • 资源 (8)
  • 收藏
  • 关注

原创 【论文】Physics-informed attention temporal convolutional network for EEG-based motor imagery classifica

脑-机接口(BCI)是一项前沿技术,具有改变世界的潜力。在许多BCI应用中,已经广泛使用了脑电图(EEG)运动想象(MI)信号来帮助残疾人士、控制设备或环境,甚至增强人类能力。然而,大脑信号解码的有限性能正在限制BCI行业的广泛增长。在本文中,我们提出了一种基于注意力的时序卷积网络(ATCNet)用于基于EEG的运动想象分类。ATCNet模型利用多种技术,以相对较少的参数数量提升MI分类的性能。

2024-04-17 10:32:26 473

原创 【生成式AI对各行各业的影响及意义】

因此,企业和劳动者需要紧密合作,适应生成式AI的发展潮流,重新定义工作岗位,培养新技能,以实现持续成长1。工作形式的影响: ChatGPT可能引发职业转型,促进新的合作模式,提高生产效率,推动经济增长。随着生成式AI的推广,自动化时代将提前到来。总的来说,ChatGPT等AI技术正在重塑工作和生活的许多方面,带来效率提升和新的机遇,同时也引发对未来工作形式和人类发展的深思。加速编码和软件开发:生成式AI推动代码重构,加快主机迁移,解读、生成代码,自动开发、记录、纠正测试,简化软件开发流程。

2024-04-10 17:02:03 395

原创 【Python numpy数据api】Numpy数据、数组、矩阵的基本知识与运算

注意np进行复制导致地址发生变化,会修改原始的数组元素。np.ndarray构造函数。

2024-01-25 14:46:51 383

原创 【安装pybluez】报错解决python setup.py egg_info did not run successfully.

正常通过window11 python 3.11安装pybluez,尝试第一次安装过程出现缺少,window SDK,于是去官网下载了SDK.先下载。之后安装,然后下载之后install SDK智能安装到c盘。安装后重新启动依旧出现该问题。之后,通过cmd,cd到解压后存在setup.py的位置,并且配置好当前环境。经过查找其实就是版本问题,但是现在已经很难匹配了。不能直接通过pip进行识别了,因此本人采取以下办法。上到pybluez官网,github进行下载。之后,正常安装过程。

2024-01-04 14:19:44 975

原创 【脑源成像】术前癫痫的电源成像 评价:现状与未来展望

引言:电源成像(ESI)是指利用脑电图(EEG)对记录在头部表面的电信号的脑源进行估计。由于具有大量电极的脑电图系统的可用性,以及分析它们收集的信号的软件的进展, ESI源可以应用于与癫痫相关的病理脑电图信号,如发作间峰和癫痫发作。覆盖范围:在这篇叙述性综述中,我们讨论了ESI在考虑手术的癫痫患者中使用的选定的原始研究文章。通过与颅内脑电图和癫痫手术后癫痫控制的金标准比较,电刺激电位可以准确定位癫痫相关活动。

2023-11-10 12:11:16 189

原创 【python 编程】如何提高代码效率,面向对象编程,类的继承,高级编程。

如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法。self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。从执行结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,而 self.

2023-11-08 13:16:14 130

原创 【Verilog 教程】7.4Verilog CIC 滤波器设计

(3)信号经过 20MHz NCO 的正交电路后, -24~ -16MHz 的频带被搬移到 -4~4MHz 与 -44~ -36MHz 的频带处,16~24MHz 的频带被搬移到 -4~4MHz 与 36~44MHz 的频带处,如下所示。如果此时仍然采用奈奎斯特采样定理,即采样频率为带通信号最高频率的两倍,那么此时所需的采样频率将会很高,设计会变的复杂。抽取倍数为 5,滤波器阶数为 1,滤波器级联数为 3,取输入信号数据位宽为 12bit,对数部分向上取整,则积分后数据不溢出的中间信号位宽为 21bit。

2023-11-08 12:53:59 781

原创 【脑机接口 算法】EEGNet: 通用神经网络应用于脑电信号

脑机接口(BCI)使用神经活动作为控制信号,实现与计算机的直接通信。这种神经信号通常是从各种研究透彻的脑电图(EEG)信号中挑选出来的。卷积神经网络(CNN)主要用来自动特征提取和分类,其在计算机视觉和语音识别领域中的使用已经很广泛。CNN已成功应用于基于EEG的BCI;但是,CNN主要应用于单个BCI范式,在其他范式中的使用比较少,论文作者提出是否可以设计一个CNN架构来准确分类来自不同BCI范式的EEG信号,同时尽可能地紧凑(定义为模型中的参数数量)。

2023-11-08 12:42:07 1008

原创 【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

考虑到 FIR 滤波器系数的对称性,计算一个滤波输出值的周期可以减少到 8 个。此时数据需要每 8 个时钟周期有效输入一次,但是为了保证输出信号频率的正确性,工作时钟需要为采样频率的 8 倍,即 400MHz。波形局部放大后如下图所示,此时输入数据有效信号 en 与输出数据有效信号 valid 是周期(50MHz)相同的脉冲信号,不是持续有效的。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。

2023-11-01 19:32:12 497

原创 【Verilog】7.2.1 Verilog 并行 FIR 滤波器设计

由 FIR 滤波器结构可知,阶数为 15 时,FIR 的实现需要 16 个乘法器,15 个加法器和 15 组延时寄存器。输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KHz 的信号。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统,在数字通信、图像处理等领域都有着广泛的应用。波形起始端放大后如下图所示,可见不规则波形的时间段,即两根竖线之间的时间间隔是 16 个时钟周期。

2023-11-01 19:27:44 292

原创 【脑机接口 论文】利用脑机接口帮助ALS患者恢复对家用设备的控制science

脑机接口(bci)可以用来控制像肌萎缩侧索硬化症(ALS)这样的神经障碍患者的辅助设备,这些患者限制了语言和行动。对于辅助控制,BCI系统需要准确和可靠,最好具有最小的设置时间。在这项研究中,一名因ALS导致严重构音障碍的参与者通过腹侧感觉运动皮层上的慢性皮质电图(ECoG)植入物,用六个直观的语音指令操作计算机应用程序。在3个月的研究期间,无需模型再训练或重新校准,即可准确检测和解码语音命令(中位数精度:90.59%)。BCI的使用不需要外源性的定时提示,使参与者能够随意发出自定节奏的命令。

2023-10-31 16:05:15 224

原创 【脑机接口算法】最快连续小波变换处理时间序列信号Nature发表采用快速连续小波变换(fast continuous wavelet transform, fCWT)进行实时、高质量、抗噪声的时频分析

目前信号的频谱分析要么以速度-精度的权衡为主,要么忽略了信号的非平稳特性。本文介绍一种计算快速连续小波变换(fast continuous wavelet transform, fCWT)的开源算法。fCWT的并行环境分离了尺度无关操作和尺度相关操作,同时利用优化的下采样小波快速傅里叶变换。将fCWT与8种竞争算法进行了速度测试,并在合成脑电图和体内细胞外局部场电位数据上进行了抗噪声测试和验证。

2023-10-31 15:41:54 82

原创 【Python 算法】信号处理通过陷波滤波器准确去除工频干扰

Q的值越大,带宽越小,滤波器越窄,抑制特定频率的效果越强。**滤波器的有限长度:**滤波器通常是有限长度的,而不是无限长度。当你将有限长度的滤波器应用于信号时,它会影响信号的边界处,引入额外的波动。带宽Q的值越大,滤波器的选择性越高,也就是滤除特定频率附近的信号时,对该频率的抑制会更强。带宽Q的值越小,滤波器的选择性越低,也就是滤除特定频率附近的信号时,对该频率的抑制会较弱。在信号处理中,滤波操作可能会引入一些边界效应,特别是在信号的开始和结束段,这种现象通常被称为"边界效应"或"边界伪像"。

2023-10-25 23:08:44 2162 2

原创 【神经网络】如何在Pytorch中从零开始将MNIST网络量化为8位

在这里,我们在输入卷积层conv1之前对激活进行量化,并使用名为quantizeLayer的函数,该函数接受conv或线性层以及量化激活的激活、缩放和零点,quantizeLayer()函数执行完全量化的层的前向传递。您可能想知道quantize_tensor_act()函数是做什么的,它只是通过遍历1000个示例并平均结果,使用张量x通常具有的最小值和最大值对激活x进行量化。然而,现代实现通过一些花哨的位技巧(即近似)绕过了这种规模的浮点乘法,这些技巧被证明对网络的精度影响可以忽略不计。

2023-10-13 16:10:11 821

原创 【脑机接口论文与代码】High-speed spelling with a noninvasive brain–computer interface

作者:Xiaogang Chen a,1 , Yijun Wang b,c,1,2 , Masaki Nakanishi b摘要:在过去的20年里,脑机接口取得了前所未有的进步。然而,低通信速率是基于脑机接口的人类通信的主要障碍。本研究提出了一种基于脑电图的脑机接口拼写器,其信息传输速率(ITRs)高达每秒5.32位,是使用非侵入性或非侵入性脑机接口的拼写器中报告的最高ITRs最高。

2023-10-10 17:33:58 407 2

原创 【算法 】两组随机变量协方差矩阵 矩阵的特征值与特征向量

对于两个矩阵x=(5,10),y=(10,10)的矩阵计算。众所周知协方差矩阵在相关性计算中起到重要的而作用。本文通过python 计算两个矩阵的协方差矩阵,并且进行分析。协方差矩阵是一种用于描述两个随机变量之间相关性的矩阵。它是一个对称矩阵,其中每个元素都表示两个随机变量在该维度上的协方差。协方差矩阵的大小与随机变量的数量相关,对于一个二维随机变量,协方差矩阵的大小为2x2。

2023-10-10 09:59:32 556 1

原创 【Verilog 教程】7.2 Verilog 文件操作

例如,利用 $sscanf 将十六进制的数据 data_buf[2] 搬移到寄存器变量 data_get 时,可以先利用写字符串任务 $sformat 将源变量 data_buf[2] 的内容转为字符串型,存放在变量 data_test 中。字符数据先写"123"时,读出数据为"321"。写文件的系统任务主要包括:$fdisplay, $fwrite, $fstrobe, $fmonitor,以及它们对应的自带格式的系统任务 $fdisplayb, $fdisplayh, $fdisplayo 等。

2023-10-08 21:20:47 971

原创 【Verilog 教程】7.1Verilog 除法器设计

为了便于流水,输出端需要有寄存器来存储原始的除数(信号 divisor 和 divisor_kp)和被除数信息(信号 dividend_ci 和 dividend_kp)。将单步计算的余数(信号 remainder)和原始被除数(信号 dividend)对应位的 1bit 数据重新拼接,作为新的单步被除数输入到下一级单步除法计算单元。为了得到最后的除法结果,新的 1bit 商数据(信号 merchant)还需要与上一周期的商结果(merchant_ci)进行移位累加。可以得到新的商和余数。

2023-10-07 19:48:57 345

原创 【脑机接口】瘫痪患者重新行走!脑机接口和思维解码的新时代已经到来

以及CTV,Global News等相关新闻报道,和Youtube上的BRIGHT SIDE, Stanford Medicine 等科普频道。格尔特在十二年前的一次事故中脊髓严重损伤,导致他腰部以下瘫痪。视频画面素材主要来自于发表在《自然》的论文的补充视频,脑机接口和人工智能思维解码,赛博朋克终于要实现了吗?脑机接口和思维解码的新时代已经到来。而现在 利用植入大脑和脊髓的“数字桥梁”植入装置。他终于可以再次以自己的意愿自然的行走。

2023-09-27 22:17:07 50

原创 【Verilog教程】6.7 Verilog流水线

依次类推,只要衣服批次不停的输入,4 台洗衣设备即可不间断的完成对所有衣服的清洗过程。而且很多时候有些计算并不能在一个或两个时钟周期内执行完毕,如果每次输入的串行数据都需要等待上一次计算执行完毕后才能开启下一次的计算,那效率是相当低的。就像之前所说,Verilog 描述的是硬件电路,直接用乘号完成相乘过程,编译器在编译的时候也会把这个乘法表达式映射成默认的乘法器,但其构造不得而知。数据在时钟驱动下不断串行输入,乘法输出结果延迟了 4 个时钟周期后,也源源不断的在每个时钟下无延时输出,完成了流水线式的工作。

2023-09-27 22:09:07 165

原创 【Verilog 教程】6.6Verilog 仿真激励

毫不夸张的说,对于稍微复杂的 Verilog 设计,如果不进行仿真,即便是经验丰富的老手,99.9999% 以上的设计都不会正常的工作。但是被测试模块输入端对应的变量应该声明为 reg 型,如 clk,rstn 等,输出端对应的变量应该声明为 wire 型,如 dout,dout_en。因为 $fread 只能读取 2 进制文件,所以输入文件的第一行对应的 ASCII 码应该是 330a,所以我们想要得到文件里的数据 3,应该取变量 read_temp 的第 9 到第 8bit 位的数据。

2023-09-27 22:04:41 1081

原创 【Verilog 教程】6.5 Verilog避免Latch

在组合逻辑中,如果一个信号的赋值源头有其信号本身,或者判断条件中有其信号本身的逻辑,则也会产生 latch。例如下面的模型,if 语句中缺少 else 结构,系统默认 else 的分支下寄存器 q 的值保持不变,即具有存储数据的功能,所以寄存器 q 会被综合成 latch 结构。触发器(flip-flop),是边沿敏感的存储单元,数据存储的动作(状态转换)由某一信号的上升沿或者下降沿进行同步的(限制存储单元状态转换在一个很短的时间内)。//如果en有效,改写q的值,否则q会保持为0。

2023-09-27 22:00:21 662

原创 【Verilog 教程】6.4Verilog竞争与冒险

由图可知,信号 condition 出现了一个尖峰脉冲,这是由于信号 din_rvs 与信号 en 相对于模块内部时钟都是异步的,所以到达内部门电路时的延时是不同的,就有可能造成竞争冒险。显然,A 状态的改变,势必会造成电路存在竞争冒险。两条赋值语句同时赋值,F

2023-09-27 21:57:27 281

原创 【Verilog 教程】6.3Verilog状态机

这也属于 Moore 型状态机的特点。由图可知,代表出货动作的信号 sell 都能在投币完毕后正常的拉高,而代表找零动作的信号 change 也都能根据输入的硬币场景输出正确的是否找零信号。如图中红色圆圈部分,输出信号都出现了干扰脉冲,这是因为输入信号都是异步的,而且输出信号是组合逻辑输出,没有时钟驱动。(3) 状态机第三代,时序逻辑,非阻塞赋值,因为是 Mealy 型状态机,根据当前状态和当前输入,确定输出信号。(2) 状态机第二段,组合逻辑,阻塞赋值,根据当前状态和当前输入,确定下一个状态机的状态。

2023-09-27 21:48:23 713

原创 【Verilog 教程】6.2Verilog任务

可以用关键字 automatic 来对任务进行声明,那么任务调用时各存储空间就可以动态分配,每个调用的任务都各自独立的对自己独有的地址空间进行操作,而不影响多个相同任务调用时的并发执行。第二种描述方式,虽然没有端口信号,但是直接对"全局变量"进行过程操作,因为该全局变量对模块是可见的,所以任务内信号翻转的过程会在信号 clk_test2 中体现出来。任务内部变量也只有在任务中可见,如果想具体观察任务中对变量的操作过程,需要将观察的变量声明在模块之内、任务之外,可谓之"全局变量"。

2023-09-27 21:43:18 621

原创 【Verilog 教程】 6.1Verilog函数

倘若在很短的时间内,依次对 4 个数码显示端进行片选发光,同时在不同片选下给予不同的光亮控制(各对应 4 位十进制数字),那么在肉眼不能分辨的情况下,就达到了同时显示 4 位十进制数字的效果。在 Verilog 中,一般函数的局部变量是静态的,即函数的每次调用,函数的局部变量都会使用同一个存储空间。在 Verilog 中,可以利用任务(关键字为 task)或函数(关键字为 function),将重复性的行为级设计进行提取,并在多个地方调用,来避免重复代码的多次编写,使代码更加的简洁、易懂。

2023-09-27 21:38:33 185

原创 【脑机接口】Adaptive SSVEP-Based BCI System With Frequency and Pulse Duty-Cycle Stimuli Tuning Design基于频率

摘要:本研究旨在设计一种基于稳态视觉诱发电位(SSVEP)的脑机界面(BCI)系统。众所周知,低频闪烁会导致更密集的SSVEP,但可能会让用户感到不舒服和容易疲劳。因此,本文提出了一种新的中/高频闪烁刺激方法。然而,当用户注视相同的刺激时,他们会表现出不同的SSVEP反应。针对所有用户设计固定频率的闪烁刺激是不合适的。本研究首先提出了一种调整每个用户刺激频率的策略,从而导致更好的SSVEP。此外,为了进一步增强SSVEP,本研究采用闪烁占空比用于刺激设计,这对基于SSVEP的BCI系统的讨论较少。

2023-09-25 00:13:55 81

原创 【Verilog 教程】5.3Verilog带参数实例化

(2) 当然,利用 defparam 也可以改写模块在端口声明时声明的参数,利用带参数例化也可以改写模块实体中声明的参数。(4) 那如果一个模块中既有在模块在端口声明时声明的参数,又有在模块实体中声明的参数,那这两种参数还能同时改写么?可能的解释为,在编译器看来,如果有模块在端口声明时的参数,那么实体中的参数将视为 localparam 类型,使用 defparam 将不能改写模块实体中声明的参数。如果你用带参数模块例化的方法去改写参数 MASK 的值,编译不会报错,MASK 也将被成功改写!

2023-09-24 12:28:29 692

原创 【Verilog 教程】5.2Verilog 模块例化

有时候在大型的设计中可能会有很多个端口,端口信号的顺序时不时的可能也会有所改动,此时再利用顺序端口连接进行模块例化,显然是不方便的。这种方法将需要例化的模块端口与外部信号按照其名字进行连接,端口顺序随意,可以与引用 module 的声明端口顺序不一致,只要保证端口名字与外部信号匹配即可。连接端口的信号类型可以是,1)标识符,2)位选择,3)部分选择,4)上述类型的合并,5)用于输入端口的表达式。当然,信号名字可以与端口名字一样,但他们的意义是不一样的,分别代表的是 2 个模块内的信号。

2023-09-24 12:24:33 982

原创 【Verilog 教程】5.1Verilog 模块与端口

模块内部有可选的 5 部分组成,分别是变量声明,数据流语句,行为级语句,低层模块例化及任务和函数,如下图表示。input、inout 类型不能声明为 reg 数据类型,因为 reg 类型是用于保存数值的,而输入端口只能反映与其相连的外部信号的变化,不能保存这些信号的值。模块名,端口信号,端口声明和可选的参数声明等,出现在设计使用的 Verilog 语句(图中 Declarations_and_Statements)之前。对于外部环境来说,模块内部是不可见的,对模块的调用只能通过端口连接进行。

2023-09-24 12:20:35 317

原创 【Verilog 教程】4.8Verilog 过程连续赋值

与过程赋值不同的是,过程连续赋值的表达式能被连续的驱动到 wire 或 reg 型变量中,即过程连续赋值发生作用时,右端表达式中任意操作数的变化都会引起过程连续赋值语句的重新执行。使用方法和效果,和 assign 与 deassign 类似,但赋值对象可以是 reg 型变量,也可以是 wire 型变量。由图可知,在 cnt_temp 等于 4 时(80ns), cnt_temp 被强制赋值为 6,cout 被强制赋值为 1。赋值过程中对寄存器连续赋值,寄存器中的值被保留直到被重新赋值。

2023-09-24 12:16:19 200

原创 【Verilog教程】4.7Verilog 循环语句

下面 for 循环的例子,实现了与 while 循环中例子一样的效果。Verilog 循环语句有 4 种类型,分别是 while,for,repeat,和 forever 循环。一般来说,因为初始条件和自加操作等过程都已经包含在 for 循环中,所以 for 循环写法比 while 更为紧凑,但也不是所有的情况下都能使用 for 循环来代替 while 循环。forever 语句表示永久循环,不包含任何条件表达式,一旦执行便无限的执行下去,系统函数 $finish 可退出 forever。

2023-09-24 12:14:31 270

原创 【Verilog 教程】4.6 Verilog 多路分支语句

但是 case 语句中的 x 或 z 的比较逻辑是不可综合的,所以一般不建议在 case 语句中使用 x 或 z 作为比较值。case 语句是一种多路条件分支的形式,可以解决 if 语句中有多个条件选项时使用不方便的问题。当多个条件选项下需要执行相同的语句时,多个条件选项可以用逗号分开,放在同一个语句块的候选项中。default 语句是可选的,且在一个 case 语句中不能有多个 default 语句。case 语句中的条件选项表单式不必都是常量,也可以是 x 值或 z 值。case 语句支持嵌套使用。

2023-09-24 12:10:56 306

原创 【Verilog教程】4.5 Verilog 条件语句

事例中 if 条件每次执行的语句只有一条,没有使用 begin 与 end 关键字。但如果是 if-if-else 的形式,即便执行语句只有一条,不使用 begin 与 end 关键字也会引起歧义。else if 与 else 结构可以省略,即可以只有一个 if 条件判断和一组执行语句 ture_statement1 就可以构成一个执行过程。ture_statement1 等执行语句可以是一条语句,也可以是多条。例如下面代码,虽然格式上加以区分,但是 else 对应哪一个 if 条件,是有歧义的。

2023-09-24 12:08:55 64

原创 【Verilog 教程】4.4Verilog 语句块

因为 always 块和 forever 块是一直执行的,此时的 disable 有点类似 C 语言中的 continue 功能。而并行块中最长的执行时间为 15ns,所以顺序块中的信号 bi_sequen2 在 35ns 时被赋值。而并行块,ai_paral 与 bi_paral 的赋值是同时执行的,所以均在 5ns 时被赋值。在本节之前的仿真中,initial 块中的阻塞赋值,都是顺序块的实例。关键词:顺序块,并行块,嵌套块,命名块,disable。并行块中的语句是并行执行的,即便是阻塞形式的赋值。

2023-09-24 12:05:57 70

原创 【Verilog教程】4.3Verilog 时序控制

当多个信号或事件中任意一个发生变化都能够触发语句的执行时,Verilog 中使用"或"表达式来描述这种情况,用关键字 or 连接多个事件或信号。(2)一般时延赋值方式:遇到延迟语句后先延迟一定的时间,然后将当前操作数赋值给目标信号,并没有"惯性延迟"的特点,不会漏掉相对较窄的脉冲。(3)内嵌时延赋值方式:遇到延迟语句后,先计算出表达式右端的结果,然后再延迟一定的时间,赋值给目标信号。前面所讨论的事件控制都是需要等待信号值的变化或事件的触发,使用 @+敏感列表 的方式来表示的。

2023-09-24 12:02:47 108

原创 【Verilog 教程】4.2 Verilog 过程赋值

如下所示,2 个 always 块中语句并行执行,赋值操作右端操作数使用的是上一个时钟周期的旧值,此时 a

2023-09-24 11:58:24 115

原创 【Verilog教程】4.1 Verilog 过程结构

与 initial 语句相反,always 语句是重复执行的。当执行完最后一条语句后,便再次执行语句块中的第一条语句,如此循环反复。每个 initial 语句或 always 语句都会产生一个独立的控制流,执行时间都是从 0 时刻开始。initial 语句从 0 时刻开始执行,只执行一次,多个 initial 块之间是相互独立的。信号 ai,bi 的值按照赋值顺序依次改变,所以 initial 内部语句也可以看做是顺序执行。由于循环执行的特点,always 语句多用于仿真时钟的产生,信号行为的检测等。

2023-09-24 11:56:19 51

原创 【Verilog教程】3.2 Verilog 时延

在上述例子中,A 或 B 任意一个变量发生变化,那么在 Z 得到新的值之前,会有 10 个时间单位的时延。如果在这 10 个时间单位内,即在 Z 获取新的值之前,A 或 B 任意一个值又发生了变化,那么计算 Z 的新值时会取 A 或 B 当前的新值。由于信号 ai 第二个高电平持续时间小于 20ns,so_lose 信号会因惯性时延而漏掉对这个脉冲的延时检测,所以后半段 so_lose 信号仍然为 0。由于所有的时延均大于 5ns,所以信号 so_get 的结果为与操作后再延迟 5ns 的结果。

2023-09-21 23:44:41 361

原创 【Verilog 教程】3.1 Verilog 连续赋值

关键词:assign, 全加器连续赋值语句是 Verilog 数据流建模的基本语句,用于对 wire 型变量进行赋值。格式如下LHS(left hand side) 指赋值操作的左侧,RHS(right hand side)指赋值操作的右侧。需要说明的是:LHS_target 必须是一个标量或者线型向量,而不能是寄存器类型。RHS_expression 的类型没有要求,可以是标量或线型或存器向量,也可以是函数调用。

2023-09-21 23:42:24 394

【Verilog 教程】7.4Verilog CIC 滤波器设计

【Verilog 教程】7.4Verilog CIC 滤波器设计

2023-11-08

【脑机接口论文与程序源代码】权重冻结:一种全连通层的正则化方法及其在脑电分类中的应用

【脑机接口论文与程序源代码】权重冻结:一种全连通层的正则化方法及其在脑电分类中的应用

2023-09-15

脑机算法CCA-FBCCA机械手臂控制源代码-fbcca算法-cca算法-python

SSVEP-BCI系统通常使用固定的计算时间和静态窗口停止方法来解码EEG信号,这降低了系统的效率。针对这一问题,本文采用了一种自适应FBCCA算法,该算法利用贝叶斯估计动态寻找结果预测的最佳数据长度,适应不同试验和不同个体之间的差异,有效提高了系统运行的有效性。同时,通过这种方法,本文构建了一个基于自适应FBCCA的脑控机械臂抓取生命辅助系统。在本文中,我们选择了20名受试者,共进行了400个实验。大量实验验证了该系统的可用性,平均识别成功率为95.5%,这也证明了该系统可以应用于实际场景。帮助残疾人用大脑控制机械臂抓取所需物品,以辅助日常生活,提高生活质量。未来,SSVEP的自适应FBCCA解码算法可以与运动成像脑机接口解码算法相结合,构建相应的系统,帮助脑卒中引起的上肢或下肢运动障碍患者康复,重塑大脑和控制肢体连接。 ———————————————— 版权声明:本文为CSDN博主「紫钺-高山仰止」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_43158059/article/deta

2023-09-14

任务判别成分分析法(TDCA)\\(TDCA)main-python程序运行

脑机接口(BCI)为大脑和外部设备之间提供了一个直接通信通道。基于稳态视觉诱发电位的脑机接口(SSVEPBCI)因其高信息传输率而受到越来越多的关注。任务相关成分分析法(TRCA)是一种最新的单独校准 SSVEPBCI 的方法。然而,在 TRCA 中,从每个刺激中学习到的空间滤波器可能是冗余的,时间信息没有得到充分利用。针对这一问题,本文提出了一种新方法,即任务判别成分分析法(TDCA),以进一步提高单独校准的 SSVEPBCI 的性能。通过两个公开的基准数据集对 TDCA 的性能进行了评估,结果表明 TDCA 的性能明显优于集合 TRCA 和其他竞争方法。测试 12 名受试者的离线和在线实验进一步验证了 TDCA 的有效性。本研究为设计经过视频校准的 SSVEPBCI 解码方法提供了新的视角,并为其在高速脑拼写应用中的实现提供了启示 ———————————————— 版权声明:本文为CSDN博主「紫钺-高山仰止」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_43158059/articl

2023-09-12

脑机接口-Brainflow包-用于数据处理数据分析

**Matlab 为BrainFlow设置Matlab绑定的步骤:** 编译核心模块,使用核心模块编译和c++绑定中的说明。如果您不想编译c++代码,您可以从发布页面下载带有预编译库的Matlab包 **打开Matlab IDE并打开brainflow/matlab_package/brainflow文件夹 将文件夹lib和inc添加到Matlab路径** 如果您想从不同于brainflow/matlab_package/brainflow的文件夹中运行Matlab脚本,您也需要将其添加到Matlab路径中 如果您看到错误,您可能需要将Matlab配置为使用c++编译器而不是C,安装Visual Studio 2017或更新版本(适用于Windows)并在Matlab终端mex -setup cpp中运行此命令,您需要从列表中选择Visual Studio compiler。更多信息可以在这里找到。

2023-09-07

论文资源deep multi-view feature learning-癫痫检测深度多特征融合实现检测

癫痫是一种常见的神经系统疾病,由脑神经元异常放电引起,癫痫发作可能导致危及生命的紧急情况。通过分析癫痫患者的脑电图(EEG)信号,可以监测癫痫患者的病情,从而及时发现和干预癫痫发作。在癫痫研究中,使用合适的方法获取有效的特征对检测的准确性至关重要。为了获得能够产生更好检测结果的特征,本文提出了一种多视图深度特征提取方法。该方法首先利用快速傅里叶变换(FFT)和小波包分解(WPD)构造初始多视图特征;然后利用卷积神经网络(CNN)从初始的多视图特征中自动学习深度特征,降低维数,获得癫痫发作识别能力更好的特征。在此基础上,利用基于可解释规则的多视图Takagi-Sugeno-Kang模糊系统(MV-TSK-FS),基于所获得的深度多视图特征,获得具有更强泛化能力的分类模型。实验研究表明,所提出的多视图深度特征提取方法比常用的主成分分析(PCA)、FFT和WPD等特征提取方法具有更好的性能。使用多视图深度特征进行分类的性能优于使用单视图深度特征。

2023-09-07

脑电图-matlab-大脑地形图绘制-脑地形图

topoplotEEG(yy,'bp1.txt','electrodes','labels','maplimits',[0,1]);%yy是输入的数据,yy是行向量 ?首先打开bp1.txt文档,将里面的通道重新手动排序为与 当前输入信号x_sign矩阵中的每列对应的哪一个通道顺序一致 (不使用的通道有两种方法①在x_sign矩阵中将不使用通道赋值为0;或者②在bp1.txt中将不使用的通道删除) 不懂topoplotEEG的自己去查函数使用,每一个通道绘制使用的按照归一化显示的如果是幅值高则该区域显示的是亮色否则就是暗色。1为最亮,0为最暗

2023-09-07

深度学习-python-yolov3-目标检测算法

YOLOv3 是世界上最受欢迎的视觉 AI,代表着 Ultralytics 对未来视觉 AI 方法的开源研究,融合了数千小时的研究和开发中学到的经验和最佳实践。 学习和掌握YOLOv3目标检测训练自己的数据集方法 掌握图像标注方法 掌握YOLOv3数据集整理方法 掌握YOLOv3训练、测试、性能统计方法 我们希望这里的资源能够帮助您充分利用 YOLOv3。请浏览 YOLOv3 文档以获取详细信息,

2023-09-06

深度学习基于卷积神经网络的铁路信号灯识别方法

铁路运输是我国交通运输领域的重要组成部分,近年来,随着科学技术的快速发展,列车多次提速,行车密度不断加大,如何保障铁路安全运输成了人们一直关注的问题。为了降低了铁路交通事故的发生率,基于图像处理和计算机视觉的人工智能技术受到广泛的关注并逐渐应用于铁路运输。以普通铁路信号灯为研究对象,采用卷积神经网络模块识别方法,进行铁路信号灯颜色识别研究,通过对卷积神经网络算法改进、结构优化以及提高人工智能的学习率,从而解决铁路沿线信号灯存在于高低两处以及较多灯光情况下进行铁路信号灯识别问题,获得卷积神经网络提取图片特点并进行分类辨识理论,为提高铁路运输安全、延长列车司机预判时间提供思路。(1)学习卷积神经网络基础模型,进行基本模型手写数字识别的程序编写与仿真; (2)探究卷积神经网络的图像识别模型,进行颜色识别模型的程序编写; (3)进行铁路色灯信号机不同颜色信号的识别,进行实验分析。 (2)引入卷积神经网络算法 铁路沿线上的信号灯有在地面处和在电线杆高处两种,按照铁路交通规则,在铁轨左侧的信号灯为当前机车的指示信号灯。铁路上的交通信号灯比公路上所用的信号灯小一些,所拍摄图像信号灯区域中心颜色不纯正

2023-09-04

数据处理-主成分分析-数据降维-pca聚类-pca

主成分分析应用 1用主成分分析法求2018年1-12月小河闸断面主要污染物(主成分)和对应的主成分得分,下面列出详细计算过程。 2pca实现人脸检测 代码思路:先用PCA实现对人脸特征的提取并降维,再使用感知机实现多分类。训练集共包含200张图片,将每张图片转换成列向量,则可将训练数据集转换成一个10304x200的矩阵。对该矩阵进行主成分分析,得到50x200的人脸特征矩阵,并将其作为感知机的输入,并训练感知机,感知器的输出为40x200。利用剩余的200张 3pca实现结合机器学习感知器实现人脸检测 PCA实现人脸识别 平台: Anaconda 下的Spyder 编程语言: Python 3.6.5 依赖的包: numpy,cv2 运行方法:运行PCA_face_recognize.py 详细介绍:package.py中存放的是自定义的函数。数据集使用的是ORL人脸数据集。该数据集包含40个不同的人,每个人10张人脸照片,共400张照片。训练集使用每个人的前五张人脸照片。测试集使用每个人的后五张人脸照片。进行测试时,在测试集中随机抽取一个人的人脸照片,进行人脸识别。 代码思路:

2023-09-04

脑机接口任务相关性成分分析TRCA算法实现与论文

目的:本研究提出并评估了一种新的数据驱动的空间滤波方法,用于增强稳态视觉诱发电位(SSVEPs)检测到高速脑机接口(BCI)拼写器。方法:采用任务相关成分分析(TRCA),通过去除背景脑电图(EEG)的活动,提高信噪比(EEG)活动,提高SSVEP信号的信噪比s的再现性。进一步开发了一种集成方法来集成对应于多个刺激频率的TRCA滤波器。本研究利用来自12名受试者的40类SSVEP数据集,对所提出的基于TRCA的方法和基于扩展典型相关分析(CCA)的方法之间的BCI性能进行了比较。通过对20名被试的线索引导目标选择任务和对其中10名被试的自由拼写任务,进一步实现了在线BCI拼写功能。结果:离线比较结果表明,与扩展的基于cca的方法相比,所提出的基于TRCA的方法可以显著提高分类精度。结论:本研究验证了所提出的基于TRCA的方法实现高速SSVEP BCI的有效性。

2023-09-04

bci-meta bci ssvep 系统复现,包括ssvep,mi p300各种相关信号处理算法

bci 系统复现,项目主要利用结合了稳态视觉诱发电位(SSVEP)范式的脑机接口技术。通过自主设计的刺激器闪烁刺激,诱发大脑产生与闪烁刺激频率一致的基频和倍频的脑电信号。通过脑电采集设备对脑电信号进行采集放大,并传达给计算机,计算机在MATLAB 软件中对采集得到的信号采取频谱分析,进行对脑电信号进行处理识别,从而实现脑电信号与控制信号的转换。之后,将控制信号通过蓝牙设备对第三方设备传达控制指令,凭借指令第三方应用根据对应的预先设定的指令进行预想的状态反应。 即可实现利用脑电信号进行脑控打字拼写、脑控智能机器人(轮椅模型)、脑控智能家居的控制。从而达到为某些失能人群提供服务的目的。 1 产品包括视觉刺激软(硬)件、脑电采集设备、脑电信号放大器、脑电信号处理软件、以及相应的功能性辅助软件五部分。仅需对不同个体进行简单校准,即可进行使用。产品主要利用了稳态视觉诱发电位的脑机接口技术,通过产品配套的硬件以及软件部分。对于有运动障碍,语言障碍的使用者,仅需使用者视觉情况正常以及大脑意识清晰,即可通过SSVEP刺激,诱发使用者大脑枕叶视觉区产生稳态视觉诱发电位。

2023-09-03

污水处理异常工况识别,程序,数据集,代码,画图的matlab.m文件 使用matlab 实现深度学习训练

1.文件包括污水处理异常工况的数据集 2.文件包括污水处理异常工况迁移学习的网络结构best1.mat 3.文件包括污水处理异常工况,论文50篇左右 4.文件配合博主文章进行讲解使用,readme important.txt文件查看目录 5.直接运行第二个文件的train.m 直接测试,测试集图片实现输出结果 如有不懂,具体内容请先关注!

2022-03-10

训练自己的数据集-matlab-cnn

用于简单的cnn 图像识别,包含数据集

2021-09-17

matlab 的cnn的编程程序

matlab cnn

2021-09-17

配合所发的文章使用t-sne.zip

可视化操作,使用minst数据集

2021-09-06

多输入多输出神经网络程序包含原始文件,自定义函数和数据集

main函数直接运行可以https://blog.csdn.net/qq_43158059/article/details/115772434

2021-04-16

基于神经网络的男女性别预测压缩包-Desktop.zip

见文章基于神经网络的性别预测https://blog.csdn.net/qq_43158059/article/details/115675760

2021-04-13

波恩癫痫脑电5种类.zip

一共五类数据,每类子文件下100个片段。每个片段4097个采样点,包含预处理matab文件和生成的包括database.mat

2021-04-06

matlab神经网络空气质量指数预测.zip

具体请看博客文章讲解。matlab实现预测6种污染物浓度的未来值,文件中数据已建立,3层神经网络程序采用tanh激活函数梯度下降算法,反归一化皆以实现直接运行即可,已调好基础参数。如需可看对应的文章其他欢迎指正讨论留言私聊。

2020-07-18

C语言编写cmd的教职工信息系统

实现教职工信息管理,包括录入信息,查询,浏览,修改,特殊查寻,包括 地址名称工号性别查找,还可以进行信息保存,利用文件的方式来运行。

2018-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除