基于FPGA的多频电疗仪的设计
(内蒙古商贸职业学院,内蒙古 呼和浩特 010000)
摘 要:本文介绍了利用NCO IP核和DSP Builder实现中频理疗信号发生器的详细方法及其原理。在Matlab Simulink中设计了伪随机序列产生模块和正弦信号发生模块,并转换到Quartus II中进行了仿真分析,最后下载到FPGA器件上测试。观察示波器的波形可知该设计满足要求。
关键词:中频理疗;NCO;DSP Builder;FPGA
中图分类号:TN752 文献标识码:A 文章编号:1007—6921(2008)01—0091—02
在医学中,理疗是常用的治疗方法。由于治疗过程中无痛苦、对某些疾病疗效显著,应用较广。研究表明,当以某个固定的频率作用于人体时,随着时间的推移人体会对此频率产生适应性,对此频率刺激的反应逐渐减弱,导致疗效的降低。所以理疗中刺激频率的变化有着重要意义,因此输出频率为随机频率就有效避免了人体的适应性,取得更好的治疗效果。
对于中频理疗信号发生器的设计,传统的方法是采用单片机和数字电路实现,虽然控制灵活但设计复杂,集成度低,体积较大,只适合在医院等专业机构使用,极大地限制了电疗仪的普及。随着EDA技术的发展,在FPGA/CPLD芯片上实现中频理疗信号发生器成为可能。
1 基本原理
在医学上,按输出频率的大小划分,大致可分为三种,分别为低频、中频和高频。此次设计产生的信号频率范围为1K~10KHz 之间,属于中频范围。常用于治疗各种软组织损伤、肩周
炎、关节痛、肌肉痛、神经痛以及胃下垂等。
中频理疗信号发生器的产生主要分为两个模块,包括多路并行伪随机序列发生器模块和正弦信号发生器模块,图1为中频理疗信号发生器的原理框图。用多路并行伪随机序列控制NCO的频率控制字,从而产生一定范围内的随机正弦波。DA转换器用于正弦波的D/A转换,低通滤波器用于滤出正弦波中的杂散噪声信号,最后通过示波器观察中频理疗信号的波形。
1.1 伪随机序列发生器模块的实现
虽然随机数具有一定的统计学规律,但它是抽样值不能事先确定的数[1]。实际中产生的随机数不是绝对随机数,是相对的,称为“伪随机数”。此设计采用m序列作为伪随机序列,m序列是一种最常用的伪随机序列,它是由带线性反馈的移位寄存器(Linear Feedback Shift Registers)产生的,并具有最长的周期。如图2 所示。
其特征值多项式可表示为:f(x)=∑[DD(;M]n[]i=0[DD)]Cixi。
根据以上条件可以算出一系列满足条件的系数,在此设计中使用:f(x)=1+x3+x20;f(x)=1+x7+x18;f(x)=1+x3+x17;f(x)=1+x+x15;f(x)=1+x2+x11;f(x)=1+x3+x10,相互独立的6路伪随机序列。利用DSP Builder构建随机序列有着设计简单,便于仿真调试的优点。部分原理图模型如图3所示,其中利用Z-1、Z-2、Z-3、Z-9、Z-14、Z-17等延时单元作为移位寄存器,用异或(XOR)完成模二运算,输出为Out。通过DSP Builder将其转化为VHDL语言,使之成为多路伪随机序列发生器模块。
在Simulink中仿真其中一列f(x)=1+x3+x10序列的波形如图4所示,可以看出波形频率是随机变化的。
1.2 正弦信号发生器模块的实现
采用NCO(Numerically Controlled Oscillators)作为正弦信号发生器表现了基于EDA技术特有的IP应用技术[2]。IP核,或称Megacore是Altera公司具有知识产权保护的megacore函数,只有在获得许可和购买的前提下才可以使用。基于Quartus II和DSP Builder的IP核有多种,如FIR数字滤波器,FFT离散信号快速傅立叶变换器,NCO数控振荡器 IP核等。本设计采用的NCO IP核,与LPM(library of parameterized modules)宏模块类似,用户可以设置其功能参数。此次设计中采用的NCO IP核模块如图5所示。
其中phi_inc_i是频率控制字的输入,本设计中采用的累加器精度即位宽为20位。累加器的宽度决定采样点的数量从而决定了输出波形的频率分辨率。本设计中输出波形的频率分辨率为△f=fmin=fc/2n,其中fc为输入时钟频率,n为累加器的宽度。输出频率为fo=fc×M/2n,M为phi_inc_i的输入值。fsin_o是正弦波输出端口,其位宽是10位,即幅度精度为210。clk是输入时钟;reset为复位键;clken是时钟使能;data_ready是输出同步信号,当有正弦信号输出时为高电平。NCO IP核在Quar-tus II和DSP Builder中均可以直接调用,本设计中在DSP Builder中使用并仿真,并将其转换为VHDL语言[3]。而NCO IP核在Simulink中仿真波形如图6所示。
2 中频理疗信号发生器的性能特点
明显的随机特性。采用6路并行伪随机序列控制NCO累加器的控制字,使输出正弦信号的频率具有明显的随机特性,从而有效地避免了人体对固定频率的适应性。
3 软件实现
3.1 系统原理图
根据以上讨论的各模块实现原理,利用Quartus II生成逻辑符号,并连接成图7所示的原理图。其中各模块实现的功能如下:m[CD#*3]out模块是伪随机序列发生器模块,分频模块和频率控制字模块的例化。利用分频模块将系统时钟分频,并作为伪随机序列发生器模块的输入时钟,频率控制字模块是将6路并行伪随机序列转换成位宽为20位的输出即dout[19..0],与NCO的频率控制字输入位宽相匹配。nco_1模块是NCO模块、输出数据缓冲器模块和数据叠加器模块的例化。由于NCO输出的波形数据类型是有符号数据,为了便于仿真观察将其转化成无符号数据,故采用数据叠加器来叠加,使输出端fsin[9..0]为10位无符号数据。
3.2 仿真结果
利用Quartus II提供的Simulator对上述原理图进行仿真得到的仿真结果图8所示。
图8是仿真的完整波形,可以看出频率控制字dout的变化是随机的。由于正弦信号fsin的频率取决于dout的取值,故可知输出正弦信号fsin的频率变化也是随机的。
为了更直观的观察波形,在Simulink中的仿真结果如图9所示。
4 结语
根据仿真波形可以看出本设计满足中频理疗信号发生器的标准,通过示波器观察下载到FPGA后的输出波形平滑并且随机性良好。利用FPGA实现此设计使得该系统具有良好的兼容性,并且节省资源,成本较低。
[参考文献]
[1] 张卫钢.通信原理与通信技术[M].西安:西安电子科技大学出版社,2003.
[2] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.
[3] 潘松,黄继业,曾毓.SOPC技术实用教程[M].北京:清华大学出版社,2005.
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于FPGA的多频电疗仪的设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】