FPGA萌新成长记
同学你好,我也在准备FPGA竞赛,不过我做的是心电。脑电信号更微弱,挑战更大。分享几点我的调研心得。第一,硬件前端放大和滤波至关重要,这部分如果做不好,FPGA数字滤波压力很大。建议选用带高共模抑制比放大器和右腿驱动电路的采集模块,从硬件上抑制工频干扰。第二,FPGA内部滤波,除了工频陷波,还要考虑去除眼电等伪迹,可能需要更复杂的算法(如ICA),但这个在FPGA实现很难,大赛项目可以简化,或者假设数据已经相对干净。第三,资源优化技巧:对于多通道,尝试‘时分复用’加‘模块共享’。比如,一个高性能滤波器核心,通过状态机轮流处理多个通道的数据,虽然会引入少量延迟,但节省了大量逻辑资源。特征提取中的一些非线性运算(如log,用于微分熵),可以用分段线性逼近或查找表实现,比用CORDIC IP快。第四,分类算法选择:如果你们想体现FPGA优势,强烈建议在FPGA里实现一个极简的硬件分类器,比如用逻辑实现一个决策树,或者用片上RAM存储一个训练好的SVM权重向量,做点积运算。这会是作品的亮点。如果放上位机,就显得比较常规了。最后,推荐一个资源:Xilinx的官方文档PG149,关于DSP slice的使用,对做信号处理很有帮助。祝你们备赛顺利!
