EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
次声波是频率在10-6~20 Hz之间的机械纵波。利用2个频率不同的超声波(频率通常在2×104~5×108Hz范围之间)在空间干涉组合可以形成次声波。
7 {# }$ z0 e% P7 P) Q 目前,大多使用直接数字频率合成(DDS)方法产生高频波形。本文利用DDS原理,通过FPGA产生2个不同频率的高频信号,再经过换能器转换成2路超声波,在外部干涉合成次声波。 ; F3 S5 {' R- C i8 z+ M1 b7 W: F- P
1 DDS的基本原理和结构框图
5 q/ z. ~- O" p" ~$ N. ^: n DDS(Direct Digital Synthesis)是从相位概念出发,将数字信号转换成模拟信号来获得所需波形的一种频率合成技术。日前,使用最广泛的是基于查找表(Look-Up-Table)结构的方法。图1是DDS的基本原理图。
( E, }( `- x3 ~* b' ?6 A2 T |
- e, J2 ]; @4 x5 X) [ DDS是由相位累加器(一个累加器、相位寄存器和加法器构成)、LUT(正弦查找表)、DAC(数/模转换器)和LPF(低通滤波器)组成。该DDS系统的核心是相位累加器。 " i/ Y2 q. ~9 P0 d3 O9 q
假设频率控制字是M,相位累加器的长度为N。工作原理:每来一个时钟fc,N位的相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,然后输入到正弦查询表地址上。正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中0°~360°范围的一个相位点。正弦查询表把输入的地址相位信息映射成正弦波幅度信号,驱动DAC,输出模拟量。相位寄存器每经过2N/M个fc时钟后回到初始状态,相应地正弦查询表经过一个循环回到起始位置。整个DDS系统输出一个正弦波。 ; _1 D. n- |6 U. Z( Y
输出频率:fo=fcM/2N; 8 Y) x& M2 b# O
最小分辨率:△fmin=fc/2N。
) F3 q# {2 ]% U 由上面的公式可知,输出频率由频率控制字M、相位累加器的长度N、时钟fc决定。
0 N8 \+ y7 x) R* z: S6 q! S; d 由于DDS的输出最大频率受奈奎斯特抽样定理的限制,所以fmax=fc/2。
: u. H5 W; p& x1 |! X, \) W 2 次声波合成基本原理
7 U+ m9 b- M7 L3 Q( K 次声波的合成主要需要产生两个同相、频率差小于20 Hz的高频正弦波。 # |0 `: u( W+ O' n9 i1 I
本文中,次声波合成的基本框图可由两个DDS基本框图构成。生成的高频信号f0,f1通过外部换能器转换成频率差小于20 Hz的超声波,经过干涉合成次声波。如图2所示。
( @% i9 q* k a 3 用FPGA实现次声波的合成 - a, S% j. W$ g+ ~
3.1 FPGA的内部结构
! w* `5 v3 @1 n# M 利用FPGA设计次声波的合成电路,可以把波形信息存储在ROM中,通过修改ROM中的波形数据来实现灵活的频率和相位要求。 & w; s9 E; s8 r0 A: s: I5 U
本文中,利用LPM(参数化模块库),通过设置LPM模块的参数,来满足设计要求。图3是调用LPM模块设计的生成双路高频信号的核心电路。此电路由4个加法器(LPM-ADD-SUB),2个寄存器(LPM-DFF)及2个ROM(LPM-ROM)组成。F1[N..0],F2[N..0]为双路高频信号的频率输入控制字,CLK为同步时钟,T1[M..0],T2[M..0]为输出,可以接到D/A转换器上。由于本设计不需要相位调制,所以没有使用相位输入控制字。
/ t7 s, C7 e; C0 a# k5 n 3.2 外围电路控制
1 G& Y2 }3 b8 ~1 d" q 图4为FPGA的外部控制电路 利用键盘输入双路高频信号的频率、相位控制字,经过单片机输入到FPGA,FPGA生成的2路高频信号经过DAC转换成模拟信号,通过LPF使波形更平滑,再通过外接换能器形成超声波,经过干涉最终合成次声波。
, t1 u4 t% `8 t$ J; J, W 4 仿真实验 5 j' Y7 }" v+ _1 _2 c
4.1 Max+PlusⅡ仿真 6 o% P+ p: q% g5 E# d
本设计中,时钟频率为1 MHz,相位累加器的长度N=16,LPM-ROM地址宽度为11位,数据宽度为ll位。 9 T$ Y8 F$ d Q2 G
(1) 正弦查找表的生成 , S$ i3 m/ t o- _9 v& U. }
正弦查找表采用Altera的LPM-ROM模块,完成信号相位/幅值的转换功能。为了保证波形的平滑,设计时将一个周期分为2 048个点。并且利用C语言描述正弦方程,源程序如下:
5 t3 X: V3 Q( f 5 A% w; S9 Q4 Q, x) C1 J
把上述C程序编译成程序后,再在Max+PlusⅡ编译加上头部说明的文件,生成.mif文件,程序如下:
# r3 n' @1 P. h. _3 t( a0 O![]() (2) 仿真图% i! u+ D) u8 S$ M/ ?% R
仿真波形如图5所示。 4.2 Matlab仿真( c6 d; ~ D6 m
图6是用Matlab调用ROM中的数据所生成的两路具有频差的正弦波形。图7是次声波波形。 结 语
) x. f& ~- R ]) C" W6 n; q# [ 本设计利用FPGA实现了满足技术要求的DDS专用电路,生成具有自主知识产权的DDS发生器,可满足国内应用集成DDS的诸多领域,并通过DDS产生2路高频信号,在外部干涉,合成了次声波。
) e! E( E0 x. s1 t: A/ Z9 R, c |