当前位置:文档之家› 07年A题实验报告(音频信号分析仪)解析

07年A题实验报告(音频信号分析仪)解析

07年A题实验报告(音频信号分析仪)解析
07年A题实验报告(音频信号分析仪)解析

2007年全国大学生电子设计竞赛

【本科组】

音频信号分析仪(A题)

摘要:本音频信号分析仪由8位MCU为主控制器,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅氏变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过LCD 对信号的频谱进行显示。该系统能够精确测量的音频信号频率范围为100Hz-10KHz,其幅度范围为100mVpp-5Vpp。

关键词:快速傅里叶变换功率谱频谱

Abstract:The audio signal analyzer is based on a 8-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 LCD display signals in the spectrum. The system can accurately measure the audio signal frequency range of 100Hz-10KHz, the range of 100mVpp-5Vpp .

Key Word:FFT Power Spectrum Frequency Spectrum

目录

摘要: (1)

1. 系统设计 (1)

1.1设计要求 (1)

1.1.1设计任务 (1)

1.1.2技术指标 (1)

1.2方案比较与选择 (2)

1.2.1采样方法比较与选择 (2)

1.2.3信号功率计算方案比较 (3)

1.3方案论证 (3)

2.单元电路设计及参数计算 (4)

2.1前级阻抗匹配和放大电路设计 (4)

2.2抗混叠低通滤波器设计 (6)

3. 软件设计 (7)

3.1程序总体流程图 (7)

3.2程序清单(见附录2) (7)

4.系统测试 (7)

4.1测试仪器 (7)

4.2测试结果 (8)

5. 结束语 (8)

参考文献 (8)

附录 (9)

附录1 主要元器件清单 (9)

附录2 程序清单 (9)

1.系统设计

1.1设计要求

1.1.1设计任务

设计、制作一个可分析音频信号频率成分,并可测量正弦信号失真度的仪器。

1.1.2技术指标

(1)基本要求

①输入阻抗:50Ω

②输入信号电压范围(峰-峰值):100mV~5V

③输入信号包含的频率成分范围:200Hz~10kHz

④频率分辨力:100Hz(可正确测量被测信号中,频差不小于100Hz的频率分量的功率值。)

⑤检测输入信号的总功率和各频率分量的频率和功率,检测出的各频率分量的功率之和不小于总功率值的95%;各频率分量功率测量的相对误差的绝对值小于10%,总功率测量的相对误差的绝对值小于5%。

⑥分析时间:5秒。应以5秒周期刷新分析数据,信号各频率分量应按功率大小依次存储并可回放显示,同时实时显示信号总功率和至少前两个频率分量的频率值和功率值,并设暂停键保持显示的数据。

(2)发挥部分

①扩大输入信号动态范围,提高灵敏度。

②输入信号包含的频率成分范围:20Hz~10kHz。

③增加频率分辨力20Hz档。

④判断输入信号的周期性,并测量其周期。

⑤测量被测正弦信号的失真度。

⑥其他。

1.2方案比较与选择

1.2.1采样方法比较与选择

方案一:采用DDS芯片

用DDS芯片配合FIFO对信号进行采集,通过DDS集成芯片产生一个频率稳定度和精度相当高的信号作为FIFO的时钟,然后由FIFO对A/D转换的结果进行采集和存储,最后送MCU处理。

方案二:采用单片机

直接由MCU的定时中断进行信号的采集,然后对信号分析。C8051F020的单指令周期为90ns,可实现25.6KHz的采样率,且控制方便成本便宜。

经比较,选用方案二,用单片机进行信号采样。

1.2.2周期性判别与测量方法的比较与选择

方案一:时域测量

在时域分析信号,我们可以先对信号进行处理,然后假定具有周期性,然后测出频率,把采样的信号进行周期均值法和定点分析法的分析后即可以判别出其周期性。

方案二:频域测量

频域测量周期性要求某些频率点具有由规律的零点或接近零点出现,所以对于较为复杂的,频率分量较多且功率分布较均匀且低信号就无法正确的分析其周期性。

综上,我们选择信号在时域进行周期性分析和周期性测量。对于一般的音频信号,其时域变化是不规则的,所以没有周期性。而对于单频信号或者由多个具有最小公倍数的频率组合的多频信号具有周期性。这样我们可以在频域对信号的频谱进行定量分析,从而得出其周期性。而我们通过先假设信号是周期的,然后算出频率值,然后在用此频率对信号进行采样,采取连续两个周期的信号,对其值进行逐次比较和平均比较,若相差太远,则认为不是周期信号,若相差不远(约

5%),则可以认为是周期信号。

1.2.3信号功率计算方案比较

方案一:通过测真有效值的方式实现,应用普通的真有效值检测芯片可以方便的测出信号在一定时间段内的总功率。但对单个频点处的功率测量无能为力。

方案二:在用FFT得到信号的频谱后根据帕斯瓦尔定律可以很方便的得到信号各频率分量的功率及信号的总功率。

本设计中我们可以通过FFT得到信号的频谱,因此选用方案二。

1.3方案论证

音频信号经过一个由运放和电阻组成的50 ?阻抗匹配网络后,经由多路放大模块进行处理,若是一般的1Vpp-5Vpp的电压,我们选择直通,也就是说信号放大倍数为1;在250mVpp-1Vpp之间的话,信号经过4倍增益的放大器后再进行A/D采样;在50mVpp-250Vpp之间的话,信号经过20倍增益的放大器后再进行A/D采样;在10mVpp-50Vpp之间的话,信号经过100倍增益的放大器后再进行A/D采样。

经过单片机12位的ADC0转换后的数字信号经由MCU进行FFT变换和处理,分析其频谱特性和各个频率点的功率值,运算出来后将频率值、功率值、失真度送至液晶屏进行显示。

2.单元电路设计及参数计算

2.1前级阻抗匹配和放大电路设计

图2.1.1 前级阻抗匹配

信号输入后通过R16,R18两个100Ohm 的电阻和一个运放NE5532实现跟随作用。由于理想运放的输入阻抗为无穷大,所以输入阻抗即为:R16//R18=50Ohm,阻抗匹配后通过控制选择信号是直接送给AD 转换还是放大4倍、20倍、100倍后再进行AD 转换。

图2.1.2 放大倍数为1

其中反向比例放大倍数1

4

R R A -

=。类似的,得到放大倍数为4倍、20倍、100倍、0.4倍的放大电路如下图所示。

图2.1.3 放大倍数为4

图2.1.4放大倍数为20

图2.1.5 放大倍数为100

图2.1.6 衰减2.5倍

2.2抗混叠低通滤波器设计

图2.2 抗混叠低通滤波器

3.软件设计

3.1程序总体流程图

图3.1程序总体流程图

3.2程序清单(见附录2)

4.系统测试

4.1测试仪器

台式万用表,型号:UT802

程控直流电源,型号:MPD-3303

任意波形发生器,型号:YB32020

示波器,型号:DXO-X2002A

4.2测试结果

(1)总功率测量(室温条件下)

输入信号频率幅度测量时域总功

率(w)

测量频域总

功率(w)

理论值估算误差

正弦波 100Hz 1 Vpp 0.127 0.129 0.125 1.2% 1KH 1 Vpp 0.126 0.129 0.125 1.3%

(2)单个频率分量测量(室温条件下)

输入信号频率幅度最大功率

频点最大功率

频点功率

次大功率频

次大功率频

点功率

正弦波500Hz 100mVpp 500Hz 1.20mw / / 正弦波5KHz 1Vpp 5KHz 120mw / / 正弦波10KHz 1Vpp 10KHz 118mww / / 正弦波 1KHz 1Vpp 1KHz 126mv / / 3KHz 1Vpp / / 3KHz 117mw

5.结束语

本实验方案由于软件难度比较大,于是在完成题目要求的情况下精简硬件电路减少软件的开发复杂程度。本方案的优点就在于用简单低廉的硬件电路以及单片机C8051F020完成音频信号的检测分析并达到很好的效果,可以推广使用。

参考文献

[1] 童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2006

[2] 肖看,李群芳.单片机原理、接口及应用——嵌入式系统技术基础(第二版)[M].北京:清华大学出版社,2010

[3] 黄智伟,王彦,陈文光,朱卫华.全国大学生电子设计竞赛训练教程(修订版)[M].北京:电子工业出版社,2010

[4] 周利清,苏菲,罗仁泽.数字信号出来基础(第三版)[M\.北京:北京邮电大学出版

社,2012

附录

附录1 主要元器件清单

(1)C8051F020 1片(2)NE5532 3片(3)电阻电容若干(4)LCD及矩阵键盘1个

附录2 程序清单

fft.c

//dian为点数, dian=pow(2,m)

#include "math.h"

#include "C8051F020.h"

#include "DataType.h"

#include "string.h"

#include "stdio.h"

#define PI 3.1415926

#define G2 1.4142135

float XR[256]={0},XI[256]={0},XX[127]={0},Xu=0; //实部和虚部

float Xa=0;

int Hn=0;

int freq=0;

int freq1=0;

unsigned char m=8; //dian[6]=64; 64点FFT

unsigned int N;

code int dian[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096};

void butterfly(void); //蝶形运算

int gcd(int m,int n);

void fft(void)

{

//////////////位倒置////////////////

int i,j,k,n,h=0; //i,j为临时变量,k是倒置后的次序

float temp,X,temp1=0;

N=dian[m];

Xu=0;

for(i=0;i

{

XR[i]=XR[i]/4095*2.630;

}

for(i=0;i

{

k=0;

for(j=0;j

{

if(((i>>j)&0x01)==1) //判断第j位是否为1

k=k+(1<<(m-j-1)); //如果是,则倒置后的K对应是第10-j-1位为1,例如i的第二位为1,则k的第七位为1

}

XI[k]=XR[i];

}

for(i=0;i

{

XR[i]=XI[i];

XI[i]=0; //虚部置0

}

butterfly();

///////////计算各频率点幅值//////////

XR[0]=sqrt((XR[0]*XR[0]));

XR[0]=XR[0]/N;

XR[0]=XR[0]*XR[0];

Xa=0;

for(i=1;i<128;i++)

{

//Xa+=(XR[i]*XR[i])+(XI[i]*XI[i])/256;

XR[i]=sqrt((XR[i]*XR[i])+(XI[i]*XI[i]));

XR[i]=2*XR[i]/N/G2;

XR[i]=XR[i]*XR[i];

Xa+=XR[i];

XI[i]=0;

}

/////////////求最大值点/////////////////

X=0;

for(i=1;i<128;i++) //不能算直流

if(X

{

X=XR[i+1];

n=i+1;

}

///////////求不为0的频率点的最大公约数////// for(i=1;i<128;i++)

{

if(XR[i]>0.00500){

n=gcd(n,i);

Xu+=XR[i];

}

}

//Hn=(float)80/3*n;

freq=n;

Hn=100*n;

temp1=XR[1];

///////////////排序//////////////////////

for(i=1;i<128;i++)

{

if(temp1

{

freq1=i;

temp1=XR[i];

}

}

// for(j=0;j<=128-1;j++)

// {

// for (i=1;i<128-1-j;i++)

// if (XR[i]

// {

// temp=XR[i];

// XR[i]=XR[i+1];

// XR[i+1]=temp;

//

// }

// }

///////////存储便于回放数据////////////////

for(i=0;i<127;i++){

XX[i]=XR[i+1];

}

} /* END FFT */

/////////////蝶形运算////////////////

void butterfly(void)

{

float TR,TI,WR,WI;

unsigned int i,j,k,p,A,B; //*** A为外循环的级数; B为中循环的级数,C为内循环的级数

A = m;

for(i=0;i

{

B = 1<

//C=N/(1<<(i+1)); //即C=N/pow(2,i+1)

for(j=0;j

{

p=j*(1<<(A-i-1)); //这是FFT最难推的式子,旋转因子的系数

//for(k=0;k

for(k=j;k

{

TR=XR[k];

TI=XI[k];

WR=XR[k+B]*cos((2*PI*p)/N)+XI[k+B]*sin((2*PI*p)/N);

WI=-XR[k+B]*sin((2*PI*p)/N)+XI[k+B]*cos((2*PI*p)/N);

XR[k]=TR+WR;

XI[k]=TI+WI;

XR[k+B]=TR-WR;

XI[k+B]=TI-WI;

}

}

}

}

//////////最大公约数//////

int gcd(int m,int n) //求最大公约数

{

int temp,r;

if(m

{

temp=m;

m=n;

n=temp;

}

while((r=m%n)!=0)

{

m=n;

n=r;

}

return n;

}

main.c 中的main函数

void main (void)

{

int j,a,b;

unsigned long int i=7;

WDTCN = 0xde; // Disable watchdog timer

WDTCN = 0xad;

OSCILLATOR_Init ();

PORT_Init(); // Initialize oscillator

TIMER3_Init (SYSCLK/SAMPLE_RATE); // Initialize Timer3 to overflow at TIMER2_Init(SYSCLK*CLK_TIME) ;

ADC0_Init (); // Init ADC

AD0EN = 1; // Enable ADC

KeyPort_Init ();

LCD_Init ();

LCD_ClearScreen();

EA = 1; // Enable global interrupts

while(1)

{

KeyPressedHandler ();

if(time==1)

{

if(adc_over==1|back==1)

{

if(back==1)

{ fft();

LCD_ClearScreen();

LCD_DispStrAt("总功率",1,1);

LCD_DispStrAt("次大功率",2,1);

LCD_DispStrAt("频率",3,1);

LCD_DispNumberAt(freq1*100,3,5);

//LCD_DispFloatNumberAt(XR[2],5,4,5);

LCD_DispFloatNumberAt(XR[freq1]-0.014,5,2,5);

LCD_DispFloatNumberAt(Xa,5,1,5);

back=0;

}

else{

fft();

LCD_ClearScreen();

LCD_DispStrAt("总功率:",1,1);

LCD_DispStrAt("功率:",2,1);

LCD_DispStrAt("频率",3,1);

LCD_DispStrAt("失真度:",4,1);

if(Hn<=800)

{

temp=XR[freq]*(0.8+(float)Hn/10000);

LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>800&Hn<=2100)

{

temp=XR[freq]*(0.7+(float)Hn/10000);

LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>2100&Hn<=3700)

{

temp=XR[freq]*(0.6+(float)Hn/10000);

LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>3700&Hn<=6300)

{

temp=XR[freq]*(0.5+(float)Hn/10000);

LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>6300)

{

temp=XR[freq]*(0.4+(float)Hn/10000);

LCD_DispFloatNumberAt(temp,5,2,5);

}

LCD_DispFloatNumberAt(Xa-XR[freq]+temp,5,1,5);

LCD_DispNumberAt(Hn,3,3);

LCD_DispFloatNumberAt(sqrt((Xa-Xu)/Xu),5,4,5);

for(i=0;i<140000;i++){KeyPressedHandler ();}

P0=~P0;

adc_over=0;

}

}

}

if(time==0)

{

if(adc_over==1|back==1)

{

if(back==1)

{

LCD_ClearScreen();

LCD_DispStrAt("总功率",1,1);

LCD_DispStrAt("次大功率",2,1);

LCD_DispFloatNumberAt(XX[1],5,2,5);

LCD_DispFloatNumberAt(Xa,5,1,5);

back=0;

}

else{

fft();

LCD_ClearScreen();

LCD_DispStrAt("总功率:",1,1);

LCD_DispStrAt("功率:",2,1);

LCD_DispStrAt("频率",3,1);

LCD_DispStrAt("失真度:",4,1);

if(Hn<=800)

{

temp=XR[freq]*(0.8+(float)Hn/10000);

//LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>800&Hn<=2100)

{

temp=XR[freq]*(0.7+(float)Hn/10000);

//LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>2100&Hn<=3700)

{

temp=XR[freq]*(0.6+(float)Hn/10000);

//LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>3700&Hn<=6300)

{

temp=XR[freq]*(0.5+(float)Hn/10000);

//LCD_DispFloatNumberAt(temp,5,2,5);

}

if(Hn>6300)

{

temp=XR[freq]*(0.4+(float)Hn/10000);

//LCD_DispFloatNumberAt(temp,5,2,5);

}

LCD_DispFloatNumberAt(Xa-XR[freq]+temp,5,1,5);

for(j=0;j<128;j++)

{

if(j==freq)

LCD_DispFloatNumberAt(temp,5,2,5);

else

LCD_DispFloatNumberAt(XR[j],5,2,5);

LCD_DispNumberAt(j*100,3,3);

LCD_DispFloatNumberAt(sqrt((Xa-Xu)/Xu),5,4,5);

for(a=0;a<10;a++)

{

for(b=0;b<30000;b++);

}

}

for(i=0;i<140000;i++){KeyPressedHandler ();}

P0=~P0;

adc_over=0;

}

}

}

}

}

语音信号处理实验报告

语音信号处理实验 班级: 学号: 姓名:

实验一 基于MATLAB 的语音信号时域特征分析(2学时) 1) 短时能量 (1)加矩形窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=linspace(1,1,2.^(i-2)*N);%形成一个矩形窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2) ,legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 024 N=3200.5 1 1.5 2 2.5 3x 10 4 05 N=6400.5 1 1.5 2 2.5 3x 10 4 0510 N=12800.5 1 1.5 2 2.5 3x 10 4 01020 N=2560 0.5 1 1.5 2 2.5 3x 10 4 02040 N=512 (2)加汉明窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32;

for i=2:6 h=hanning(2.^(i-2)*N);%形成一个汉明窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2), legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 012 N=3200.5 1 1.5 2 2.5 3x 10 4 024 N=6400.5 1 1.5 2 2.5 3x 10 4 024 N=12800.5 1 1.5 2 2.5 3x 10 4 0510 N=2560 0.5 1 1.5 2 2.5 3x 10 4 01020 N=512 2) 短时平均过零率 a=wavread('mike.wav'); a=a(:,1); n=length(a); N=320; subplot(3,1,1),plot(a); h=linspace(1,1,N); En=conv(h,a.*a); %求卷积得其短时能量函数En subplot(3,1,2),plot(En); for i=1:n-1 if a(i)>=0 b(i)= 1;

音频信号分析仪(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

数字信号处理实验报告

数字信号处理作业提交日期:2016年7月15日

实验一 维纳滤波器的设计 第一部分 设计一维纳滤波器。 (1)产生三组观测数据,首先根据()(1)()s n as n w n =-+产生信号()s n ,将其加噪(信噪比分别为20,10,6dB dB dB ),得到观测数据123(),(),()x n x n x n 。 (2)估计()i x n ,1,2,3i =的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。 1 实验原理 滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。 维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。 设一线性系统的单位样本响应为()h n ,当输入以随机信号()x n ,且 ()() () x n s n v n =+,其中()s n 表示原始信号,即期望信号。()v n 表示噪声,则输出()y n 为()=()()m y n h m x n m -∑,我们希望信号()x n 经过线性系统()h n 后得到的()y n 尽可能接近 于()s n ,因此称()y n 为估计值,用?()s n 表示。 则维纳滤波器的输入-输出关系可用下面表示。 设误差信号为()e n ,则?()()()e n s n s n =-,显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即 它的平方的统计期望最小:222?[|()|][|()()|][|()()|]E e n E s n s n E s n y n =-=-=min 。而要使均方误差最小,则需要满足2[|()|]j E e n h ?=0. 进一步导出维纳-霍夫方程为:()()()()*(),0,1,2...xs xx xx i R m h i R m i R m h m m =-==∑ 写成矩阵形式为:xs xx R R h =,可知:1xs xx h R R -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

信号系统实验报告

电子工程系 信号与系统课程实验报告 2011-----2012学年第一学期 专业: 电子信息工程技术班级: 学号 : 姓名: 指导教师: 实常用连续时间信号的实现

一、实验目的 (1)了解连续时间信号的特点; (2)掌握连续时间信号表示的向量法和符号法; (3)熟悉MATLAB Plot函数等的应用。 二、实验原理 1、信号的定义 信号是随时间变化的物理量。信号的本质是时间的函数。 2、信号的描述 1)时域法 时域法是将信号表示成时间的函数f(t)来对信号进行描述的方法。信号的时间特性指的是信号的波形出现的先后,持续时间的长短,随时间变化的快慢和大小,周期的长短等。 2)频域(变换域)法 频域法是通过正交变换,将信号表示成其他变量的函数来对信号进行描述的方法。一般常用的是傅立叶变换。信号的频域特性包括频带的宽窄、频谱的分布等。 信号的频域特性与时域特性之间有着密切的关系。 3、信号的分类 按照特性的不同,信号有着不同的分类方法。 (1)确定性信号:可以用一个确定的时间函数来表示的信号。 随机信号:不可以用一个确定的时间函数来表示,只能用统计特性加以描述的信号。 (2)连续信号:除若干不连续的时间点外,每个时间点在t上都有对应的数值信号。离散信号:只在某些不连续的点上有数值,其他时间点上信号没有定义的信号。 (3)周期信号:存在T,使得等式f(t+T)=f(t)对于任意时间t都成立的信号。非周期信号:不存在使得等式f(t+T)=f(t)对于任意时间t都成立的信号。 绝对的周期信号是不存在的,一般只要在很长时间内慢走周期性就可以了。 (4)能量信号:总能量有限的信号。 功率信号:平均功率有限切非零的信号。 (5)奇信号:满足等式f(t)=--f(--t)的信号。偶信号:满足等式f(t)=f(--t)的信号。 三、涉及的MATLAB函数 1、plot函数 功能:在X轴和Y轴方向都按线性比例绘制二维图形。 调用格式: Plot(x,y):绘出相x对y的函数线性图。 Plot(x1,y1,x2,y2,…..):会出多组x对y的线性曲线图。 2、ezplot函数 功能:绘制符号函数在一定范围内的二维图形。简易绘制函数曲线。 调用格式: Ezplot (fun):在[-2π,2π]区间内绘制函数。 Ezplot (fun,[min,max]):在[min,max]区间内绘函数。 Ezplot (funx,funy):定义同一曲面的函数,默认的区间是[0, 2π]。】 3、sym函数 功能:定义信号为符号的变量。 调用格式:sym(fun):fun为所要定义的表达式。 4、subplot函数

音频信号分析仪毕业论文

音频信号分析仪 指导老师:邓晶 年纪专业: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.

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

信号与系统实验报告_1(常用信号的分类与观察)

实验一:信号的时域分析 一、实验目的 1.观察常用信号的波形特点及产生方法 2.学会使用示波器对常用波形参数的测量 二、实验仪器 1.信号与系统试验箱一台(型号ZH5004) 2.40MHz双踪示波器一台 3.DDS信号源一台 三、实验原理 对于一个系统特性的研究,其中重要的一个方面是研究它的输入输出关系,即在一特定的输入信号下,系统对应的输出响应信号。因而对信号的研究是对系统研究的出发点,是对系统特性观察的基本手段与方法。在本实验中,将对常用信号和特性进行分析、研究。 信号可以表示为一个或多个变量的函数,在这里仅对一维信号进行研究,自变量为时间。常用信号有:指数信号、正弦信号、指数衰减正弦信号、复指数信号、Sa(t)信号、钟形信号、脉冲信号等。 1、信号:指数信号可表示为f(t)=Ke at。对于不同的a取值,其波形表现为不同的形式,如下图所示: 图1―1 指数信号 2、信号:其表达式为f(t)=Ksin(ωt+θ),其信号的参数:振幅K、角频率ω、与初始相位θ。其波形如下图所示:

图1-2 正弦信号 3、指数衰减正弦信号:其表达式为其波形如下图: 图1-3 指数衰减正弦信号 4、Sa(t)信号:其表达式为:。Sa(t)是一个偶函数,t= ±π,±2π,…,±nπ时,函数值为零。该函数在很多应用场合具有独特的运用。其信号如下图所示:

图1-4 Sa(t)信号 5、钟形信号(高斯函数):其表达式为:其信号如下图所示: 图1-5 钟形信号 6、脉冲信号:其表达式为f(t)=u(t)-u(t-T),其中u(t)为单位阶跃函数。其信号如下图所示: 7、方波信号:信号为周期为T,前T/2期间信号为正电平信号,后T/2期间信号为负电平信号,其信号如下图所示 U(t)

基于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) 附录 ................................................................................................................ 错误!未定义书签。

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

音频信号分析仪设计报告

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

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

信号与系统实验报告

学生实验报告 (理工类) 课程名称:信号与系统实验专业班级:电子信息(1)班学生学号:1005101058 学生姓名:严生生 所属院部:信息技术学院指导教师:杨婧 20 11 ——20 12 学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:常用连续信号的表示实验学时: 1 同组学生姓名:实验地点: B402 实验日期:实验成绩: 批改教师:杨婧批改时间: 一、实验目的和要求 熟悉MATLAB软件,利用MATLAB软件,绘制出常用的连续时间信号。 二、实验仪器和设备 586以上计算机,装有MATLAB7.0软件。 三、实验过程 1,绘制正弦信号f(t)=Asin(ωt+ψ),其中A=1,ω=2π, ψ=π/6; 2,绘制指数信号f(t)=Ae^at,其中A=1,a=-0.4; 3,绘制矩形脉冲信号,脉冲宽度为2; 4,绘制三角波脉冲信号,脉冲宽度为4;斜度为0.5; 5,对上题三角波脉冲信号进行尺度变换,分别得出f(2t),f(2-2t); 6,绘制抽样函数Sa(t),t取值在-3π到+3π之间; 7,绘制周期矩形脉冲信号,参数自定; 8,绘制周期三角脉冲信号,参数自定; 1,打开MATLAB界面,建立新文件。 2,根据实验要求,编写程序。

西南交大数字信号处理报告

信息科学与技术学院本科三年级 数字信号处理实验报告 2011 年12 月21日

实验一 序列的傅立叶变换 实验目的 进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换 (FFT )的应用。 实验步骤 1. 复习DFS 和DFT 的定义,性质和应用; 2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。 实验内容 1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。 实验结果: 60 ,7)4(;60,5)3(; 40,5)2(;20,5)1()] (~[)(~,2,1,01 )1(,01,1)(~=========±±=???-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L m N L m N n m N n x ) 52.0cos()48.0cos()(n n n x ππ+=

2. 有限长序列x(n)的DFT (1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度; (2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出 x(n)的频谱X(k) 的幅度; (3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。利用FFT 进行谱分析 已知:模拟信号 以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。 请分别画出N=45; N=50;N=55;N=60时的幅值曲线。 实验结果: ) 8cos(5)4sin(2)(t t t x ππ+=

语音信号处理实验报告实验二

通信工程学院12级1班 罗恒 2012101032 实验二 基于MATLAB 的语音信号频域特征分析 一、 实验要求 要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。 二、 实验目的 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。 由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 三、 实验设备 1.PC 机; 2.MATLAB 软件环境; 四、 实验内容 1.上机前用Matlab 语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5.依次给出其倒谱、语谱图的分析结果。 6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。 五、 实验原理及方法 1、短时傅立叶变换 由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为: 其中w(n -m)是实窗口函数序列,n 表示某一语音信号帧。令n -m=k',则得到 ()()()jw jwm n m X e x m w n m e ∞-=-∞= -∑

信号与系统实验报告汇总

实验三 常见信号的MATLAB 表示及运算 一、实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二、实验原理 根据MATLAB 的数值计算功能和符号运算功能,在MA TLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MA TLAB 语句表示出信号后,就可以利用MA TLAB 中的绘图命令绘制出直观的信号波形了。 1.连续时间信号 从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 ⑵ 符号运算表示法 如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。 ⑶ 常见信号的MATLAB 表示 单位阶跃信号 单位阶跃信号的定义为:10 ()0 t u t t >?=? 0); %定义函数体,即函数所执行指令

基于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的采样频率也满足本设计中的频率要求。

数字语音信号处理实验报告

语音信号处理实验报告 专业班级电子信息1203 学生姓名钟英爽 指导教师覃爱娜 完成日期2015年4月28日 电子信息工程系 信息科学与工程学院

实验一语音波形文件的分析和读取 一、实验学时:2 学时 二、实验的任务、性质与目的: 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验 (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 三、实验原理和步骤: WAV 文件格式简介 WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV 文件的头四个字节就是“RIFF”。WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。WAV 文件的格式 表1 wav文件格式说明表

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