当前位置:
文档之家› 基于麦克风阵列声源定位系统的FPGA实现
基于麦克风阵列声源定位系统的FPGA实现
的互功率谱平滑, 得到
72
www d ian zik e ji o rg
任勇, 等: 基于麦克风阵列声源定位系 统的 FPGA 实现
电子 电路
图 1 系统原理流程图
am12 =
C112, m = 1
am 12
1
+
C 112,
m> 1
( 3)
其中, m 表示累加平滑的帧数。
接下来 am12对求傅里叶反变换, 即可以得到麦克 1
求得 x1 ( n )和 x 2 ( n)的互功率谱为
P12 ( k ) = X 1w ( k ) X*2w ( k )
( 1)
为了减弱噪声和 混响的影响, 可以进 行频域加
权。加权后功率谱为
C12 ( k ) = 12 ( k ) P12 ( k )
( 2)
为进一步突出峰值, 在频域加权后, 可对麦克信号间
基于到达 时间 差声 源定 位算 法包 括 2 个 步骤: 1) 先进行时延估计, 从中获得传声 器阵列中相应 阵 元对之间的声音到达时延。常用的方法有最小均方自 适应滤波法、互功率谱相位法和广义互相关函数法。
收稿日期: 2010 12 16 作者 简 介: 任 勇 ( 1986 - ), 男, 硕 士 研 究 生。 研 究 方 向: FPGA设计 与应 用。胡 方明 ( 1964- ), 男, 教授。研 究 方 向: 物联 网。李 自 学 ( 1985 - ), 男, 硕 士 研 究 生。 研 究 方 向: FPGA设计与应用。
1 /N 就可以用来计算反 FFT。为防止运算过程中发生
溢出, 可将 1 /N 分配 到 每 一级 蝶 形运 算 中。 由 于 1 /N = ( 1 / 2)M , 所以每级的每个蝶形输出支路均有一 相乘因子 1 /2, 即右移一位即可。
2 8 峰值检测模块
对 FFT 结果求模即是求 R2 + I2的值, 然后求出
n+ 1 = n + 2dn tan- 1 2- n
( 14)
式 ( 10) 是迭代的初始条件, 式 ( 11) 是根据本次
和 2 间的广义互相关函数为
R12 ( ) = FFT - 1 ( am12 )
( 4)
其峰值就是麦克 1和 2之间的时延。得到多对麦克间
的时延后, 由角度距离定位法, 就可得到声源位置。
2 各模块设计实现
2 1 F IR 带通滤波模块 为了消除噪声和回声干扰的影响, 首先需要进行
滤波。语音信号的带宽是 0 3~ 3 4 kH z, 因而需要设 计一个带通滤波器滤除语音信号带宽之外的噪声。为 了使处理过的信号相位不发生变化即保持线性相位, 需要采用 F IR 滤波器。
本帧互功率谱乘 以存放在 ROM 中的 加权函数,
使互相关函数峰值更加突出。调用内部乘法器模块即
可完成。
2 6 功率谱平滑模块
对加权模块结果, 进行连续数帧的累加以平滑互
功率谱, 使峰值便于检测。调用内部加法器模块即可
完成。
2 7 反 FFT 模块
对平滑结果进行反 FFT 运算, 求得互相关函数。
根据 FFT 原理, 反 FFT 运算可借助于 FFT 模块计算。 即将 FFT 运算中旋转因子取倒数, 最后的输出乘 以
1 系统的基本原理及流程图
算法的结构流程如图 1所示, 首先由麦克 1和 2
获得说话人的语音信号, 再经过 A /D 采样和低通滤
波器, 最后得到待处理输入语音信号, 可以分别记为
x1 ( n )和 x2 ( n )。 经过 F IR 带 通 滤 波 器 后, 用 半 重 叠 汉明 窗 对
x1 ( n )和 x2 ( n )加窗可得 X 1w ( n)和 X 2w ( n ), 然后即可
即采用两个分别能存储一帧数据的双口 RAM, 第一 个 RAM 在存储新数据时, 第二个 RAM 进行 FFT 运
算, 并存储其结果。然后, 第一个 RAM 进行 FFT 运
算, 并存储其结果, 第二个 RAM 存储新的数据, 这
样就保证了信号处理的连续性。
转化为 CSD 编码以提高其运行效率, 最后由 V erilog 代码实现。
d a
( 9)
其中, a 是麦克之间的间距; d 是声源到麦克对的距 离差。
由上可知, 需要计算反余弦函数值确定出相应的
角度值。反余弦函数是超越函数, 可以用泰勒级数近
似计 算 这 个 函 数, 但 较 为 麻 烦 且 精 度 不 高, 而 CORD IC算法是由移位和加减运算组成, 所以比较适 合 FPGA 的实现, 速度较快且具有较高的迭代精度。 本系统使用高速 9级流水线结构实现 CORD IC 算法。 迭代关系如下
x0 = 1, y0 = 0, t0 = t, 0 = 0
( 10)
dn = sign( yn ), if xn tn; else- sign( yn )
xn+ 1
1
yn + 1 = dn 2- n
- dn 2- n 2 xn
1
yn
( 11) ( 12)
tn + 1 = tn + tn 2- 2n
( 13)
2 2 半重叠汉明窗模块
为了保证语音信号平稳性, 一帧信号的时间窗长
度选为 10~ 30 m s。而采样器频率为 10 kH z, 为了便 于 FFT 处理选择 25 6 m s即帧长为 256点。为了保证 统计特征的连续性和得到更好的语音处理效果, 各帧 之间进行 50% 的重叠, 即每次处理只更新 12 8 m s的 数据。这样, 一帧内的信号可以近似认为是平稳的。
其模值的峰值, 即相应的语音信号时延值。
2 9 定位算法模块 根据角度距 离定位法, 声 源相对原 点的水平 角
为 az im uth
= azimu th cos- 1
d 2a
( 8)
其中, a 是麦克之间的间距; d 是声源到麦克对的距
离差。
声源相对原点的仰角 为 elevation
elevation = cos- 1
任勇 , 等: 基于麦克风 阵列声源定位系统的 FPGA 实现
第二个结果, 产生下一级运算地址。 2 4 本帧互功率谱模块
第一路信号 FFT 结果与第二路信号 FFT 结果的
共轭相乘得到本帧互功率谱。
若第一路是 r1 + i1, 第二路是 r2 + i2, 其共轭 为 r2 - i2, 相乘时可用式 ( 6), 式 ( 7)所示的计算方法, 这样可以减少一次乘法运算, 节省内部资源
电子 电路
2011年第 24卷第 4期 E lectron ic Sc i& T ech /A pr 15, 2010
基于麦克风阵列声源定位系统的 FPGA实现
任 勇, 胡方明, 李自学
(西安电子科技大学 电子工 程学院, 陕西 西安 710071) 摘 要 论述了基于麦克风 阵列的声源定位技术的基本原理, 给出了利 用 FPGA 实现 系统各模 块的设计方 法。重 点介绍了其原理和模块 的电路实现, 给出的基于 FPGA 设计实验 结果表明, 系 统最大限度 发挥了 FPGA 的优势、简 化 了系统设计、缩短了设计周期、符合设计 要求。 关键词 声源定位 ; 时延估 计; FFT; CORD IC 中图分类号 TN 912 文献 标识码 A 文章编号 1007- 7820( 2011) 04- 072- 03
R = ( r2 + i2 ) i1 + r2 ( r1 - i1 )
( 6)
I = ( r2 - i2 ) r1 - r2 ( r1 - i1 )
( 7)
其中, R 和 I 是本帧互功率谱的实部和虚部; r1 和 r2
是 FFT 结果的实部; i1 和 i2 是 FFT 结果的虚部。
2 5 频域加权模块
图 3 乒乓 FFT 原理流程图
乒乓存储时由倒序地址模块产生倒序存储地址, 使 RAM 中存储数据为倒序, 为 FFT 运算做准备。为 了加快运 算速度, 蝶形运算 旋转因 子, 先由 M at lab 软件生成, 量化为 12 位带符号数, 然后存储在内部
ROM 里面。
整个 FFT 运算单元由状态机设计完成, 共由 5个
与矩形窗, 汉明窗比矩形窗的平滑效果更好, 故选择
汉明窗, 其表达式如式 ( 5)所示
w [ n] = 0 54- 0
46 cos
2
N
n -
1
,
n = 0,
1,, N- 1源自( 5)其中, N 是帧长。
2 3 FFT 运算模块 由于语音信号是连续的实时采样, 为了能使传来
的语音信号连续不断的处理, 这里采用了乒乓结构,
声源定位, 即确定一个或多个声源在空间中的位 置, 是一个有广泛应用背景的研究课题。基于麦克风 阵列的声源定位技术在视频会议、声音检测及语音增 强等领域有重要的应用价值。
声源定位算法目前主要有 3类: 第一类算法是基 于波束形成的方法。这种算法能够用于多个声源的定 位, 但是它存在着需要声源和背景噪声先验知识以及 对初始值比较敏感等缺点; 第二类算法是基于高分辨 率谱估计的方法。这种算法理论上能够对声源方向进 行有效估计, 但是计算量较大, 且不适于处理人声等 宽带信号; 第三类算法是基于到达时间差的方法。由 于这种方法原理简单, 计算量较小, 且易于实现, 在 声源定位系统中得到了广泛应用。根据以上介绍, 本 文决定选择第三类即基于到达时间差的定位方法。
R ealization of the Sound Source Localization System U sing FPGA Based on the M icrophone A rray
Ren Yong, H u Fangm ing, L i Z ixue ( S chool of E lectron ic Eng ineering, X id ian U n ivers ity, X i an 710071, Ch ina) Abstract T he b as ic princip le of the sound source localization algorithm based on the m icrophone array is d is cussed. T he design m eth ods for system modu les us ing FPGA are presen ted. Em phas is is pu t on the p rincip le and re alization o f the circu its. Expermi ent resu lts b ased on FPGA design show s that th e system mak es fu ll use of the advan tages of FPGA, smi p lifies the system des ign, shorten s the design period and m eets the requ irem ents for d es ign. K eywords sound sou rce localizat ion; tmi e delay estmi ation; FFT; CORD IC