EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% b! B4 O# V& G$ I: z
音频信号分析仪 + p t) y% p# ?( C2 L0 {, V: M
摘要:本系统基于Altera Cyclone II 系列 FPGA嵌入高性能的 嵌入式IP核( Nios)处理器软核, 代替传统 DSP芯片或高性能 单片机,实现了基于 FFT的音频信号分析。并在频域对信号的 总功率,各频率分量功率,信号周期性以及失真度进行了计算。并在FPGA中嵌入了8阶IIR 切比雪夫(Chebyshev)II型数字低通滤波器,代替传统有源模拟滤波器实现了性能优异的 音频滤波。配合12位A/D转换芯片AD1674,和前端自动增益放大电路,使在50mV到5V的 测量范围下,单一频率功率及总功率测量误差均控制在1%以内。
9 s( l2 s6 x9 R5 Q. f7 ^4 t* J
一、 方案选择与论证 1、整体方案选择 音频分析仪可分为模拟式与数字式两大类。 方案一:以模拟滤波器为基础的模拟式频谱分析仪。有并行滤波法、扫描滤波法、小外差法等。因为受到模拟滤波器滤性能的限制,此种方法对我们来说实现起来非常困难。 方案二:以FFT为基础的的数字式频谱分析仪。通过信号的频谱图可以很方便的得到输入信号的各种信息,如功率谱、频率分量以及周期性等。外围电路少,实现方便,精度高。 所以我们选用方案二作为本音频分析仪的实现方式。 2、FFT计算方式选择 方案一:使用VHDL 硬件实现。FFT的VHDL程序编写难度大,短时内不易实现。 方案二:在FPGA中嵌入Nios II处理器,通过软件实现。Nios II 支持C语言编程方式,普通的C语言版的FFT稍加改正即可应用到本方案中。 四天之内我们不可能实现一个用硬件实现的FFT算法,因此我们选用方案二。 3、采样电路与A/D芯片选择 本设计中要求分析的信号峰峰值范围为100mVp-p~5Vp-p,用8位A/D进行采样,不能满足题目的精度要求,采用12位的A/D芯片AD1674,其分辨率可达到1.2mV(相对于5Vp-p信号),满足了题目要求的5%误差范围。同时其100K的采样频率也满足本设计中的频率要求。 4、信号调理方案 AD1674信号输入满偏电压在双极性时为±5V,即峰峰值10V。 方案一:将输入信号放大2倍,以达到AD1674的满偏输入,以提高A/D的精度。但若输入信号都比较小时,采样精度就会下降。 方案二:将前端信号放大调理电路分为几个档,针对不同幅度的信号选择合适的通道进行放大,放大倍数以当前信号中的最大峰值为选择基准。这样在输入信号比较小时可以选择比较大的放大倍数,以提高A/D采样的精度。 明显方案2优于方案1。 5、采样及滤波方案选择 方案一:按照奈奎斯特定律采样,以传统模拟方式滤波。传统模拟方式或有源滤波芯片难以实现很好的频带外衰减。从而使运算结果误差增大。 方案二:在A/D前进行简单的抗混叠滤波,以比较高的速率采样,然后在FPGA中用数字滤波器进行精确滤波。滤波后进行二次采样以减少运算量。切比雪夫(Chebyshev) II型低通IIR滤波器有平坦的通带,等波纹的抑制频带、适中的过度频带,非常适合于音频滤波。可以使分析达到很好的精度。 方案二外围电路要求少,实现方便,我们采用方案二。 6、信号功率的计算。 方案一:通过测真有效值的方式实现,应用普通的真有效值检测芯片可以方便的测出信号在一定时间段内的总功率。但对单个频点处的功率测量无能为力。 方案二:在用FFT得到信号的频谱后根据帕斯瓦尔定律可以很方便的得到信号各频率分量的功率及信号的总功率。 因为本设计中我们可以通过FFT得到信号的频谱,因此方案二最适合本设计。 总体方案确定: 经过以上论证我们确定总体设计方案框图如下: 8 [/ p9 d) |( m3 W. i
图1-1、系统整体方案框图 二、 系统具体设计与实现 1、前端可控增益放大电路及增益控制电路 针对音频信号的特点以及题目中对精度的要求,我们选用了特别适合音频信号处理的经典运放NE5532。峰值保持部分使用普通运放TL084。 信号进入后首先经过一与 50欧姆精密电阻并联的跟随器,以满足题目中的50欧姆输入阻抗的要求,同时增强带后级带负载的能力。然后经过隔直电容进入后级放大电路。 放大电路同时设置了×1,×2,×20,×200,4个放大通道,分别对10Vp-p、5Vp-p、500mVp-p、50mVp-p信号进行不同放大,这样将可测量信号的动态范围扩展到了10mV;电路图见图2-1。同时通过峰值保持电路记录一个FFT运算周期内的信号峰值,通过与设定的参考电压进行比较以确定信号的峰峰值范围,以作为下一次采样时放大通道的选择参考;控制器通过模拟开关来选择不同的放大通道。 峰值保持电路部分采用精密二极管与充电电容进行信号峰值保持。为减小电容漏电流对峰值保持的影响,选择了47uF的电容。每次采样前对读入峰峰值范围并对电容放电以记录下一次的峰峰值。 1 R1 D8 a0 V0 y; V
1 n. g( ~+ n' Q5 C& x
|