EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
次声波是频率在10-6~20 Hz之间的机械纵波。利用2个频率不同的超声波(频率通常在2×104~5×108Hz范围之间)在空间干涉组合可以形成次声波。$ |# [1 a: @4 L
目前,大多使用直接数字频率合成(DDS)方法产生高频波形。本文利用DDS原理,通过FPGA产生2个不同频率的高频信号,再经过换能器转换成2路超声波,在外部干涉合成次声波。
, U8 _$ L* u- y5 h( v& d7 c 1 DDS的基本原理和结构框图 7 z( v w0 r0 g4 a/ k* u' S' J
DDS(Direct Digital Synthesis)是从相位概念出发,将数字信号转换成模拟信号来获得所需波形的一种频率合成技术。日前,使用最广泛的是基于查找表(Look-Up-Table)结构的方法。图1是DDS的基本原理图。 ' p! }1 g7 n* _! _4 L8 m! J% Z
| * ]6 l/ {* @! M% s
DDS是由相位累加器(一个累加器、相位寄存器和加法器构成)、LUT(正弦查找表)、DAC(数/模转换器)和LPF(低通滤波器)组成。该DDS系统的核心是相位累加器。
& G8 ^3 G) K# w( S 假设频率控制字是M,相位累加器的长度为N。工作原理:每来一个时钟fc,N位的相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,然后输入到正弦查询表地址上。正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中0°~360°范围的一个相位点。正弦查询表把输入的地址相位信息映射成正弦波幅度信号,驱动DAC,输出模拟量。相位寄存器每经过2N/M个fc时钟后回到初始状态,相应地正弦查询表经过一个循环回到起始位置。整个DDS系统输出一个正弦波。 / g0 N( U# X, R; `0 \, z; H
输出频率:fo=fcM/2N;
8 _1 o' m- c+ |$ M: @0 W 最小分辨率:△fmin=fc/2N。 . y' p6 u* v+ Q$ e) k. l
由上面的公式可知,输出频率由频率控制字M、相位累加器的长度N、时钟fc决定。
; r4 D D; Y& t- @4 @ 由于DDS的输出最大频率受奈奎斯特抽样定理的限制,所以fmax=fc/2。
' a. J% a- i* a0 e; b) @' L+ P 2 次声波合成基本原理
/ S/ ~1 n) Y& j; C3 u 次声波的合成主要需要产生两个同相、频率差小于20 Hz的高频正弦波。
3 z6 C- D7 Q) }% z% V3 x 本文中,次声波合成的基本框图可由两个DDS基本框图构成。生成的高频信号f0,f1通过外部换能器转换成频率差小于20 Hz的超声波,经过干涉合成次声波。如图2所示。 ( ?/ @; {1 I) O. z$ p- v
3 用FPGA实现次声波的合成
/ H6 C0 l. Z/ R# z 3.1 FPGA的内部结构
! z4 Z u4 p. ^ 利用FPGA设计次声波的合成电路,可以把波形信息存储在ROM中,通过修改ROM中的波形数据来实现灵活的频率和相位要求。 1 C! R1 F: B# G
本文中,利用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转换器上。由于本设计不需要相位调制,所以没有使用相位输入控制字。
. n3 K! O# v7 `) \ s 3.2 外围电路控制
5 p! G2 [& k& @" a! a& z 图4为FPGA的外部控制电路 5 f% j: g" K1 F, V& u) g: D% V
|
利用键盘输入双路高频信号的频率、相位控制字,经过单片机输入到FPGA,FPGA生成的2路高频信号经过DAC转换成模拟信号,通过LPF使波形更平滑,再通过外接换能器形成超声波,经过干涉最终合成次声波。 ! k/ V# t- t0 s4 W
4 仿真实验
4 b7 p8 a2 p$ p( c8 Q# c0 f 4.1 Max+PlusⅡ仿真
) S" t8 A( g. X 本设计中,时钟频率为1 MHz,相位累加器的长度N=16,LPM-ROM地址宽度为11位,数据宽度为ll位。
5 \7 j5 |% n' s (1) 正弦查找表的生成 8 n4 _$ A. R5 a ^ G
正弦查找表采用Altera的LPM-ROM模块,完成信号相位/幅值的转换功能。为了保证波形的平滑,设计时将一个周期分为2 048个点。并且利用C语言描述正弦方程,源程序如下:
! {' D; _2 H1 V I6 F# g% v
( U; y7 v- P8 ^8 I& w" _ 把上述C程序编译成程序后,再在Max+PlusⅡ编译加上头部说明的文件,生成.mif文件,程序如下:
8 i, n7 i' i# K% u% M3 e, p![]() (2) 仿真图( t/ r* v P w5 v2 k
仿真波形如图5所示。 4.2 Matlab仿真, g* F( T. H8 n6 ]5 _' X
图6是用Matlab调用ROM中的数据所生成的两路具有频差的正弦波形。图7是次声波波形。 结 语) ]( s6 T5 d, r( K I* o
本设计利用FPGA实现了满足技术要求的DDS专用电路,生成具有自主知识产权的DDS发生器,可满足国内应用集成DDS的诸多领域,并通过DDS产生2路高频信号,在外部干涉,合成了次声波。 ' d- F, j# F- f5 `1 j) @9 x
|