DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 836|回复: 0
打印 上一主题 下一主题

[待整理] 小波处理在DSP Builder的脑电信号处理

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-10 08:28:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  1 引言
  脑电信号EEG(Electroencephalograph)是人体一种基本生理信号,具有重要的临床诊断和医疗价值。南于脑电信号自身具有非平稳性随机的特点,因此,对其实时滤波具有相当难度。自从Berger 1929年发现脑电信号以来,人们采用多种数字信号处理技术处理分析脑电信号,由于传统的滤波去噪方法所用滤波器一般具有低通特性,因此采用经典滤波法对非平稳信号去噪,降低噪声,展宽波形,平滑信号中突变尖峰的成分,但可能损失这些突变点携带的重要信息,而傅里叶频谱分析仅是一种纯频率分析方法,该方法对时变的非平稳脑电信号无效。
  与传统的傅里叶变换相比较,小波变换是一种多尺度信号分析方法,具有良好的时频局部化特性,非常适合分析非平稳信号的瞬态特性和时变特性,这正是分析 EEG所需要的,EEG中许多病变都是以瞬态形式表现的。只有结合时间和频率进行处理,才能取得更好效果。但小波分解每次只分解上次分解的低频部分,而不分解高频部分,所以高频段分辨率较差。而小波包分解是一种从小波分解延伸出的更细致的分解和重构信号的方法,它不但分解低频部分,而且还能二次分解高频部分,能够很好地将频率分辨率调整到与脑电节律特性相一致,因此小波包分解具有更好的滤波特性。若将小波包方法引入脑电信号分析.不仅可以克服传统脑电分析的不足.还可以改进Mallat算法分析实际脑电中的不足。
  脑电信号的数字处理以往采用通用PC机或单片机实现,存在实时性差等缺点。随之,基于FPGA的小波变换在脑电信号数字处理中应运而生,其实时性好。 DSP Builder将Matlab/Simulink设计仿真工具的算法开发、模拟和验证功能和Quartus II软件的HDL综合、模拟和验证功能相结合,为小波变换的FPGA提供良好的平台。
  2 一维离散小波(1D-DWT)Mallat改进算法
  多分辨率分析是小波分析的核心理论,其Mallat算法是信号小波分解和重构的常用算法。正交小波的分解和重构公式由尺度函数的尺度方程系数确定。假设构造正交小波的尺度函数φ(t)的两尺度方程为:


  式中,g(n)=(-1)n-1h(2N-n-1),N为自然数常数。
  设信号为:


  由于φ(-t)和φ(t-s)为构造正交小波的多分辨率分析尺度函数,因此上述分解和重构公式中取h(n)为h(-n)或h(n-s)均可。为了讨论方便,且不失一般性,可将上述分解公式和重构公式重写为:


  带入式(9)得:

  则c0(k)=c0(k-2N-1),式(13)得到的信号是式(12)得到信号的延迟。由于序列h(n)和g(n)为因果序列,所以式(13)对应的滤波器为因果滤波器。采用式(7)和式(8)继续分解信号低频分量或低频分量与高频分量.可得多级分解或小波包分解。
  3 基于DSP Builder的小波变换设计实现
  考虑到瞬态脉冲信号的短时性,选择具有紧支集的Daubenchies小波作为分析小波,这样有利于突出瞬态信号特征,DB小波函数具有良好的正交性和紧支撑性,可较好地表现频域信号的连续性和突变性,在实际工程应用中效果较好。故这里采用DB小波对脑电信号进行4级分解重构。滤除脑电信号中存在的直流成分或缓慢基线漂移。选取DB2小波,此时M=3,且低通滤波系数(尺度函数系数)如下:
  由于浮点数在FPGA中实现比较复杂,为了减少FPGA的运算量和资源,可将滤波计算转换为整数运算和移位运算,为此首先需将以上滤波器系数转化为整数,对每个滤波器系数采用16位字长进行量化,即乘以215后取整数,而对滤波器的输出信号有移15位即得到实际输出。
  以DSP Builder为平台,对式(7)、式(8)和式(13)算法进行系统级建模、仿真,再利用Signal Compiler生成HDL文件,然后利用Quartus II进行时序仿真验证。
  3.1 DSP Builder实现lD-DWT分解
  分解模块的结构如图1所示。信号并行从4级延迟线输出,与FIR滤波器系数进行卷积,然后再偶抽取便可得到近似部分和细节部分的结果。二次抽取模块采用DSP Builder的下采样模块,利用Signal Compiler生成HDL文件。

  为了减少系统耗用的硬件资源,舍去输出结果的低8位,保证分解前后信号保持同样能量级。从图1中可知,各个子模块并行工作,子模块之间无需任何交叉信号,数据从输入端以流水线的方式向后传递,实现实时流水线工作。二级分解模块的设计原理同一级分解模块。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-1 04:41 , 耗时 0.093076 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表