文档库 最新最全的文档下载
当前位置:文档库 › DSP, U律语音信号扩展

DSP, U律语音信号扩展

DSP, U律语音信号扩展
DSP, U律语音信号扩展

摘要

本文简要阐述了语音信号扩展U律的基本原理,可以将高位的数据扩展成低位的数据,它适用于声音信号的播放和传输系统,在设计中借助MATLAB信号处理工具箱FDAtool工具设计了语音信号扩展系数,然后在CCS中以TMS320C55x芯片的汇编语言编程实现了该语音信号扩展。利用MATLAB设计语音信号扩展,可以随时对比设计要求和语音信号扩展特性调整参数,直观简便,极大的减轻了工作量,有利于语音信号扩展设计的最优化。另外文中还介绍CCS 开发环境。文中所给程序已经经过软件仿真验证,所设计的语音信号扩展符合设计要求。

关键词:DSP;语音信号扩展;MATLAB;TMS320C55x。

目录

一、实验要求 (1)

二、设计原理 (1)

1. 数据扩展解压流程 (1)

2. U律语音信号扩展 (1)

3. C55X硬件结构 (3)

三、软件程序 (4)

四、实现过程 (12)

https://www.wendangku.net/doc/611134880.html,S环境简介 (12)

https://www.wendangku.net/doc/611134880.html,S配置 (12)

https://www.wendangku.net/doc/611134880.html,S开发应用程序 (13)

4. 建立工程文件 (14)

5. 创建新文件 (14)

6. 向工程项目中添加文件 (14)

7. 对程序进行编译链接并装载.out文件 (15)

五、仿真结果分析 (16)

1.观察数据结果 (16)

2.观察数据图形 (17)

六、结论.................................................................................... 错误!未定义书签。

七、参考文献.............................................................................. 错误!未定义书签。

一、实验要求

1.接收μ律压缩后的数据。

2.对信号进行扩展。

3.输出扩展后的语音信号。

二、设计原理

1. 数据扩展解压流程

DSP将传输来的扩展后的数据进行解压成16位或32位,而后对解压后的数据进行分析,处理,最后将处理后的数据按照要求扩展成8位的数据格式输出到相应设备以供读取:DR→RSR→RBR→解压→RJUST→DDR→DXR→扩展→XSR→DX。

在进行扩展时,采样后的12位数据,默认其最高位为符号位,扩展时要保持最高位即符号位不变;原数据的后11位要扩展成7位。这7位码由3位段落码和4位段内码组成,具体扩展变换后的根据后11位数据大小决定。扩展后数据的最高位(第7位)表示符号,量阶分别为1,1,2,4,8,16,32,64,由扩展后数据的第6位到第4位决定,第3位到第0位是段内码,扩展后数据有一定的失真,有些数据不能表示出,只能取最接近该数据的扩展值。

2. U律语音信号扩展

μ律算法:采用μ律算法对采集的语音数据进行处理,μ律编码是一种针对语音信号进行对数压缩非均匀量化的方案。采用μ律对信号进行对数形式的压缩,以便在不提高数据量的前提下提高信噪比,尽管量化的位数保持不变,但动态范围增加了。μ律压缩的语音信号一般用8比特抽样数据表示,携带小信号信息量比大信号信息量多。从统计意义上讲,有用信号更可能在小信号区间而非大信号区间。因此,在小信号区间需要更多的量化点数。

μ律算法公式:

其中Xmax是信号x(n)的最大幅度,u是控制压缩程序的参数,u越大压缩就越

厉害μ律查找表内共有256个数,分别用来获得0—7段量化电压,其由16×16组数

组成。

由下表看大信号多数由第7段表示,三个指数位用来表示第0-7段,4个尾数

位用于表示后4个有效位,还有一位符号位没有给出。16比特输入数据是由线性

数据变换成8比特μ律数据(模拟传输),然后再从μ律转成16比特的线性数据(模

拟接收),再输出到编解码器。

上图给出了按μ律压扩算法的输入输出特性曲线,μ为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。由图可见,μ值越大,压缩量越大。

由于μ律压扩的输入和输出关系是对数函数关系,所以这种编码又称为对数PCM。

U律扩展的线性表如下:

扩展过的码字偏值得输入

段值,量化值

比特:6 5 4 3 2 1 x 比特:11 10 9 8 7 6 5 4 3 2 1 x

0 0 0 a b c d 0 0 0 0 0 0 x a b c d 1

0 0 1 a b c d 0 0 0 0 0 0 1 a b c d 1

0 1 0 a b c d 0 0 0 0 0 1 a b c d 1 x

0 1 1 a b c d 0 0 0 0 1 a b c d 1 x x

1 0 0 a b c d 0 0 0 1 a b c d 1 x x x

1 0 1 a b c d 0 0 1 a b c d 1 x x x x

1 1 0 a b c d 0 1 a b c d 1 x x x x x

1 1 1 a b c d 1 a b c d 1 x x x x x x

3. C55X硬件结构

(1)CPU体系结构

C55X有1条32位的程序数据总线(PB),5条16位数据总线(BB、CB、DB、EB、FB)和1条24位的程序地址总线及5条23位地址总线,这些总线分别与CPU相连。总线通过存储单元接口(M)与外部程序总线和数据总线相连,实现CPU对外部存储器的访问。这种并行的多总线结构,使CPU能在一个CPU 周期内完成1次32位程序代码读、3次16位数据读和两次16位数据写。C55X 根据功能的不同将CPU分为4个单元,指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)、和数据计算单元(D)。

(2)指令缓冲单元(I)

C55X的指令缓冲单元有指令缓冲队列IBQ和指令译码器组成。在每个CPU 周期内,I单元将从程序数据接收的4B程序代码放入指令缓冲队列,指令译码器从队列中取6B程序代码,根据指令的长度可对8位、16位、24位、32位和48位的变长指令进行译码,然后把译码数据送入P单元、A单元和D单元去执行。

(3)程序流程单元(P)

程序流程单元有程序地址产生电路和寄存器组凑成。程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。

程序地址产生逻辑电路的任务是产生读取空间的24位地址。一般情况下,它产生的是连续地址,如果指令要求读取非连续地址的程序代码时,程序地址产生逻辑电路能够接收来自I单元的立即数和来自D单元的寄存器值,并将产生的地址传送到PAB。

(4)地址程序单元(A)

地址程序单元包括数据地址产生电路、算术逻辑电路和寄存器组构成。数据地址产生电路能够接收来自I单元的立即数和来自A单元的寄存器产生读取数据空间的地址。对于使用间接寻址模式的指令,有P单元向DAGEN说明采用的寻址模式。

A单元包括一个16位的算术逻辑单元,它既可以接收来自I单元的立即数也可以与存储器、I/O空间、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信。

(5)数据计算单元(D)

数据计算单元由移位器、算数逻辑电路、乘法累加器和寄存器组构成。D单元包含了CPU的主要运算部件。D单元移位器能够接收来自I单元的立即数,能够与存储器、I/O单元、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信,此外,还可以向D单元的ALU和A单元的ALU提供移位后的数据。

三、软件程序

MEMORY

{

PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */

PRAM: origin = 7600h, length = 8000h /* Internal Program RAM */

PAGE 1: SCRATCH: origin = 0060h, length = 0020h /* Scratch Pad Data RAM */

DMARAM: origin = 0C00h, length = 0300h /* DMA buffer */

DATA: origin = 1100h, length = 0080h /* Internal Data RAM */

STACK: origin = 1180h, length = 0560h /* Stack Memory Space */

INRAM: origin = 1900h, length = 0100h /* Internal Data RAM */

HPRAM0: origin = 1A00h, length = 0002h /* HPI memory accessible by Host and DSP */

HPRAM1: origin = 1A02h, length = 0280h /* HPI memory accessible by Host and DSP */

HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and DSP */

EXRAM: origin = 1F10h, length = 9000h /* External Data RAM */

}

SECTIONS

{

.cinit > PRAM PAGE 0

.text > PRAM PAGE 0

.vectors > VECS PAGE 0

init_var > PRAM PAGE 0

detect > PRAM PAGE 0

vrcprg > PRAM PAGE 0

matprg > PRAM PAGE 0

.stack > STACK PAGE 1

.trap > SCRATCH PAGE 1

.const > EXRAM PAGE 1

.data > EXRAM PAGE 1

.bss > EXRAM PAGE 1

.cio > EXRAM PAGE 1

.switch > EXRAM PAGE 1

tables > EXRAM PAGE 1

var > EXRAM PAGE 1

svctab > EXRAM PAGE 1 /* SS_V LSP table */

vctab > EXRAM PAGE 1 /* V LSP table */

uvctab > EXRAM PAGE 1 /* UV LSP table */

cuvtab > EXRAM PAGE 1 /* Stochastic codebook */

cdbktab > EXRAM PAGE 1 /* various codebook tables*/

logtab > EXRAM PAGE 1 /* table for log2 */

powtab > EXRAM PAGE 1 /* table for pow2 */

hamtab > EXRAM PAGE 1 /* table for hamming */

lgwtab > EXRAM PAGE 1 /* table for lag window */

acostab > EXRAM PAGE 1 /* table for arccos */

sqrtab > EXRAM PAGE 1 /* table for square root */

acbtab > EXRAM PAGE 1 /* table for thresholds in acb */ pm03tab > EXRAM PAGE 1 /* table for x^(-0.3) computation */ costab > EXRAM PAGE 1 /* table for cosine */

V23 > INRAM PAGE 1

FSK > INRAM PAGE 1

hpibuff0 > HPRAM0 PAGE 1

hpibuff1 > HPRAM1 PAGE 1

hpibuff2 > HPRAM2 PAGE 1

dma_buff > DMARAM PAGE 1

}

/*主程序设计*/

/*语音采集及回放程序*/

/*用U律进行扩展及解压*/

/*采用AD50进行A/D,D/A转换 */

/*灯循环闪烁程序开始*/

/*L0:录音*/

/*L1:放音*/

#include /* 头文件*/

#include

#include

#include

/* 宏定义 */

#define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */

#define QUANT_MASK (0xf) /* Quantization field mask. */

#define NSEGS (8) /* Number of A-law segments. */

#define SEG_SHIFT (4) /* Left shift for segment number. */

#define SEG_MASK (0x70) /* Segment field mask. */

/* 函数声明 */ void delay(s16 period);

void led(s16 cnt);

void initcodec(void);

void flashenable(void);

unsigned char data2alaw(s16 pcm_val);

int alaw2data(unsigned char a_val);

static int search(int val,short *table,int size);

/* 全局变量 */ HANDLE hHandset;

s16 data;

s16 data1;

u16 i=0;

u16 temp1;

u16 j=0;

u16 k,l=0;

u8 temp2;

u16 buffer[20000];

static short seg_end[8]={0x1F,0x3F,0x7F,0xFF,0x1FF,0x3FF,0x7FF,0xFFF};

/* 主函数*/

void main()

{

if (brd_init(100))

return;

led(2); //闪灯两次

initcodec(); //初始化codec

flashenable(); //选择片外FLASH为片外存储器

/*

delay(100);

brd_led_toggle(BRD_LED0);

for(i=0x9000;i<0xefff;i++)

{

REG_WRITE(i,*(volatile u16*)DRR1_ADDR(HANDSET_CODEC));

delay(20);

}

brd_led_toggle(BRD_LED1);

delay(200);

for(i=0x9000;i<0xefff;i++)

{

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=REG_READ(i);

delay(20);

}

brd_led_toggle(BRD_LED2);

*/

while (1)

{

while (!MCBSP_RRDY(HANDSET_CODEC)) {}; //等待接收handset处的采样

brd_led_toggle(BRD_LED0);

data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); //从handset处读取

采样

temp1=data2alaw(data); //对采样进行U律扩展

/* 把低地址数据放在高八位高地址数据放在低八位 */

i=i+1;

if(i%2==1)

{

buffer[j]=(temp1<<=8);

/*奇数数据左移8位temp1=abcdefgh00000000

buffer[j]=temp1*/

}

else

{

buffer[j]=(buffer[j]|temp1);

/*偶数数据与temp1取或组成新的数据

buffer[j]=abcdefghiabcdefghi*/

j++; //j加1

}

if(i>=40000)

{

i=0;

}

if(j>=20000)

{

j=0;

brd_led_disable(BRD_LED0);

brd_led_toggle(BRD_LED1);

//点亮二极管1 表示放音开始/* 放音部分*/ for(k=0;k<40000;k++)

{

if(k%2==0)

{

temp2=(buffer[l]>>8)&0x0ff;

}

else

{

temp2=buffer[l]&0x0ff;

l++;

}

if(l>=20000)

l=0;

data1=alaw2data(temp2); // U律解压

while (!MCBSP_XRDY(HANDSET_CODEC)) {};

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data1;//将

数据写入D/A转换器

}

/* 放音结束 */

brd_led_toggle(BRD_LED0);

brd_led_toggle(BRD_LED1);

}

}

} //主程序结束

/* 子函数 */

/*******延时******/

void delay(s16 period)

{

int i, j;

for(i=0; i

{

for(j=0; j>1; j++);

}

}

/*******闪灯******/

void led(s16 cnt)

{

while ( cnt-- )

{

brd_led_toggle(BRD_LED0); //切换LED指示灯0的显示状态

delay(1000);

brd_led_toggle(BRD_LED1);

delay(1000);

brd_led_toggle(BRD_LED2);

delay(1000);

}

}

/*****初始化codec**/

void initcodec(void)

{

/* Open Handset Codec获取设置codec的句柄*/

hHandset = codec_open(HANDSET_CODEC); / Acquire handle to codec

/* Set codec parameters */

codec_dac_mode(hHandset, CODEC_DAC_15BIT); // DAC in 15-bit mode

codec_adc_mode(hHandset, CODEC_ADC_15BIT); // ADC in 15-bit mode

codec_ain_gain(hHandset, CODEC_AIN_6dB); // 6dB gain on analog input to ADC

codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB);

// -6dB gain on analog output from DAC

codec_sample_rate(hHandset,SR_8000); // 8KHz sampling rate

}

/*****设置flash****/

void flashenable(void)

{

CPLD_CTRL2_REG|=0x0010;

CPLD_DMCTRL_REG|=0x0040;

}

/*****U律扩展******/

unsigned char data2alaw(s16 pcm_val)

{

int mask;

int seg;

unsigned char aval;

if (pcm_val >= 0)

{

mask = 0xD5; // 标记 (7th) bit = 1 }

else

{

mask = 0x55; // 标记 bit = 0

pcm_val = -pcm_val;

}

seg = search(pcm_val, seg_end, 8);

if (seg >= 8) // out of range, 返回最大数.

return (0x7F ^ mask);

else

{

aval = seg << SEG_SHIFT;

if (seg < 2)

aval |= (pcm_val >> 1) & QUANT_MASK;

else

aval |= (pcm_val >>seg) & QUANT_MASK;

return (aval ^ mask);

}

}

/****alaw的子程序**/

static int search(int val,short *table,int size)

{

int i;

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

{

if (val <= *table++)

return (i);

}

return (size);

}

/*****U律解压******/

int alaw2data(unsigned char a_val)

{

int t;

int seg;

a_val ^= 0x55;

t = (a_val & QUANT_MASK) << 4;

seg = ((unsigned)a_val & SEG_MASK) >> SEG_SHIFT;

if(seg==0)

{

t += 8;

t=(t>>3);

}

if((seg<4)&&(seg>0))

{

t +=0x108;

t=(t>>(4-seg));

}

if(seg>3)

{

t+=0x108;

t=(t<<=(seg-4));

}

return ((a_val & SIGN_BIT) ? t : -t);

}

/* 结束 */

四、实现过程

https://www.wendangku.net/doc/611134880.html,S环境简介

CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。CCS有两种工作模式,即软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

CCS的开发系统主要由以下组件构成:

(1)TMS320C54x集成代码产生工具;

(2)CCS集成开发环境;

(3)DSP/BIOS实时内核插件及其应用程序接口API;

(4)实时数据交换的RTDX插件以及相应的程序接口API;

(5)由TI公司以外的第三方提供的各种应用模块插件。

https://www.wendangku.net/doc/611134880.html,S配置

击桌面图标的“setup CCStudio v3.1”图标,运行CCS设置程序,如图所示:点击Add→Save&quit完成设置。

图1 用标准配置文件设置系统配置

https://www.wendangku.net/doc/611134880.html,S开发应用程序

在CCS集成环境下开发汇编程序或者C/C++程序,首先要建立一个工程项目文件(*.pjt),再向工程项目文件中添加汇编程序源文件(*.asm),C/C++源文件(*.c)和链接命令文件(*.cmd),并设置工程项目选项。使用CCS开发应用程序的一般步骤如下:

(1)创建或打开一个工程项目文件(*.pjt),编辑各类文件,可以使用CCS提供的集成编辑环境,对链接命令文件和源程序进行编辑。

(2)对工程项目进行编译。在编译过程中如果出现语法错误,将在编译链接信息视窗(build)窗口中显示错误信息,用户可以根据显示的信息找到错误的位置,更改错误。

(3)对结果和数据进行分析和算法评估。用户可以利用CCS提供的探测点.图形显示和性能评价等工具,对运行结果及输出数据进行分析,评估算法的可能性。

4. 建立工程文件

建立工程文件:单击Project→New命令,系统将弹出如图所示的对话框,在该对话框中输入项目文件名,如fir单击“完成”系统就会创建一个名为fir.pjt 的工程项目文件如图所示。

图2 创建新的工程项目文件对话框

5. 创建新文件

选择File→New可打开一个新的编辑窗口。在新窗口中输入源代码。选择File→Save,在出现的对话框中输入一个文件名,并选择一个扩展名(C源代码选择*.c,汇编源代码选择*.asm),然后单击保存将源程序保存。

6. 向工程项目中添加文件

添加文件:单击Project→Add File to Project命令然后会弹出如图3所示的对话框,单击打开完成对文件的添加。

图3 向工程项目中添加文件对话框

7. 对程序进行编译链接并装载.out文件

(1)对程序进行编译:执行Project→Compile命令就可以对当前的汇编程序进行编译生成.obj文件。如果程序存在语法错误,那么就会在下面的编译链接信息框中显示错误信息。

(2)对程序进行编译链接执行:Project→Build命令,就可以对当前的项目文件同时进行编译,汇编和链接操作,并生成与工程项目名称相同的可执行的.out文件。如果有错误信息,则会在“编译链接”信息框中显示。也可以执行Project下的build All命令,所有项目中的文件重新编译,汇编和链接,生成.out文件。(3)单击主菜单“File”中“Load Program”选项,在对话框中,在CCS安装目录下,找到构建该工程的Debug目录,选择构建生成后的.out文件,并打开CCS装载完毕后,该“*.out”文件到目标dsp之后,会自动弹出“Disassembly”窗口如图所示。

图CCS调试程序时出现的视窗加工程界面

五、仿真结果分析

1.观察数据结果

View——watch window

输入buffer,显示此数组的值,如图所示。

图1watch window中的值图

2.观察数据图形

View——Graph——Time Frequency

可以加入断点,然后按Animate 动态显示。

分别观察语音输入(存放在变量data中)波形,扩展后波形(temp1),解压后输出波形(data1),图形分别为图2,图3,图4。

图2输入波形(data)图

滤波器语音信号去噪讲解

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

信号系统处理 语音信号滤波处理

数字信号处理实验报告 实验名称:基于MATLAB对语音信号 进行分析及滤波处理 院系:物联网工程学院 班级:电子信息工程1101 姓名:

一、实验目的 综合计算运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。 二、实验要求 1.分析原始语音信号的时域特性和频谱特性。 2.设计一个IIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 3.设计一个FIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 三、实验原理 1.采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。 采样频率越高,即采样的时间间隔越短,对声音波形的表示越精确。 2.时域信号的FFT分析:信号的频谱分析就是计算机信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。 3.IIR数字滤波器设计原理利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式

语音信号的处理与滤波

广西工学院 数字信号处理课程设计设计题目:语音信号的处理与滤波 系别: 学号: 姓名: 班级: 指导教师: 完成日期:

目录 1. 摘要 (3) 2.MATLAB简介 (3) 3.设计目的 (4) 4.设计内容 (4) 5.设计原理 (4) 6.设计步骤 (5) 7.总结与分析 (10) 8.参考资料 (10)

摘要 本课题分析了数字信号处理课程的重要性及特点,可以帮助理解与掌握课程中的基本概念、基本原理、基本分析方法;并利用MATLAB对语音信号进行分析和处理,要求采集语音信号后,在MATLAB软件平台进行频谱分析。用设计的数字滤波器对语音信号进行了滤波 MATLAB简介 MATLAB 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: ?数学和计算 ?算法开发 ?建模,模拟和原形化 ?数据分析,探索和可视化 ?科学与工程制图 ?应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。 . 名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLA B使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。 MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。 MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程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的工作空间。

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论 (3) 1.1课题背景及意义 (3) 1.2国内外研究现状 (3) 1.3本课题的研究内容和方法 (4) 1.3.1 研究内容 (4) 1.3.2 开发环境 (4) 2 语音信号处理的总体方案 (4) 2.1 系统基本概述 (4) 2.2 系统基本要求与目的 (4) 2.3 系统框架及实现 (5) 2.3.1 语音信号的采样 (5) 2.3.2 语音信号的频谱分析 (5) 2.3.3 音乐信号的抽取 (5) 2.3.4 音乐信号的AM调制 (5) 2.3.5 AM调制音乐信号的同步解调 (5) 2.4系统设计流程图 (6) 3 语音信号处理基本知识 (6) 3.1语音的录入与打开 (6)

3.2采样位数和采样频率 (6) 3.3时域信号的FFT分析 (7) 3.4切比雪夫滤波器 (7) 3.5数字滤波器设计原理 (8) 4 语音信号实例处理设计 (8) 4.1语音信号的采集 (8) 4.3.1高频调制与低频调制 (10) 4.3.2切比雪夫滤波 (11) 4.3.3 FIR滤波 (11) 5 总结 (12) 参考文献 (13) 语音信号的处理与分析 【摘要】语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。 本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。 最后,本文对语音信号处理的进一步发展方向提出了自己的看法。 【关键词】Matlab 语音信号傅里叶变换低通滤波器

基于MATLAB的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

根据MATLAB的加噪语音信号的滤波

《计算机仿真技术》 基于MATLAB的加噪语音信号的滤波学生姓名: 专业:电子信息工程 班级: 学号: 指导教师: 完成时间:2017年12月

一.滤波器的简述 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。 在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。 数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。二.设计要求 1.在matlab平台上录制一段语音信号; 2.完成语音信号的谱分析; 3.对语音信号进行加噪以及加噪后信号的谱分析; 4.选择合适的滤波器进行滤波,确定相关指标; 5.实现滤波过程,显示滤波后的结果,并进行谱分析。 三.实验内容与步骤 1、语音信号的录入

通信中的语音信号处理复习大纲

《通信中的语音信号处理》复习大纲 北科大版 1、了解语音信号处理的目的、实质和发展历史; 实质:是研究用数字信号处理技术对语音信号进行处理的一门学科 目的:通过处理得到一些反映语音信号重要特征的语音参数以便高效地传输或储存语音信号所包含的信息。 通过对语音信号进行某种运算以达到某种要求。 发展历史:1876年电话的发明,贝尔(Bell); 1939年声码器的研制成功—声源+声道; 1947年贝尔实验室发明语谱图仪—语音识别研究的开始; 50年代第一台口授打字机和英语单词语音识别器; 60年代出现了第一台以数字计算机为基础的孤立词语音识别器和有限连续语音识别器; 70年代动态规划技术、隐马尔可夫模型、线性预测技术和矢量量化码书生成方法用于语音编码和识别; 80、90年代语音处理技术产品化—IBM Tangora-5和Tangora-20英语听写机,Dragon Dictate 词汇翻译系统(70000),汉语听写机。 CMU语音组研制成功SPHINX系统(997,95.8%); 国内,清华大学、中科院声学所和中科院自动化所在汉语听写机研究方面有一定成果。 (除了属于这种LPC[线性预测分析法]的方法外,还开发了各种数字语音处理方法。到目前为止,相继实现了语音编码、语音分析、语音合成、语音修正、语音识别、说话者识别等各种具体应用系统。) 2、理解和掌握语音信号的表示和处理方法,常用的语音编码的采样率和相应的数字语音信号的速率; 1.语音表示方法的选择:要保存语音信号中的消息内容;表示形式要便于传输和存储、变换和处理,不至于严重损害消息的内容, 有用信息更易于被提取; 2. 语音信号数字表示的优点: 数字技术能完成许多很复杂的信号处理工作; 语音可以看成是音素的组合,具有离散的性质,特别适合于数字处理; 数字系统具有高可靠性、价廉、紧凑、快速等特点,很容易完成实时处理任务; 数字语音适于在强干扰信道中传输,易于和数据一起在通信网中传输,也易于进行加密传输。 3. 语音信号的数字表示方法:波形表示—采样和量化,保持波形;参数表示—激励源和模型参数(第二章) 语音信号的特点—短时平稳性 4. 处理方法:短时时域处理方法—短时能量、短时平均过零率以及短时自相关函数计算 短时频域分析—短时傅立叶分析 线性预测技术—本质上属于时域分析方法,但其结果可以是频域参数 倒谱和同态分析、矢量量化和隐马尔可夫模型 5. PCM编码:采样率:8000次/second,均匀量化:采样率12bps信号速率96kbps,非均匀量化:采样率8bps信号速率64kbps ADPCM:采样率:8khz速率:32kbps 3、理解语音信号的产生过程、发生机理和语音信号的声学特性; 产生过程:语音是说话人和听者之间相互传递的信号,传递的媒介是声波,说话人的发音器官做出发声动作,接着空气振动形成声波,声波传到听者的耳朵里,立刻引起听者的听觉反应 发生机理: 声学特性:频率:与音高有关;振幅:与响度有关。 4、理解和掌握语音信号浊音的基音频率、共振峰,及共振峰的计算方法; 浊音的基音频率(F0):由声带的尺寸、特性和声带所受张力决定,其值等于声带张开和闭合一次的时间的倒数。人类基音频率的范围在60Hz至450Hz左右。 共振峰(formant):声道是一个谐振腔,当激励的频率达到至声道的固有频率,则声道会以最大的振幅振荡,此时的频率称之为共振峰或共振峰频率。声道具有的一组共振峰,声道的频谱特性主要反映出这些共振峰的不同位置以及各个峰的频带宽度。共振峰及其带宽取决于声道某一瞬间的形状和尺寸,因而不同的语音对应于一组不同的共振峰参数。实际应用中,头三个共振峰最重要。

语音信号处理复习纲要

Ch1 绪论 §1.1 语音信号处理概述 一、语音、语音信号处理的名词解释 1、语音:是语言的声学表现,是声音和意义的结合体,是相互传递信息的重要手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 2、语音信号处理:是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及很广的交叉学科。 二、语音处理技术的应用领域 语音处理技术的应用领域包括:工业、军事、交通、医学、民用等。 三、语音信号采用数字处理的原因(数字语音的优点) 语音信号均采用数字处理,是因为数字处理与模拟处理相比具有许多优点: 1、数字技术能够完成许多很复杂的信号处理工作; 2、通过语音进行交换的信息本质上具有离散的性质,语音可以看做是音素的组合,适合数字处理; 3、数字系统具有高可靠性、廉价、快速等优点,容易完成实时处理任务; 4、数字语音适合在强干扰信道中传输,也易于加密传输。 四、语音学的名词解释 语音学:是研究言语过程的一门科学,它包括三个研究内容:发音器官在发音过程中的运动和语音的音位特性;语音的物理特性;以及听觉和语言感知。 §1.2 语音信号处理的发展概况 一、语音信号处理的发展史 1、1874年:电话的发明时现代语音通信的开端; 2、1939年:通道声码器技术; 3、40年代后期:语谱仪; 4、50年代初:第一台口授打字机和英语单词语音识别器; 5、60年代:Fant发表《语音产生的声学理论》; 6、70年代初:Flanagan著作《语音分析、合成和感知》; 7、90年代以来:语音识别的研究由实验室走向实用化。 二、语音编码、语音合成、语音识别名词解释 1、语音编码:语音编码技术是伴随着语音信号的数字化而产生的,目前主要应用在数字语音通信领域。 2、语音合成:语音合成的目的是使计算机能像人一样说话,它是一种人机语音通信技术,应用领域广泛。 3、语音识别:语音识别是使计算机判断出所说的话得内容,和语音合成一样也是一种人机语音通信技术。 为了实现人机语音通信,必须具备语音识别和语音理解两种功能 Ch2 基础知识 §2.2 语音产生的过程 一、现代语音学发展的三个分支:发音语音学、声学语音学、听觉语音学。 二、语音、清音、浊音的名词解释及语音的产生过程(名词解释、简答,集中备课) 1、语音:声音是一种波,能被人耳听到,振动频率在20Hz-20kHz之间。语音室声音的一种,它是由人的发音器官发出的、具有一定语法和意义的声音。语音的振动频率最高可达15kHz左右。 2、人类生成语音过程的第一阶段包括神经核肌肉的生理学阶段和产生语音波、传递语音波的物理阶段。 3、语音由声带振动或不经声带振动来产生,其中由声带振动产生的音统称为浊音,而不由声带振动产生的音统称为清音。浊音中包括所有的元音和一些辅音,清音包括另一部分辅音。

数字信号处理期末实验 语音信号分析与处理

山东建筑大学信电学院课程设计说明书 语音信号分析与处理 摘要 用MATLAB对语音信号进行分析与处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。 数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测和参数估计等处理。IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR 滤波器的低的多。信号处理中和频谱分析最为密切的理论基础是傅立叶变换(FT)。离散傅立叶变换(DFT)和数字滤波是数字信号处理的最基本内容。 关键词:MATLAB;语音信号;加入噪声;滤波器;滤波 1. 设计目的与要求 (1)待处理的语音信号是一个在20Hz~20kHz频段的低频信号。 (2)要求MATLAB对语音信号进行分析和处理,采集语音信号后,在MATLAB平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器进行滤除噪声,恢复原信号。 1 山东建筑大学信电学院课程设计说明书

2. 设计步骤 (1)选择一个语音信号或者自己录制一段语音文件作为分析对象; (2)对语音信号进行采样,并对语音信号进行FFT频谱分析,画出信号的时域波形图和频谱图; (3)利用MATLAB自带的随机函数产生噪声加入到语音信号中,对语音信号进行回放,对其进行FFT频谱分析; (4)设计合适滤波器,对带有噪声的语音信号进行滤波,画出滤波前后的时域波形图和频谱图,比较加噪前后的语音信号,分析发生的变化; (5)对语音信号进行回放,感觉声音变化。 3. 设计原理及内容 3.1 理论依据 (1)采样频率:采样频率(也称采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率只能用 于周期性采样的采样器,对于非周期采样的采样器没有规则限制。通俗的讲,采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位之间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。(2)采样位数:即采样值或取样值,用来衡量声音波动变化的参数。 (3)采样定理:在进行模拟/数字信号的的转换过程中,当采样频率f大于信s.max 号中,最高频率f的2倍时,即:f>=2f,则采样之后的数字信号完整的maxmaxs.max 保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的 5~10倍;采样频率又称乃奎斯特定理。 (4)时域信号的FFT分析:信号的频谱分析就是计算信号的傅立叶变换。连续信号与系统的傅立叶分析显然不便于直接用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值计算,成为用计算机分析 离2 山东建筑大学信电学院课程设计说明书 散信号和系统的的有力工具。对连续信号和系统,可以通过时域采样,应用DFT 进行近似谱分析。

:基于MATLAB的IIR滤波器的语音信号去噪.

滤波器设计在数字信号处理中占有极其重要的地位,本次课程设计主要是录制一段语音信号对其进行加噪处理,然后利用IIR低通滤波器对加有随机噪声的语音信号进行滤波处理及时频谱分析,画出滤波之后的频谱图与时域波形,并对信号滤波处理前后进行分析比较,分析信号的变化。通过对对所设计滤波器的仿真和频率特性分析,由仿真结果可以看出,所设计的滤波器能够实现对语音信号的语音有效去噪,并对滤波前后的语音信号进行对比。 关键词:去噪;滤波器;MATLAB

一语音信号去噪的设计任务................................................................................................ 错误!未定义书签。二语音信号去噪的基本原理. (3) 2.1 数字滤波器的基本设计方法 (3) 2.2 双线性变换法 (4) 2.3数字滤波器设计基本思想 (5) 2.4 数字滤波器的设计步骤 (6) 2.5采样定理 (7) 三基于MATLAB的仿真结果及结果分析 (10) 3.1 IIR高通滤波器的仿真 (10) 3.2 原始语音信号的录制 (10) 3.3 语音信号的时频域分析 (11) 3.4 加随机噪声后的时频域分析 (12) 3.5 滤波前后的时频域比较 (15) 总结 (17) 参考文献 (18) 致谢 (19) 附录 (20)

一 基本原理 1.1 数字滤波器的基本设计方法 IIR 数字滤波器的设计一般有两种方法:一个是借助模拟滤波器的设计方法进行。其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。其设计步骤是:先设计过渡模拟滤波器得到系统函数)(s H a ,然后将)(s H a 按某种方法转换成数字滤波器的系统函数)(z H [1]。为了保证转换后的)(z H 稳定且满足技术指标要求,对转换关系提出两点要求: (1)因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。 (2)数字滤波器的频率相应模仿模拟滤波器的频响特性,s 平面的虚轴映射为z 平面的单位圆,相应的频率之间呈线性关系。 利用模拟滤波器成熟的理论设计IIR 数字滤波器的过程是: (1)确定数字低通滤波器的技术指标:通带边界频率p ω、通带最大衰减p α、阻带截止频率s ω、阻带最小衰减s α。 (2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。 (3)按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器。 (4)用所选的转换方法,将模拟滤波器)(s H a 转换成数字低通滤波器系统函数)(z H 。 IIR 数字滤波器的设计流程图2-1如下: 变换 Ω Ω=g(ω ) 变换 S=f (Z ) 图2-1 IIR 数字滤波器的设计步骤流程图[1] 成熟的模拟滤波器设计方法主要有脉冲响应不变法和双线性变换法。 模拟滤波器 技术指标 数字滤波器 技术指标 模拟滤波器 设计方法 模拟滤波器 )(S Ha 数字滤波器 )(Z H

数字语音信号处理的应用价值及发展趋势

数字语音信号处理的应用价值及发展趋势 姓名:宁闯 学号: 201005107 众所周知, 语音在人类社会中起了非常重要的作用。 在现代信息社会中, 小至人们的日 常生活,大到国家大事、世界新闻、社会舆论和各种重要会议,都离不开语言和文字。近年来,普通电话、 移动电话和互联网已经普及到家庭。在这些先进的工具中, 语音信号处理中 的语音编码和语音合成就有很大贡献。再进一步,可以预料到的口呼打字机 ( 又称听写机, 它能把语音转换为文字 ) 、 语音翻译机 ( 例如输入为汉语,输出为英语, 或者相反 ) ,已经不是 梦想而是提到日程上的研究工作了。 20 世纪 60 年代中期形成的一系列数字信号处理方法和算法 , 如数字滤波器、快速傅 里叶变换 (FFT) 是语音数字信号处理的理论和技术基础。而 70

年代初期产生的线性预测编. 码 (LPC) 算法 , 为语音信号的数字处理提供了一个强有力的工具。语音信号的编码和压缩是语音信号处理的主要内容。语音信号处理在通信、 语音识别与合成、自然语言理解、多媒体 数据库以及互联网等多个领域有广泛的应用 , 同时它对于理解音频类等一般的声音媒体的 特点也有很大的帮助。对于移动通信来说 , 最多的信息是语音信号 , 语音编码的技术在数字 移动通信中具有相当关键的作用 , 高质量低速率的语音编码技术是数字移动网的永远的追 求。所谓语音编码是信源编码 , 它是将模拟语音信号变成数字信号以便在信道中传输。除了 通信带宽的要求外 , 计算机存储容量的限制也要求对语音信号进行压缩 , 以满足海量数据情 况下进行实时或准实时计算机处理的目的。 1 语音信号处理的关键技术 语音信号处理的理论基础就是一般的数字信号处理理论 , 它的主要研究内容是语音编 码和语音压缩技术。 考虑到人对听觉媒体的感应特点 , 研究语音信号处理必须与声音心理学 联系起来。因此这里我们把声音心理学也列为语音信号处理的关键技术之一。 (1) 声音心理学

含噪声的语音信号分析与处理设计讲解

课程设计任务书 学生姓名:苗强强专业班级:电信1204 指导教师:阙大顺沈维聪工作单位:信息工程学院 题目: 程控宽带放大器的设计 初始条件: 程控宽带放大器是电子电路中常用模块,在智能仪器设备及嵌入式系统中有广 泛的应用。因此对于电子信息专业的技术人员来说,熟练掌握该项技术很有必要。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体 要求) (1)输入阻抗>1KΩ,单端输入,单端输出,放大器负载电阻为600Ω; (2)3dB通频带10kHz~6MHz,在20kHz~5MHz频带内增益起伏<1dB。 (3)增益调节范围10 dB~40 dB,(通过键盘操作调节)。 (4)发挥部分:当输入频率或输出负载发生变化时,通过微处理器自动调节,保持 放大器增益不变。 (5)电路通过仿真即可。 时间安排: 1. 任务书下达,查阅资料 1天 2. 制图规范、设计说明书讲解 2天 3. 设计计算说明书的书写 5天 4. 绘制图纸 1天 5. 答辩 1天 指导教师签名:年月日 系主任(或责任教师)签名:年月日

滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB IIR滤波器 FIR滤波器

基于matlab的语音信号滤波处理——数字信号处理课程设计

数字信号处理课程设计 题目:基于matlab的语音信号滤波处理学院:物理与电子信息工程 专业:电子信息工程 班级: B07073041 学号: 200932000066 姓名:高珊 指导教师:任先平

摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录 1.设计内容 (4) 2.设计原理 (4) 2.1语音信号的时域分析 (4) 2.2语音信号的频域分析 (5) 3.设计过程 (5) 3.1实验程序源代码 (6) 3.1.1原语音信号时域、频域图 (6) 3.1.2低通滤波器的设计 (6) 3.1.3高通滤波器的设计 (7) 3.1.4带通滤波器的设计 (8) 3.1.5语音信号的回放 (9) 3.2调试结果描述 (10) 3.3所遇问题及结果分析 (15) 3.3.1所遇主要问题 (16) 3.3.2结果分析 (16) 4.体会与收获 (17) 5.参考文献 (17)

对语音信号进行分析及处理资料

一、设计目的 1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解; 2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力; 3.培养自我学习的能力和对相关课程的兴趣; 二、设计过程 1、语音信号的采集 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。 采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实 采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。 利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。 [x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。 2 、语音信号的频谱分析 (1)首先画出语音信号的时域波形; 程序段: x=x1(60001:1:120000); %截取原始信号60000个采样点

plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A'); (2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性; y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2) subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|'); ylabel('幅度谱'); subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱'); (3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解; d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声 3、设计数字滤波器 (1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率 Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。 (2)FIR 低通滤波器性能指标通带截止频率Hz f c 1000=,阻带截止频率 Hz f st 1200=, 通带衰减1δ≤1dB ,阻带衰减 2δ≥ 100dB 。 (3)IIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 30=,通带最大衰减dB A P 1=。 (4)(4)FIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 50=,通带最大衰减dB A P 1=。 (5)用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab 中,FIR 滤波器利用函数fftfilt 对信号进行滤波,IIR 滤波器利用函数filter 对信号进行滤波。比较滤波前后语音信号的波形及频谱,在一个窗口同时画出滤波前后

基于MATLAB的语音信号采集和双线性变换法滤波器设计

第一章语音信号的采集 第一节语音信号采集的介绍 MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等. 在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号: 1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。 2.调用wavrecord功能函数采集语音信号。wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder

相关文档
相关文档 最新文档