当前位置:文档之家› 项目(9)-音频信号分析仪(快速傅里叶变换)

项目(9)-音频信号分析仪(快速傅里叶变换)

项目(9)-音频信号分析仪(快速傅里叶变换)
项目(9)-音频信号分析仪(快速傅里叶变换)

音频信号分析仪

一、项目简介

信号频谱分析是信号与系统和数字信号处理里面的重要内容。它在医学、通信、语音、图像等众多领域上有着重大作用和意义。音频信号是我们日常生活接触最多的信号之一,许多的音频处理都需要建立在音频频谱分析的基础上。该项目由增强型STC12LE5A60S2单片机为主控制器,通过单片机内部AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅里叶变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,最后通过12864液晶对信号的频谱进行显示。

二、项目要求

1、输入信号频率范围20Hz-10KHz。

2、FFT的分辨能力尽量高(即FFT点数尽量大)。

3、能得出信号最大频率分量的频率。

4、用单片机产生多个自测信号供测试用。

5、扩展要求1:用Rife算法进行频率校正。

6、扩展要求2:在液晶上显示信号的动态频谱图。

7、扩展要求3:输入信号频率范围20Hz-20KHz。

三、项目方案

AD转换:开发板选用的处理器是STC12LE5A60S2,其内部自带10位8通道AD转换器,因此不需要自行设计AD转换电路,直接使用内部AD对输入信号采样即可。

FFT点数:单片机内部程序存储空间(flash)为60K字节,而数据存储空间(SRAM)仅有1280字节。由于FFT浮点运算对单片机的RAM和速度的要求都比较高,而且按FFT运算的特点,FFT点数越大,分辨率越高,消耗的RAM空间也越大。假设FFT点数为N,那么可以计算出FFT运算实部XR[N]和虚部XR[N]所消耗的空间为2*4*N字节,即8N。而基2FFT蝶形运算时N必须是2的指数次。由此可知,N最大只能取128。这时实部和虚部共占用1024字节。但是,整个程序除了FFT运算,还有很多地方要消耗不少的RAM空间,比如液晶显示部分,各种函数或变量等等。因此如果取N=128的话,单片机的RAM空间就会变得很紧张,这对项目开发非常不利。为了保险起见,先取FFT的点数N=64。

采样率与分辨率:根据奈奎斯特定理,采样率>=两倍信号最高频率。基本要求中信号频率范围是20Hz-10KHz,而扩展要求的信号频率范围是20Hz-20KHz。为了达到扩展要求,应该将采样率设置成40KHz或以上。分辨率=采样率fs/点数N,点数N已确定是64,那么采样率越小,分辨率的值越小,也就是能分辨的最小频率间隔刻度越小,这就越精确。因此该项目选择40KHz采样率。这样在保证满足奈奎斯特定理的条件下能达到最高分辨率。采样时刻基准由定时器溢出中断提供。

自测信号:可用单片机内部PWM产生方波信号,也可用定时器来产生方波信号。满足信号频率范围20Hz-20KHz即可。

信号经采样和FFT变换后,得出信号的频谱或功率谱,直接输出到液晶上显示,即可得到信号的频谱图。可用Rife算法对FFT求得的最大频率值进行校正,最后输出显示。

四、相关原理知识

4.1、FFT原理简介

FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。设x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m), 即N点DFT变换大约就需要N^2次运算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)^2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就变成N+2(N/2)^2=N+N^2/2。继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N 点的DFT变换就只需要Nlog(2)(N)次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT 的优越性。

4.2、离散傅里叶变换DFT

为确定输入信号采样的频谱,我们需要对这些输入采样进行离散傅立叶变换(DFT)。DFT的定义如下:

其中N是采样的数量,X(k)是频谱,x(n)是一组输入采样。利用欧拉等式展开求和符,并分离输入采样和频谱的实部和虚部,得到以下等式:

式2和3中,求和符中第二项的消失是由于输入采样全部为实数。假定我们有N个采样,直接计算式2和3需要2N2次乘法和2N(N - 1)次加法。这样,我们的256点输入采样DFT将需要进行131,072次乘法和130,560次加法运算。

4.3、radix-2 FFT算法

有多种FFT算法可供使用。该项采用普通的radix-2算法,继续将DFT分解为两个更小的DFT。为此,N必须是2的指数。这种radix-2 FFT算法的步骤可归纳如图2所示的蝶型运算。观察这些蝶型运算我们可以发现,radix-2算法仅需(N / 2)log2(N)次乘法和Nlog2(N)次加法。图2中用到的参数WN就是通常所谓的“旋转因子”,可以在执行算法前预先计算出来。

图2. 利用蝶型运算实现N = 8的FFT。

在图2中,FFT的输入显示为一种特殊的排列顺序,这种序列是对原始序列索引号的二进制位反转后得到的。因此,当我们对N = 8个采样执行radix-2 FFT 算法时,需要将输入数据的原始序列:

0 (000b), 1 (001b), 2 (010b), 3 (011b), 4 (100b), 5(101b), 6(110b), 7(111b)

重新排列为:

0 (000b), 4, (100b), 2 (010b), 6 (110b), 1 (001b), 5 (101), 3 (011), 7 (111)

FFT输出则以正确的顺序排列。图2还说明,每个单独的蝶型运算所得的结果,是下一级FFT运算所需的唯一数据。由于运算过程可“即位”进行,新值可替代旧值,这样,计算N个采样的FFT只需要2N个变量(因为每个数据都包括实部和虚部两部分)。

FFT完成后,结果为复数形式。式4和5将结果转换为极坐标方式后表示为:

有关DSP的文献中可以找到很多优化方法,可使上述DFT/FFT算法更小或更快。其中最重要的一种优化方法(可能也是最容易实现的)源于这样一个事实,那就是作为一个实数信号,其DFT幅度是相关于X(N / 2)对称的,因此:

4.4、Rife算法频率校正

若是{g(n)}经FFT变换后功率谱的最大值,Rife算法给出的频率估计公式为

式中:,当时,,否则为-1;fs为采样频率;k0为

功率谱最大值对应的量化频率,k0为整数。修正因子0<=<=1/2。根据功率谱的对称性特点,被估计频率f0介于k0fs/N与(k0+1/2α)fs/N之间。

f0在最大频率谱线与次大频率谱线之间,利用rife算法可把正弦频率校正成较准确。也可利用插值算法进行频率校正,但由于该算法太过繁复,运算量较大,因此不采用。

4.6、频谱泄露与加窗处理

对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄露”出去的,这种现象称为频谱“泄露”。

在实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数h(n)。根据频域卷积定理,时域中x(n)和h(n)相乘对应于频域中它们的离散傅立叶变换X(jw)和H(jw)的卷积。

因此,x(n)截矩后的频谱不同于它以前的频谱。

为了减小频谱“泄露”的影响,往往在FFT处理中采用加权技术,典型的加权序列有Hanning、Hann、Blackman、Gaussian等窗序列。此外,增加窗序列的长度也可以减少频谱“泄露”。

Hamming和Hann窗函数分别如式7和8所示。

五、硬件设计

5.1、液晶接口

5.2、单片机功能图

六、软件设计

6.1、PWM初始化

PWM初始化用于产生测试方波信号。当前频率为FOSC/12/256=7.8125KHz。如果想频率可调,建议用定时器0的溢出率作为时钟源

void PWM_Init(void)

{

CCON = 0; //初始化PCA控制寄存器,PCA定时器关闭,清CF标志,清中断标志

CL = 0; //复位PCA base timer

CH = 0;

CMOD = 0x00; //PCA时钟源:FOSC/12,关闭PCA定时器溢出中断

CCAP0L = 0x80; //设置PWM0输出50%占空比的方波

CCAP0H = 0x80;

CCAPM0 = 0x42; //8位PWM模式,无PCA中断

CR = 1; //使能PCA定时器

}

6.2、40KHz采样率AD转换

用定时器0设置AD采样率为40KHz,即定时时间为25us。当定时时间到时,进行一次AD转换。连续转换64次后停止采样,接着执行傅氏变换。在定时中断发生时,P0++这一语句能让P0口产生一组测试信号。

if(TimerFlag==1) //定时25us时间到

{

P0++;//测试用: 十分经典的一句,能让P0口产生多个方波

//P0.0->20K;P0.1->10K;P0.2->5K;P0.3->2.5K-;P0.4->1.25K;...

TimerFlag=0;

ADC_CONTR |=ADC_START;

_nop_();_nop_();_nop_();_nop_(); //询问ADC_FLAG前应先等待

while (!(ADC_CONTR & ADC_FLAG)); //等待转换结束

ADC_CONTR &= ~ADC_FLAG; //清标志

XR[adc_count]=ADC_RES/80; //读取AD高8位结果

if(++adc_count==64)

{

adc_count=0;//清零

adc_over=1;

TR0=0; //关闭定时器0

}

}

6.3、位倒置算法

按时间抽取(DIT)的FFT算法通常将原始数据倒位序存储,最后按正常顺序输出结果X(0),X(1),...,X(k),...。假设一开始,数据在数组float dataR[64]中,我们将下标i表示为(b5b4b3b2b1b0)b,倒位序存放就是将原来第i个位置的元素存放到第(b0b1b2b3b4b5b6)b的位置上去.由于C语言的位操作能力很强,可以分别提取出b5、b4、b3、b2、b1、b0,再重新组合成b0、b1、b2、b3、b4、b5,即是倒位序的位置。程序段如下(假设64点FFT):

/* i为原始存放位置,最后得invert_pos为倒位序存放位置*/

int b0=b1=b2=b3=b4=b5=0;

b0=i&0x01; b1=(i/2)&0x01; b2=(i/4)&0x01;

b3=(i/8)&0x01; b4=(i/16)&0x01; b5=(i/32)&0x01;

/*以上语句提取各比特的0、1值*/

invert_pos=x0*32+x1*16+x2*8+x3*4+x4*2+x5;

6.4、蝶形运算

我们首先看一下图1所示的蝶形图。

蝶形公式:

X(K) = X’(K) + X’(K+B)W PN ,

X(K+B) = X’(K) - X’(K+B) W PN

其中W PN= cos(2πP/N)- jsin(2πP/N)。

设X(K+B) = XR(K+B) + jXI(K+B),

X(K) = XR(K) + jXI(K) ,

有:

XR(K)+jXI(K)= XR’(K)+jXI’(K)+[ XR’(K+B) + jXI’(K+B)]*[ cos(2πP/N)-jsin (2πP/N)];

继续分解得到下列两式:

XR(K)= XR’(K)+ XR’(K+B) cos(2πP/N)+ XI’(K+B) sin (2πP/N) (1)

XI(K)= XI’(K)-XR’(K+B) sin(2πP/N)+XI’(K+B)cos (2πP/N) (2)

需要注意的是: XR(K)、XR’(K)的存储位置相同,所以经过(1)、(2)后,该位置上的值已经改变,而下面求X(K+B)要用到X’(K),因此在编程时要注意保存XR’(K)和XI’(K)到TR和TI两个临时变量中。

同理: XR(K+B)+jXI(K+B)= XR’(K)+jXI’(K)- [ XR’(K+B)+jXI’(K+B)]

*[ cos(2πP/N)-jsin(2πP/N)]继续分解得到下列两式:

XR(K+B)= XR’(K)-XR’(K+B) cos(2πP/N)- XI’(K+B) sin (2πP/N) (3)

XI(K+B)= XI’(K)+ XR’(K+B) sin(2πP/N)- XI’(K+B) cos (2πP/N) (4)

注意:

①在编程时, 式(3)、(4)中的XR’(K)和XI’(K)分别用TR和TI代替。

②经过式(3)后,XR(K+B)的值已变化,而式(4)中要用到该位置上的上一级值,所以在执行式(3)前要先将上一级的值XR’(K+B)保存。

③在编程时, XR(K)和XR’(K), XI(K)和XI’(K)使用同一个变量。

通过以上分析,我们只要将式(1)、(2)、(3)、(4)转换成C语言语句即可。要注意变量的中间保存,详见以下程序段。

/* 蝶形运算程序段,dataR[]存放实数部分,dataI[]存放虚部*/

/* cos、sin函数做成表格,直接查表加快运算速度*/

TR=dataR[k]; TI=dataI[k]; temp=dataR[k+b];/*保存变量,供后面语句使用*/ dataR[k]=dataR[k]+dataR[k+b]*cos_tab[p]+dataI[k+b]*sin_tab[p];

dataI[k]=dataI[k]-dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p];

dataR[k+b]=TR-dataR[k+b]*cos_tab[p]-dataI[k+b]*sin_tab[p];

dataI[k+b]=TI+temp*sin_tab[p]-dataI[k+b]*cos_tab[p];

6.5、DIT FFT 算法的基本思想分析

我们知道N点FFT运算可以分成LOGN2 级,每一级都有N/2个碟形。DIT FFT的基本思想是用3层循环完成全部运算(N点FFT)。

第一层循环:由于N=2m需要m级计算,第一层循环对运算的级数进行控制。

第二层循环:由于第L级有2L-1个蝶形因子(乘数),第二层循环根据乘数进行控制,保证对于每一个蝶形因子第三层循环要执行一次,这样,第三层循环在第二层循环控制下,每一级要进行2L-1次循环计算。

第三层循环:由于第L级共有N/2L个群,并且同一级内不同群的乘数分布相同,当第二层循环确定某一乘数后,第三层循环要将本级中每个群中具有这一乘数的蝶形计算一次,即第三层循环每执行完一次要进行N/2L个碟形计算。

可以得出结论:在每一级中,第三层循环完成N/2L个碟形计算;第二层循环使第三层循环进行2L-1次,因此,第二层循环完成时,共进行2L-1 *N/2L=N/2个碟形计算。实质是:第二、第三层循环完成了第L级的计算。

几个要注意的数据:

①在第L级中,每个碟形的两个输入端相距b=2L-1个点。

②同一乘数对应着相邻间隔为2L个点的N/2L个碟形。

③第L级的2L-1个碟形因子WPN 中的P,可表示为p = j*2m-L,其中j = 0,1,2,...,(2L-1-1)。

6.6、窗函数的LUT

const char hammingLUT[N] = {+10, +10, +10, ... ,+10, +10, +10};

const char hannLUT[N] = { +0, +0, +0, ... , +0, +0, +0};

...

...

for(i=0; i<256; i++)

{

#ifdef WINDOWING_HAMMING

MUL_1(x_n_re[i],hammingLUT[i],x_n_re[i]); // x(n)*=hamming(n);

#endif

#ifdef WINDOWING_HANN

MUL_1(x_n_re[i],hannLUT[i]),x_n_re[i]); // x(n)*=hann(n);

#endif

}

6.7、程序优化

对于以上FFT算法,仍然有许多优化的空间。尽管在本文中我们选择了radix-2算法,还有很多其他算法可以显著降低加法和乘法运算量,提升FFT的速度。例如,作为纯实数的输入采样,其虚部总为零,频谱中只有前半部分有实际意义。利用这一点,第一级和最后一级FFT的执行速度可进一步优化,但需要付出更多的程序空间。再比如,位倒置和蝶形运算的时候可以充分利用但表法来减少运算量,这对优化程序和提高FFT速度相当有利。该项目使用的是64点FFT,用float型浮点数保存FFT数据,每个float型数据为4字节,占用的空间非常大。可以考虑用16位定点整型数来保存FFT数据。这样就有望提高FFT的点数和分辨力了。

七、最终效果

5K方波频谱变换

项目程序 matlab程序

八、参考文献

[1] [美]Sanjit K.Mitra,数字信号处理——基于计算机的方法(第三版) 2007/08

[2] 张向荣,肖宛昂, 嵌入式系统中FFT算法研究.华东交通大学

[3] maxin公司资料, 利用低功耗微控制器开发FFT应用

[4] 网络资料,FFT原理

傅里叶变换在信号处理中的应用

傅里叶变换在信号处理中的应用 姓名董柱班级电气工程及其自动化学号1109141013 摘要: 傅里叶变换是一种特殊的积分变换。通过傅里叶变换把信号的从时域变换到频域研究,采用频域法较之经典时域的方法有很多突出的优点,虽然傅里叶分析不是信息科学与技术领域中唯一的变换域方法,但是不得不承认,在此领域中,傅里叶变换分析始终有着广泛的应用,通过傅里叶变换实现信号的滤波,调制,抽样是傅里叶变换在信号处理中最主要的作用。通过对信号的调制可以将信号的低频成分调制到高频,实现频谱搬移,减少马间串扰,提高抗噪声新能,有利于信号的远距离传输,另外,对信号采样可以使连续信号离散化,有利于用计算机对信号进行处理,总之,傅里叶变换在信号处理中有着非常重要的作用。傅里叶变换是学习其他频域变换的基础。 关键词: 傅里叶变换,时域,频域,信号处理,信息科学与技术,滤波,调制,抽样。 一傅里叶变换 1.定义 f(t)是t的函数,如果t满足狄里赫莱条件:具有有限个间断点;具有有限个极值点;绝对可积。则有下图①式成立。称为积分运算f(t)的傅立叶变换, ②式的积分运算叫做F(ω)的傅立叶逆变换。F(ω)叫做f(t)的像函数,f(t)叫做 F(ω)的像原函数。F(ω)是f(t)的像。f(t)是F(ω)原像。 ① 傅里叶变换 傅里叶逆变换 2.分类 连续傅立叶变换:一般情况下,若“傅立叶变换”一词的前面未加任何限定语,则指的是“连续傅立叶变换”。“连续傅立叶变换”将平方可积的函数f(t) 表示成复指数函数的积分或级数形式。 f(t) = \mathcal^[F(ω)] = \frac{\sqrt{2π}} \int\limits_{-\infty}^\infty F(ω)e^{iωt}\,dω.

基于单片机音频信号分析仪设计

2007年A题音频信号分析仪 本系统基于Altera Cyclone II 系列FPGA嵌入高性能的嵌入式IP核(Nios)处理器软核,代替传统DSP芯片或高性能单片机,实现了基于FFT的音频信号分析。 音频信号分析仪 山东大学王鹏陈长林秦亦安 摘要:本系统基于Altera Cyclone II 系列FPGA嵌入高性能的嵌入式IP核(Nios)处理器软核,代替传统DSP芯片或高性能单片机,实现了基于FFT的音频信号分析。并在频域对信号的总功率,各频率分量功率,信号周期性以及失真度进行了计算。并在FPGA中嵌入了8阶IIR切比雪夫(Chebyshev)II型数字低通滤波器,代替传统有源模拟滤波器实现了性能优异的音频滤波。配合12位A/D转换芯片AD1674,和前端自动增益放大电路,使在50mV到5V的测量范围下,单一频率功率及总功率测量误差均控制在1%以内。 关键词:FPGA;IP核;FFT;IIR;可控增益放大 Abstract: This system is based on IP core(Nios)soft-core processors embedded in the FPGA of Altera Cyclone II family. Instead of using DSP or microcontroller, we use Nios II to perform a low-cost FFT-based analysis of the audio signal.And we caculated the power of the whole signal,the power of each frequence point that componented the signal.By the way,we anlysised its periodicity and distortion.We also embedded an 8-order Chebyshev II IIR digital low-pass filter to replace the traditional analog Active Filter to perform an excellent audio filter. With 12bit A / D converter chip AD1674, and the front-end automatic gain amplifier, this system’s single-frequency power and total power measurement error is below 1% in 50mV to 5V measurement range. Keyword: FPGA;IP core; FFT;IIR; automatic gain amplifier 一、方案选择与论证 1、整体方案选择 音频分析仪可分为模拟式与数字式两大类。 方案一:以模拟滤波器为基础的模拟式频谱分析仪。有并行滤波法、扫描滤波法、小外差法等。因为受到模拟滤波器滤性能的限制,此种方法对我们来说实现起来非常困难。 方案二:以FFT为基础的的数字式频谱分析仪。通过信号的频谱图可以很方便的得到输入信号的各种信息,如功率谱、频率分量以及周期性等。外围电路少,实现方便,精度高。 所以我们选用方案二作为本音频分析仪的实现方式。

音频信号分析仪(A题一等奖)

题目名称:音频信号分析仪(A题) 华南理工大学电子与信息学院参赛队员:陈旭张洋林士明 摘要:本音频信号分析仪由32位MCU为主控制器,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅氏变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过高分辨率的LCD对信号的频谱进行显示。该系统能够精确测量的音频信号频率范围为20Hz-10KHz,其幅度范围为5mVpp-5Vpp,分辨力分为20Hz和100Hz两档。测量功率精确度高达1%,并且能够准确的测量周期信号的周期,是理想的音频信号分析仪的解决方案。 关键词:FFT MCU频谱功率 Abstract:The audio signal analyzer is based on a32-bit MCU controller,through the AD converter for audio signal sampling,the continuous signal discrete,and then through the FFT fast Fourier transform computing,in the time domain and frequency domain of the various audio frequency signal weight and power,and other indicators for analysis and processing,and then through the high-resolution LCD display signals in the spectrum.The system can accurately measure the audio signal frequency range of20Hz-10KHz,the range of5-5Vpp mVpp,resolution of20Hz and100Hz correspondent.Power measurement accuracy up to1%,and be able to accurately measuring the periodic signal cycle is the ideal audio signal analyzer solution. Keyword:FFT MCU Spectrum Power

Chirp信号的傅里叶变换的特征比较.

Chirp信号的傅里叶变换的特征比较 Chirp信号即线性调频信号是瞬时频率在某个范围内随时间变化的正弦波,因其良好的频带利用率,具有较强的抗干扰、抗多途效应和抗多普勒衰减以及良好的频带利用率等优点,因此在通信、声呐、雷达等领域具有广泛的应用。本文就瞬时频率范围(信号的调频宽度)和信号的持续时间(信号的周期)对傅里叶变换后的chirp函数的频谱函数的影响做出讨论,运用MATLAB仿真分析比较。 一.信号的调频宽度上下限对频谱函数的影响 1)高频宽度300情况下的频谱函数。信号的采样频率为43000,扫描时间为0.05,初始频率设为19700,结束频率位置为20000。 2)低频宽度300情况下的频谱函数。信号的采样频率为2000,信号的持续时间为0.05,初始频率设为40,结束频率设置为340。 由上面两幅图可以看出,当它们满足,幅度谱的大小基本都在 0.01和0.015之间,这是因为它们的调频上下限之差相同都是300,且时间周 期都为0.05。由公式可知,幅度与信号的调频宽度(表示傅里叶变换后的频带宽度)和时间周期有关。 二.信号的调频宽度对频谱函数的影响 1)高频宽度10000情况下的频谱函数。信号的采样频率为48000,扫描时间为0.05,初始频率设为10000,结束频率位置为20000。

2)低频宽度80情况下的频谱函数。信号的采样频率为1000,信号的持续时间为0.05,初始频率设为40,结束频率设置为120。 上面两图在频带宽度内的幅度谱差异很明显,这是因为只有当时,近似程度才更高。 三.信号的持续时间对频谱函数的影响 1)低频宽度80情况下的频谱函数。信号的采样频率为1000,chirp 脉冲为0.05,信号的持续时间为2,初始频率设为40,结束频率设置为120。 上图的信号周期是2,发射脉冲长度为0.05与之前其它参数相同的图4比较可知,频带宽度基本相同,在频带宽度内的幅度谱没有太大变化,只是频点上的曲线多了些波动。

音频信号分析仪毕业论文

音频信号分析仪 指导老师:邓晶 年纪专业:11信息工程 成员:丽梅(1128401039) 东飞(1128401014) 罗兰(1128401128) 日期:2014年6月

摘要:本音频信号分析仪基于快速傅里叶变换的原理,以32位CPU STM32构成的最小系统为控制核心,由电压跟随、程控放大、峰值检测、抗混叠滤波等模块组成。本音频信号分析仪由STM32控制,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT运算,对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过高分辨率的LCD对信号的频谱进行显示。该系统能够精确测量的音频信号频率围为50Hz-10KHz,其幅度围为5mVpp-5Vpp,分辨力为50Hz。 关键词:FFT 嵌入式系统前级信号处理功率谱 Abstract: This audio signal analyzer based on the principle of fast Fourier transform, the minimum system consisting of STM32 embedded system as control core, followed by the voltage, program-controlled amplifier, peak detection, such as anti aliasing filter modules. This audio signal analyzer controlled by an embedded system, through the AD conversion, the audio signal sampling, the continuous signal discretization, then through FFT arithmetic, each frequency component and the power index in the audio signal analysis and processing, and then through high resolution display LCD frequency spectrum of the signal and the characteristics of. The system can accurately measure the audio signal frequency range of 50 -10K HZ, its amplitude range is 5 mVpp- 5 V pp ,resolution of 50 Hz.

基于FFT的音频信号分析仪报告

音频信号分析仪设计实践报告 摘要 系统基于快速傅立叶变换(FFT)算法,以FPGA和NIOS软核为数据处理与控制核心,实现对频率范围在100Hz~10KHz,电压范围(峰-峰值)在1mV~2.5V的音频信号频率成分的分析。系统由音频信号采集、FFT处理、FIFO数据缓存、NIOS软核控制和LABVIEW 上位机显示等模块组成,硬件采用Cyclone III系列FPGA芯片EP3C25F324C8为核心,采用高性能的立体音频Codec芯片TLV320实现音频处理,对输出具有可编程增益调节,然后在Quartus环境下采用FFT IP核完成离散信号的FFT处理,采用DC_FIFO对FFT变换后的数据进行缓存处理,实现与高时钟NIOS核的通讯,在IDE环境下通过C语言编程实现FIFO 和软核CPU的控制,最终在LABVIEW显示音频信号主要频率成分的信息,实现对音频信号的分析和显示。 关键词:音频分析 FFT FPGA NIOS软核 FIFO

目录 音频信号分析仪设计实践报告 (1) 摘要 (1) 一、设计任务及要求 (3) 1)任务 (3) 2)要求 (3) 二、系统设计方案 (3) 2.1 设计方案的选择 (3) 2.2 总体设计思路 (4) 三、模块电路与程序设计 (5) 3.1 TLV320控制电路 (5) 3.2 FFT控制电路 (5) 3.3 FIFO控制电路 (7) 3.4 NIOS软核 (8) 3.5 LABVIEW显示 (8) 3.6 程序说明 (8) 四. 测试方案与测试结果 (9) 4.1 测试方案 (9) 4.2 测试结果 (9) 五.遇到问题及解决办法 (10) 六. 组员分工.................................................................................................. 错误!未定义书签。 七. 总结与感想.............................................................................................. 错误!未定义书签。八.参考文献 (12) 附录 ................................................................................................................ 错误!未定义书签。

常用函数傅里叶变换

信号与系统的基本思想:把复杂的信号用简单的信号表示,再进行研究。 怎么样来分解信号?任何信号可以用Delta 函数的移位加权和表示。只有系统是线性时不变系统,才可以用单位冲激函数处理,主要讨论各个单位冲激函数移位加权的响应的叠加能得到总的响应。 线性系统(齐次性,叠加定理) 时不变系统 对一个系统输入单位冲激函数,得到的响应为h(t).表征线性时不变系统的非常重要的东西,只要知道了系统对单位冲击函数的响应,就知道了它对任何信号的响应,因为任何信号都可以表示为单位冲激函数的移位加权和。 例如:d(t)__h(t) 那么a*d(t-t0)__a*h(t-t0) -()= ()(t-)d f t f τδττ∝∝? 的响应为-y()=()(-)t f h t d τττ∝ ∝ ? 记为y(t)=f(t)*h(t),称为f(t)和h(t)的卷积 总结为两点:对于现行时不变系统,任何信号可以用单位冲激信号的移位加权和表示,任何信号的响应可以用输入函数和单位冲激函数响应的卷积来表示 连续时间信号和系统的频域分析 时域分析的重点是把信号分解为单位冲激函数的移位加权和,只讨论系统对单位冲激函数的响应。而频域的分析是把信号分解为各种不同频率的正弦函数的加权和,只讨论系统对sinwt 的响应。都是把信号分解为大量单一信号的组合。

周期函数可以展开为傅里叶级数,将矩形脉冲展开成傅里叶级数,得到傅里叶级数的系数 n A sin F = T x x τ 其中0=2 nw x τ。 取样函数sin ()=x S a x 。产生一种震荡,0点的值最大,然后渐渐衰减直至0 第一:对于傅里叶级数的系数,n 是离散的,所以频谱也是离散状的每条谱线都出现在基波频率的整数倍上,其包络是取样函数。 第二:谱线的间距是0w .。零点是0=2nw x τ,02w =T π是谱的基波频率。如果τ不变,T 增大,那么0w 减小,当T 非常大的时候,0w 非常小,谱线近似连续,越来越密,幅度越来越小。 傅里叶变换:非周期函数 正变换:--F jw)= ()iwt f t e dt ∝ ∝?( 反变换:-1()=()2jnwt f t F jw e dw π ∝∝ ? 常用函数的傅里叶变换(典型非周期信号的频谱)

音频信号分析仪设计报告

音频信号分析仪设计报告 1.摘要: 设计一个可对音频信号进行分析,并在LCD上显示其频率分量及功率的电路,电路还可对输入的失真信号进行失真度测量。电路主要由扫描滤波网络,检波采集网络,以及失真度测量网络构成。扫描滤波部分主要由MAX264开关电容滤波器电路和基于DDS扫描控制信号产生电路组成,完成对各个频率分量的提取;检波部分主要由有效值转换电路完成对频率分量功率的测量;失真度测量部分可自动跟踪输入信号的基频,通过谐波检测的方法,实现对失真度的测量,并可借助单片机测量其频率。整个测量电路结构简单,可较好完成对音频信号的各项分析。 关键字:MAX264 AD9851 音频功率检测失真度 2.总体方案设计 2.1方案一 动态信号分析法,即对信号进行时域采集,然后进行fourier变换,转换成频域信号。特点是较快,有较高的分辩率和采样速率。但受采样定理限制,无法推广到高频,且对采集网络要求较高,一般的单片机无法完成信号的频域变换算法。 2.2方案二 并行滤波法,通过一组滤波器网络,且每个滤波器都有自己的检波器,其通频带应尽量窄,数目应应该有足够的密度概括整个测量频带。优点是可实时显示和分析各个信号的频率分布及大小,缺点是其频率分量的个数取决于滤波器数目,当测量带宽增大,所需滤波器数目巨大。 2.3方案三 外差法,采用超外差接收机的方式,利用混频器、中频放大器、中频滤波器、检波器等构成频谱分析电路。其优点是工作频率范围宽、选择性好、灵敏度高。但是由于本振是连续可调谐的,被分析的频谱是依次顺序取样,因此扫频外差式不能实时地检测和显示信号的频谱。 2.4方案四 扫描滤波法,其采用中心频率可调的滤波器。被测信号首先加至可调谐窄带滤波器,其中心频率自动反复在信号频率范围内扫描。扫描滤波式频谱分析电路的优点是结构简单,价格低廉。由于没有混频电路,省去了抑制假信号的问题。我们选择这种方案,用DDS控制滤波器中心频率从而实现对不同频率分量的的提取并且利用滤波网络还可以实现失真度测量。(系统框图如下)

基于FPGA的音频信号分析仪2

基于FPGA的音频信号分析仪 摘要:本系统基于Altera Cyclone II 系列FPGA嵌入高性能的嵌入式IP核(Nios)处理器软核,代替传统DSP芯片或高性能单片机,实现了基于FFT的音频信号分析。并在频域对信号的总功率,各频率分量功率,信号周期性以及失真度进行了计算。并在FPGA中嵌入了8阶IIR切比雪夫(Chebyshev)II型数字低通滤波器,代替传统有源模拟滤波器实现了性能优异的音频滤波。配合12位A/D转换芯片AD1674,和前端自动增益放大电路,使在50mV到5V的测量范围下,单一频率功率及总功率测量误差均控制在1%以内。 关键词:FPGA;IP核;FFT;IIR;可控增益放大 Abstract: This system is based on IP core(Nios)soft-core processors embedded in the FPGA of Altera Cyclone II family. Instead of using DSP or microcontroller, we use Nios II to perform a low-cost FFT-based analysis of the audio signal.And we caculated the power of the whole signal,the power of each frequence point that componented the signal.By the way,we anlysised its periodicity and distortion.We also embedded an 8-order Chebyshev II IIR digital low-pass filter to replace the traditional analog Active Filter to perform an excellent audio filter. With 12bit A / D converter chip AD1674, and the front-end automatic gain amplifier, this system’s single-frequency power and total power measurement error is below 1% in 50mV to 5V measurement range. Keyword: FPGA;IP core; FFT;IIR; a utomatic gain amplifier 一、方案选择与论证 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的采样频率也满足本设计中的频率要求。

音频频谱分析仪设计与实现

实验八 音频频谱分析仪设计与实现 一、实验原理 MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,其数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和指令。 本实验基于声卡与MATLAB 实现音频信号频谱分析仪。 1、频率(周期)检测 对周期信号来说,可以用时域波形分析来确定信号的周期,也就是计算相邻两个信号波峰的时间差或过零点的时间差。采用过零点(ti )的时间差T (周期)。频率即为f=1/T ,由于能够求得多个T 值,故采用他们的平均值作为周期的估计值。 2、峰值检测 在一个周期内,求出信号最大值max y 与最小值min y 的差得一半记为A ,同样得到多个A 值,但第一个A 值对应的max y 和min y 不是在一个周期内搜索得到的,故以除第一个以外的A 值的平均作为幅值的估计值。 3、相位检测 采用过零法,即通过判断与同频零相位信号过零点时刻,计算其时间差,然后换成相 应的相位差。)π(T /ti -12=?,同样以?的平均值作为相位的估计值。 4、数字信号统计量估计 (1)峰值P 的估计 在样本数据x 中找出最大值与最小值,其差为双峰值,双峰值的一半即为峰值。 (2)均值估计 ∑=N i=0 iyN 1)y (E ,N 为样本容量。 (3)均方值估计 ∑=Ni=0iy22N 1 )y (E (4)方差估计 ∑=Ni=0 iy2))(E -(N 1)y (D y 5、频谱分析原理 时域分析只能反映信号的幅值随时间的变化情况,除但频率分量的简单波形外,很难明确提示信号的频率组成和各频率分量大小,而频谱分析能很好的解决此问题。 (1)DFT 与FFT 对于给定的时域信号y ,可以通过Fourier 变换得到频域信息Y 。Y 可按下式计算 式中,N 为样本容量,Δt = 1/Fs 为采样间隔。 采样信号的频谱是一个连续的频谱,不可能计算出所有的点的值,故采用离散Fourier 变换(DFT),即

傅里叶变换_百度文库.

傅里叶变换,拉普拉斯变换和Z 变换的意义来源:于理扬的日志 傅里叶变换在物理学、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用(例如在信号处理中, 傅里叶变换的典型用途是将信号分解成幅值分量和频率分量。 傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数或者它们的积分的线性组合。在不同的研究领域, 傅里叶变换具有多种不同的变体形式, 如连续傅里叶变换和离散傅里叶变换。 傅里叶变换是一种解决问题的方法,一种工具,一种看待问题的角度。理解的关键是:一个连续的信号可以看作是一个个小信号的叠加, 从时域叠加与从频域叠加都可以组成原来的信号,将信号这么分解后有助于处理。 我们原来对一个信号其实是从时间的角度去理解的,不知不觉中,其实是按照时间把信号进行分割, 每一部分只是一个时间点对应一个信号值, 一个信号是一组这样的分量的叠加。傅里叶变换后, 其实还是个叠加问题, 只不过是从频率的角度去叠加, 只不过每个小信号是一个时间域上覆盖整个区间的信号, 但他确有固定的周期,或者说,给了一个周期,我们就能画出一个整个区间上的分信号,那么给定一组周期值(或频率值,我们就可以画出其对应的曲线,就像给出时域上每一点的信号值一样,不过如果信号是周期的话,频域的更简单,只需要几个甚至一个就可以了,时域则需要整个时间轴上每一点都映射出一个函数值。 傅里叶变换就是将一个信号的时域表示形式映射到一个频域表示形式;逆傅里叶变换恰好相反。这都是一个信号的不同表示形式。它的公式会用就可以,当然把证明看懂了更好。 对一个信号做傅里叶变换,可以得到其频域特性,包括幅度和相位两个方面。幅度是表示这个频率分量的大小, 那么相位呢, 它有什么物理意义?频域的相位与时域的相位有关系吗?信号前一段的相位(频域与后一段的相位的变化是否与信号的频率成正比关系。

音频信号分析仪毕业设计论文资料-论文

音频信号分析仪(A题) 摘要:本音频信号分析仪由32位MCU为主控制器,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅氏变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过高分辨率的LCD对信号的频谱进行显示。该系统能够精确测量的音频信号频率范围为20Hz-10KHz,其幅度范围为5mVpp-5Vpp,分辨力分为20Hz和100Hz两档。测量功率精确度高达1%,并且能够准确的测量周期信号的周期,是理想的音频信号分析仪的解决方案。 关键词:FFT MCU 频谱功率

目录

1 系统方案论证与比较 ** 引言 ** 采样方法比较与选择 方案一、用DDS芯片配合FIFO对信号进行采集,通过DDS 集成芯片产生一个频率稳定度和精度相当高的信号作为FIFO 的时钟,然后由FIFO对A/D转换的结果进行采集和存储,最后送MCU处理。 方案二、直接由32位MCU的定时中断进行信号的采集,然后对信号分析。 由于32位MCU -LPC2148是60M的单指令周期处理器,所以其定时精确度为16.7ns,已经远远可以实现我们的40.96KHz的采样率,而且控制方便成本便宜,所以我们选择由MCU直接采样。 ** 处理器的比较与选择

由于快速傅立叶变换FFT算法设计大量的浮点运算,由于一个浮点占用四个字节,所以要占用大量的内存,同时浮点运算时间很慢,所以采用普通的8位MCU一般难以在一定的时间内完成运算,所以综合内存的大小以及运算速度,我们采用Philips 的32位的单片机LPC2148,它拥有32K的RAM,并且时钟频率高达60M,所以对于浮点运算不论是在速度上还是在内存上都能够很快的处理。 ** 周期性判别与测量方法比较与选择 对于普通的音频信号,频率分量一般较多,它不具有周期性。测量周期可以在时域测量也可以在频域测量,但是由于频域测量周期性要求某些频率点具有由规律的零点或接近零点出现,所以对于较为复杂的,频率分量较多且功率分布较均匀且低信号就无法正确的分析其周期性。 而在时域分析信号,我们可以先对信号进行处理,然后假定具有周期性,然后测出频率,把采样的信号进行周期均值法和定点分析法的分析后即可以判别出其周期性。 综上,我们选择信号在时域进行周期性分析和周期性测量。对于一般的音频信号,其时域变化是不规则的,所以没有周期性。而对于单频信号或者由多个具有最小公倍数的频率组合的多频信号具有周期性。这样我们可以在频域对信号的频谱进行定量分析,从而得出其周期性。而我们通过先假设信号是周期的,然后算出频率值,然后在用此频率对信号进行采样,采取连续两个周期的信号,对其值进行逐次比较和平均比较,若相差太远,则认为不是周期信号,若相差不远(约5%),则可以认为是周期信号。 ** 系统总体设计

基于LabVIEW的音频信号分析仪设计

基于LabVIEW 的音频信号分析仪设计 马骁,张广 中国矿业大学信息与电气工程学院,江苏徐州(221008) E-mail :max05283091@https://www.doczj.com/doc/ba4261239.html, 摘要:本文基于“硬件的软件化”思想,在对信号分析、虚拟仪器技术和声卡的实用性进行理论分析的基础上,利用虚拟仪器专用语言LabVIEW 开发环境,设计了基于虚拟仪器技术的语音信号分析仪。用普通的计算机声卡代替商用数据采集卡,利用声卡的DSP 技术和LabVIEW 的多线程技术实现音频信号的数据采集,开发基于PC 机声卡的虚拟音频信号分析仪。该系统实现了数据采集,信号分析(时域分析和频域分析)等多种功能。其中时域分析包括实时显示波形,测量信号电压、频率、周期等参数;频域分析包括幅值谱、相位谱、功率谱和FFT 变换等。这类系统性价比高、通用性强、扩展性好、界面简单,在工程测量与实验室应用中具有广阔的前景。 关键词:声卡;LabVIEW;数据采集;信号分析 中图分类号:TP391 1.引言 音频信号分析仪的发展是随着一般信号分析仪器的发展而不断改进的。信号分析设备发展至今已经历了三个阶段,50年代发展的是以波的干涉、谐振和滤波原理制成的模拟式分析仪,它们功能少,分析速度慢,目前已经很少用了。但是这类仪器分析时能量集中,分析精度高,其分析方法有特色。因此,许多数字化仪器保留了模拟式分析仪的部分功能。60年代,随着计算机技术的发展,信号处理由模拟式向数字式转化,发展的是以FFT 计算原理制成的数字式信号分析仪。这类仪器功能多,分析速度快,是使用中的主流,第二代仪器的缺点是功能恒定,不能满足用户的特殊要求,同时分析功能无法更新换代。近年来虚拟仪器的出现,为以通用计算机为主体的智能信号分析仪的产生和发展奠定了基础。智能仪器分析功能由软件设定,可以不断的升级换代,用户也能自行修改,同时还能与人工智能技术和数据库技术等计算机技术相结合,使用起来十分方便[1]。 2.系统介绍 2.1虚拟仪器概述 虚拟仪器以PC 机为仪器统一的硬件平台,将测试仪器的功能和形象逼真的仪器面板控件均形成相应的软件并以文件形式存放于机内的软件库中,同时在计算机的总线槽内插入对应的、可实现数据交换的模块化硬件接口卡,若使库内仪器测试功能、仪器控件的软件和由 https://www.doczj.com/doc/ba4261239.html, 中国科技论文在线

信号处理中傅里叶变换简介

傅里叶变换 一、傅里叶变换的表述 在数学上,对任意函数f(x),可按某一点进行展开,常见的有泰勒展开和傅里叶展开。泰勒展开为各阶次幂函数的线性组合形式,本质上自变量未改变,仍为x,而傅里叶展开则为三角函数的线性组合形式,同时将自变量由x变成ω,且由于三角函数处理比较简单,具有良好的性质,故被广泛地应用在信号分析与处理中,可将时域分析变换到频域进行分析。 信号分析与处理中常见的有CFS(连续时间傅里叶级数)、CFT (连续时间傅里叶变换)、DTFT(离散时间傅里叶变换)、DFS(离散傅里叶级数)、DFT(离散傅里叶变换)。通过对连续非周期信号x c(t)在时域和频域进行各种处理变换,可推导出以上几种变换,同时可得出这些变换之间的关系。以下将对上述变换进行简述,同时分析它们之间的关系。 1、CFS(连续时间傅里叶级数) 在数学中,周期函数f(x)可展开为 由此类比,已知连续周期信号x(t),周期为T0,则其傅里叶级数为 其中,

为了简写,有 其中, 为了与复数形式联系,先由欧拉公式e j z=cos z+jsin z得 故有

令 则 对于D n,有 n≤0时同理。 故 CFS图示如下:

Figure 1 理论上,CFS对于周期性信号x(t)在任意处展开都可以做到无误差,只要保证n从-∞取到+∞就可以。在实践中,只要n取值范围足够大,就可以保证在某一点附近对x(t)展开都有很高的精度。 2、CFT(连续时间傅里叶变换) 连续非周期信号x(t),可以将其看成一连续周期信号的周期T0→∞。当然,从时域上也可以反过来看成x(t)的周期延拓。将x(t)进行CFS展开,有 若令 则 有

音频信号分析仪设计

音频信号分析仪设计 学院:电子信息学院 专业:电子信息工程 姓名: 学号: 指导老师:

摘要 本音频信号分析仪由STM32为主控制器,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅氏变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过高分辨率的LCD对信号的频谱进行显示。该系统能够精确测量的音频信号频率范围为20Hz-10KHz,其幅度范围为50mVpp-5Vpp,分辨力分为20Hz和100Hz两档。测量功率精确度高达5%,并且能够准确的测量周期信号的周期,是理想的音频信号分析仪的解决方案。 关键词:FFT STM32 音频信号分析 Abstract The audio signal analyzer is based on a STM32 microprocessor, through the AD converter for audio signal sampling, the continuous signal discrete, and then through the FFT fast Fourier transform computing, in the time domain and frequency domain of the various audio frequency signal weight and power, and other indicators for analysis and processing, and then through the high-resolution LCD display signals in the spectrum. The system can accurately measure the audio signal frequency range of 20 Hz-10KHz, the range of 50mVpp-5Vpp,resolution of 20 Hz and 100 Hz correspondent. Power measurement accuracy up to5%, and be able to accurately measuring the periodic signal cycle is the ideal audio signal analyzer solution. Key words:FFT STM32 audio signal analyzing

基于单片机的音频信号分析仪的设计

基于单片机的音频信号分析仪的设计 王 平,江华丽,王 毅,郑孔华 (福建师范大学物理与光电信息科技学院 福建福州 350007) 摘 要:着重介绍音频信号分析仪的软硬件结构、特征及其工作原理,设计采用DSP IC30F 6014A 单片机为主控制器,基于A /D 转换和快速傅里叶变换方法对采集的音频信号进行频谱分析,能检测20Hz~10kH z,100mV ~5V 的音频输入信号,频率分辨率达到20H z,检测出的各频率分量的功率之和不小于总功率值的95%,单个频率功率误差小于10%,因此在嵌入式系统方面具有较好的应用价值。 关键词:音频信号;DSP;FF T ;DSP IC30F 6014A 中图分类号:T H89 文献标识码:A 文章编号:1004-373X(2009)19-122-03 Design of Audio Frequency Analyzer Based on Single Chip Computer WA N G P ing ,JIA N G H uali,WA N G Y i,ZH EN G K o ng hua (Scho ol o f P hy si cs and Optoelect ronics T echno log y,F ujian No rm al University,Fuzho u,350007,China) Abstract :T he audio frequency analyzer c s so ftwa re and hardwar e str ucture,the character istics and the principle of wo rk are intr oduced.T his design uses DSPIC30F6014A mo no lit hic integ rat ed circuit as the contr oller,it bases on the A /D transfor -mat ion and FF T tr ansfo rmatio n to analyze the audio frequency signal,w hich can examine 20Hz~10kH z and 100mV ~5V audio frequency input sig na l,f requency dist ing uish can reach to 20H z,the var ious fr equency co mpo nent's sum of pow er is not smaller than the to tal perfo rmance 95%,the sing le fr equency pow er er ror is smaller than 10%,ther efor e it has g ood aspect in the embedded sy st em c s application. Keywords :audio frequency sig nal;DSP ;F FT ;DSPIC30F6014A 收稿日期:2009-04-21 基金项目:福建省科技厅/基于嵌入式的网络便携式终端的研 究0(2007F5039) 0 引 言 目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频分析仪器是语音识别的基础,具有很好的现实意义。 信号分析原理是将信号从时间域转换成频率域,使原始信号中不明显特性变得明显,便于分析处理。对于音频信号来说,其主要特征参数为幅度谱、功率谱。该音频信号分析仪的工作过程为:对音频信号限幅放大、 模数转换、快速傅里叶变换(FFT ,时域到频域的转换)、特征值提取;从到音频信号的幅度谱,进而得到音频信号的功率谱[1]。1 硬件设计 /智能家居0(Smart H ome)也称智能住宅。家居网络智能控制系统就是利用先进的计算机技术、通讯技术和嵌入式技术,将家中的各种设备通过家庭网络连接成系统。整个智能家居系统的构成如图1所示。在该系 统中,对于某些家用电器设备的监测与控制需要进行音频信号的分析 [2] 。 图1 智能家居系统框图 本设计选用Microchip 公司的DSPIC30F6014A 单片机为核心处理器,该芯片是MCU 技术与DSP 技术的结合,既包含了16位MCU 的控制功能,又融合了 DSP 的高速运算技术,实际上就是数字微处理器、可方便地实现音频信号分析的各种功能。音频系统框图如图2所示,包括电源模块、预制电路、A/D 转换模块、DSP 模块、LCD 显示模块等几个部分。各模块以及接口的具体设计和实现功能如下: 122 自动化技术王 平等:基于单片机的音频信号分析仪的设计

用Matlab对信号进行傅里叶变换实例

目录 用Matlab对信号进行傅里叶变换 (2) Matlab的傅里叶变换实例 (5) Matlab方波傅立叶变换画出频谱图 (7)

用Matlab对信号进行傅里叶变换 1.离散序列的傅里叶变换DTFT(Discrete Time Fourier Transform) 代码: 1 N=8; %原离散信号有8点 2 n=[0:1:N-1] %原信号是1行8列的矩阵 3 xn=0.5.^n; %构建原始信号,为指数信号 4 5 w=[-800:1:800]*4*pi/800; %频域共-800----+800 的长度(本应是无穷,高频分量很少,故省去) 6 X=xn*exp(-j*(n'*w)); %求dtft变换,采用原始定义的方法,对复指数分量求和而得 7 subplot(311) 8 stem(n,xn); 9 title('原始信号(指数信号)'); 10 subplot(312); 11 plot(w/pi,abs(X)); 12 title('DTFT变换') 结果: 分析:可见,离散序列的dtft变换是周期的,这也符合Nyquist采样定理的描述,连续时间信号经周期采样之后,所得的离散信号的频谱是原连续信号频谱的周期延拓。 2.离散傅里叶变换DFT(Discrete Fourier Transform)

与1中DTFT不一样的是,DTFT的求和区间是整个频域,这对 结果图:

分析:DFT只是DTFT的现实版本,因为DTFT要求求和区间无穷,而DFT只在有限点内求和。 3.快速傅里叶变换FFT(Fast Fourier Transform) 虽然DFT相比DTFT缩减了很大的复杂度,但是任然有相当大的计算量,不利于信息的实时有效处理,1965年发现的DFT解决了这一问题。 实现代码: 1 N=64; %原离散信号有8点 2 n=[0:1:N-1] %原信号是1行8列的矩阵 3 xn=0.5.^n; %构建原始信号,为指数信号 4 Xk=fft(xn,N); 5 subplot(221); 6 stem(n,xn); 7 title('原信号'); 8 subplot(212); 9 stem(n,abs(Xk)); 10 title('FFT变换') 效果图: 分析:由图可见,fft变换的频率中心不在0点,这是fft算法造成的,把fft改为fftshift可以将频率中心移到0点。

相关主题
文本预览
相关文档 最新文档