DSP课程设计基于DSP开发板的语言信号滤波处理.docx

上传人:b****7 文档编号:16280788 上传时间:2023-07-12 格式:DOCX 页数:25 大小:777.74KB
下载 相关 举报
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第1页
第1页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第2页
第2页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第3页
第3页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第4页
第4页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第5页
第5页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第6页
第6页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第7页
第7页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第8页
第8页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第9页
第9页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第10页
第10页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第11页
第11页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第12页
第12页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第13页
第13页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第14页
第14页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第15页
第15页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第16页
第16页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第17页
第17页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第18页
第18页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第19页
第19页 / 共25页
DSP课程设计基于DSP开发板的语言信号滤波处理.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP课程设计基于DSP开发板的语言信号滤波处理.docx

《DSP课程设计基于DSP开发板的语言信号滤波处理.docx》由会员分享,可在线阅读,更多相关《DSP课程设计基于DSP开发板的语言信号滤波处理.docx(25页珍藏版)》请在冰点文库上搜索。

DSP课程设计基于DSP开发板的语言信号滤波处理.docx

DSP课程设计基于DSP开发板的语言信号滤波处理

基于DSP开发板的语言信号滤波处理

课程名称:

DSP原理及应用

摘要

数字信号处理技术及其应用,目前正以惊人的速度向前发展着。

随着大规模集成电路的出现和数字部件的成本下降、体积缩小及运算速度提高,数字信号处理的应用日益广泛。

目前已制成多种专用数字滤波器,取样率可高达兆赫。

高速专用快速傅里叶变换处理机已有商品出售。

简单的数字滤波器已制成集成电路片。

目前几乎所有的语音带宽压缩系统都倾于全数字化,因为目前它是最实际可行的方法。

除了专用数字信号处理硬件有所发展之外,还出现了可编程序的数字信号处理专用计算机,这种计算机的构造特别适于解决数字信号处理问题。

它目前应用于实时信号处理以及设计、模拟专用数字硬件。

在计算量相等的情况下IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好,但是它有着致命的缺点相位特性不好控制,它的相位特性是的非线性函数。

例如双线性变换法产生的IIR滤波器模拟指标的频率与数字化指标的频率转换关系是,这是使频率产生严重的非线性的原因,这种W与w的非线性关系,使数字滤波器与模拟滤波器在响应与频率的对应关系上发生了畸变,如果需要线性相位,就必须用全通网络进行复杂的相位校正但是,在对程序运行周期数要求十分严格的DSP处理中加上一个全通均衡器是十分浪费资源的,另外即使加上全通均衡器对于因果的IIR滤波器仍将得不到线性的相位。

在现代电子系统中如图像处理数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性在这方面FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时保证精确严格的线性相位。

本文主要介绍了利用DSP来实现FIR滤波器的设计,根据FIR滤波器设计的要求,本设计以CCS为开发环境,采用模块化的设计方案来完成设计。

本文详细介绍了硬件电路和软件设计的方法,硬件方面介绍了SEED-DEC2812开发实验箱,软件设计方面包括了程序各模块的流程图和源程序代码,还详细介绍了CCS为开发环境,并详细介绍了仿真的步骤。

关键词:

MATLABDSPFIR数字滤波器

 

目录

摘要1

1.课程设计的目的要求和功能实现3

1.1目的要求3

1.2功能实现3

2.系统参数和总体设计方案3

2.1系统参数3

2.2系统总体设计方案流程图4

3.DSP及其开发环境4

3.1DSP系统的构成4

3.2 DSP系统的特点及设计过程4

3.3CCS开发环境5

4.数字滤波器的设计原理和方案对比5

4.1IIR滤波器5

4.2FIR滤波器6

4.3FIR滤波器的基本结构6

4.4总体设计步骤9

4.5利用Matlab求出系数9

5.FIR滤波器的软件设计及其调试9

5.1根据语音信号的设计参数确定滤波器的系数9

5.2汇编源程序10

5.3汇编源程序的连接命令文件11

6.FIR滤波器的检验11

6.1利用matlab导出“indata.dat”文件11

6.2FIR滤波器检验的验证过程12

7.硬件部分简介16

8.遇到问题和解决方法18

9.心得体会18

10.参考文献19

 

1.课程设计的目的要求和功能实现

1.1目的要求

通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。

通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。

学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。

通过使用Matlab设计相应的FIR低通数字滤波器,得到滤波器H(z)的系数,然后根据这些系数,编写关于DSP的汇编程序。

在CCS软件上对已采集信号进行处理,最后滤除高频信号,输出我们需要的低频语音信号。

效果本文采取比较滤波前后信号的频谱图。

1.2功能实现

1.2.1设计滤波器。

参数指标:

根据被处理对象设计滤波器设计指标。

1.2.2用汇编语言在TMSc54xx编程实现符合要求的滤波器。

1.2.3通过开发板上的语音采集模块输入待处理语音信号(简单介绍)。

1.2.4滤除语音信号中的高频噪声。

1.2.5显示滤波器的频谱。

1.2.6通过开发板上的语音模块播放处理后的语音信号(简单介绍)。

2.系统参数和总体设计方案

2.1系统参数

一个实际的应用系统中,总存在各种干扰。

数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。

在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。

设定模拟信号的采样频率为8000Hz,。

设计一个FIR低通滤波器,其参数为:

滤波器名称:

FIR低通滤波器

采样频率:

Fs=8000Hz

通带/阻带截止频率:

2000Hz~2500Hz

通带最大衰减:

0.5dB

阻带最少衰减:

50dB

滤波器级数:

N=25

滤波器系数:

由MATLAB根据前述参数求得。

2.2系统总体设计方案流程图

 

3.DSP及其开发环境

3.1DSP系统的构成

一个典型的DSP系统如图2示。

图2典型的DSP系统

图2是一个用DSP做信号处理的典型框图。

由于DSP是用来对数字信号进行处理的,所以首先必须将输入的模拟信号变换为数字信号。

3.2DSP系统的特点及设计过程 

由于数字信号处理系统是以数字信号处理理论为基础,所以具有数字信号处理的全部优点:

接口方便;编程方便;具有高速性;稳定性好;精度高;可重复性好;集成方便等等,同时也存在一定的缺点

一般来说DSP的设计过程应遵循一定的设计流程,如图3示。

图3DSP基本设计流程

3.3CCS开发环境

CCS全称是CodeComposerStudio它提供了基本的代码生成工具,具有一定的调试、分析能力,在CCS下的程序开发过程如图4示。

图4程序开发过程

CCS包括:

1、CCS代码生成工具

2、CCS集成开发环境IDE

3、DSP/BIOS插件程序和APIRTDX插件,主机接口和API等。

4.数字滤波器的设计原理和方案对比

4.1IIR滤波器

无限长冲激响应系统IIR(InfiniteImpulseResponse)中,用有理分式表示的系统函数来逼近所需要的频率响应,即其单位冲激响应h(n)是无限长的。

IIR滤波器由于吸收了模拟滤波器的结果,有大量的图表可查,可以方便、简单、有效地完成设计,效果很好,但是其相位特性不好控制,必须用全通网络进行复杂的相位较正,才能实现线性相位特性的要求。

4.2FIR滤波器

有限长冲激响应系统FIR(FiniteImpulseResponse)中,用一个有理多项式表示的系统函数去逼近所需要的频率响应,即其单位冲激响应h(n)在有限个n值处不为零。

FIR滤波器可在幅度特性随意设计的同时,保证精确、严格的线性相位特性。

这在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,是具有很大吸引力的。

而且,其单位冲激响应是有限长的,不存在不稳定的因素,并且可用因果系统来实现。

4.3FIR滤波器的基本结构

数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。

一个线性位移不变系统的输出序列y(n)和输入x(n)之间的关系,应满足常系数线性差分方程,见公式4.1,

(4.3.1)

其中,x(n)为输入序列,y(n)为输出序列,

为滤波器系数,N是滤波器的阶数。

若上式中所有的

均为零,则有FIR滤波器的差分方程为:

(4.3.2)

对上式进行Z变换得到FIR滤波器的传递函数为:

(4.3.3)

由上式可以看出,H(z)是

的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。

N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图5中(a)、(b)两种结构。

图5FIR滤波器的一般结构

通常FIR滤波器的设计方法主要有三种:

窗函数法、频率抽样法和切比雪夫等波纹逼近法。

其中窗函数法可以应用比较现成的窗函数,因而设计简单,在指标要求不高的场合使用方便灵活。

4.3.1窗函数法

窗函数法也称为傅立叶级数法。

理想的数字滤波器频率特性是无法实现的,FIR的设计就是要寻找一个可以得到的频率特性=来逼近,这相当于用一个可实现的单位脉冲响应h(n)去逼近一个理想单位脉冲响应。

可由理想频率特性通过傅氏反变换得到

一般来说,这样得到的理想单位脉冲响应序列是个无限长序列,因而是非因果的。

设有一个截止频率为的理想线性相位低通,延时为τ,其频率特性是:

得到:

这是一个以n=τ为中心偶对称的无限长非因果序列,要想用一个有限长的因果序列去逼近它,最简单的方法是截取n从0到N-1的一段来表示它,即h(n)=

;其他N:

h(n)=0。

同时,为了保证线性相位,还要满足偶对称h(n)=h(N-1-n)。

这就好像通过一个窗口观看到的一段

,因此h(n)就表示成

和一个窗口函数的乘积,这样对h(n)的求解就变为h(n)=

*

,这里的

就称为窗口函数,既然一个频域上的标准的矩形窗口对应于时域是一个无限长的序列,那么在时域上截取一段势必造成频域的矩形窗口的失真。

结果就是截取出的信号也相应失真,为了补偿这种失真,只有改变原来窗口的形状,修正经过时域截取后的窗口失真。

窗函数设计方法的基本步骤是:

(1)把

展成FS,得

(2)对

自然截短到所需的长度,如2M+1;

(3)将截短后的

右移M个采样间隔,得h(n);

(4)将h(n)乘以合适的窗口,即得所要滤波器的冲击响应,窗函数以n=M对称。

利用所求得的单位抽样响应,即可用硬件构成滤波器的转移函数H(z),也可利用h(n)在计算机上用软件来实现滤波。

4.3.2频率抽样法 

窗函数法是从时域出发,用窗函数截取理想的

得到h(n),以此有限长的h(n)近似

,这样得到的频率响应

逼近于理想的频响

频率抽样法是从频率出发,将给定的理想频响

加以等间隔抽样。

 

然后以此

作为FIR滤波器的频率响应抽样值H(k),再根据DFT(离散付氏变换)定义由频域这N个抽样值来唯一确定一个有限长序列h(n),同样也可以算出FIR滤波器的系统函数H(z)及频率响应

,可以推出频率响应

是频率抽样值H(k)与线性相位因子

及如下内插函数S(ω,k)的线性组合。

 

 

所以,在各频率取样点上,实际滤波器的频响是严格地和所要求的滤波器的频响一致的,逼近误差为零,但在抽样点之间的频响是各取样点的内插函数的延伸叠加而成,有一定的逼近误差,误差大小取决于频率响应曲线的圆滑程度和抽样点的密度为了减少误差就要增加抽样点数目即增大采样频率,抽样点之间的理想频率特性变化越陡,则逼近误差越大,在理想频率特性的不连续点附近会产生肩峰和纹波。

频率抽样法的优点是可以直接在频域设计,适于利用最优化方法,而且这种方法特别适用于窄带选频滤波器,但频率抽样法的抽样频率只能是2π/N的整数倍或2π/N的整数倍加上π/N不能保证截止频率ωc的准确取值,要实现精确的ωc就必须取N大,相应的计算量也大。

此外,它的阻带最大衰减一般,也只有30-50dB左右,很难满足频域特性要求较高的场合。

 

4.3.3Chebyshev逼近法

窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义上对所给理想频率特性

的逼近。

由数值逼近理论可知,对某个函数f(x)的逼近一般有以下三种方法:

插值法(InterpolatingWay)

最小平方逼近法(LeastSquareApproachingWay)

一致逼近法(ConsistentApproachingWay)

切比雪夫最佳一致逼近的基本思想是,对于给定区间[a,b]上的连续函数

,在所有n次多项式的集合

中,寻找一个多项式p(x),使它在[a,b]上对

的偏差和其它一切属于

的多项式p(x)对f(x)的偏差相比是最小的,即

切比雪夫逼近理论,这样的多项式是存在的,且是唯一的,并指出了构造这种最佳一致逼近多项式的方法,就是有名的“交错点组定理”。

切比雪夫逼近理论解决了p(x)的存在性、唯一性和如何构造等问题。

J.H.McClellan、T.W.Parks、L.R.Rabiner等人应用切比雪夫逼近理论提出了一种设计FIR滤波器的计算机辅助算法。

这种算法由于是在一致意义上对

作最佳逼近,因而获得了较好的通带和阻带性能,并能准确地指定通带和阻带的边缘。

但它的效率依赖于初始极值频率点的估计,且通带和阻带内波纹数较多,这是Chebyshev方法的两个主要缺点。

4.4总体设计步骤

1、利用MATLAB来确定FIR滤波器的参数;

2、启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程再编译并装载程序;

3、设置波形时域观察窗口,得到滤波前后的波形变化图;

4、设置频域观察窗口,得到滤波前后的频谱变化图。

4.5利用Matlab求出系数

在matlab的CommandWindow输入以下语句:

c=fir1(25,0.5)

按回车键后即可出现系数

5.FIR滤波器的软件设计及其调试

5.1根据语音信号的设计参数确定滤波器的系数

利用MATLAB求得的系数为

c=

Columns1through9

0.0014-0.0018-0.00290.00480.0078-0.0119-0.01770.02560.0368

Columns10through18

-0.0536-0.08210.14520.44840.44840.1452-0.0821-0.05360.0368

Columns19through26

0.0256-0.0177-0.01190.00780.0048-0.0029-0.00180.00144

5.2汇编源程序

采用循环缓冲区实现FIR滤波器的源程序如下:

.title"FIR.ASM"

.mmregs

.defstart

.bssyn,1

xn.usect"xn",25

hn.usect"hn",25

indata.usect"indata",1024

outdata.usect"outdata",1024

.data

fir_coff:

.word14*32768/10000,-18*32768/10000

.word-29*32768/10000,48*32768/10000

.word78*32768/10000,-119*32768/10000

.word-177*32768/10000,256*32768/10000

.word368*32768/10000,-536*32768/10000

.word-821*32768/10000,1452*32768/10000

.word4484*32768/10000,4484*32768/10000

.word1452*32768/10000,-821*32768/10000

.word-536*32768/10000,368*32768/10000

.word256*32768/10000,-177*32768/10000

.word-119*32768/10000,78*32768/10000

.word48*32768/10000,-29*32768/10000

.word-18*32768/10000,14*32768/10000

.text

start:

ssbxfrct;使用小数运算

stm#hn,ar1;系数首地址

rpt#39;将系数移入循

mvpdfir_coff,*ar1+;环缓冲区

stm#-1,ar0

stm#outdata,ar5

stm#indata,ar4

stm#xn+39,ar2

rpt#39;将输入数据移入

mvdd*ar4+,*ar2+0%;循环缓冲区

stm#xn+39,ar2;指向第一个输入

stm#hn+39,ar3

stm#40,bk;缓冲区大小40

stm#1024,brc;块重复1024次

stm#-1,ar0

rptbloop-1;块程序重复大小

rptza,#39;计算一个输出

mac*ar2+0%,*ar3+0%,a

stha,*(yn);保存输出

mvkd*(yn),*ar5+

mvdd*ar4+,*ar2+0%;读进一个输入

loop:

nop

bloop

.end

5.3汇编源程序的连接命令文件

在TMS320VC5402DSP的硬件系统中,用户可使用的程序存储空间:

片内0080H~3FFFH,片外48000H~4FFFFH;用户可使用的数据存储空间:

片内0080H~3FFFFH,片外4000H~7FFFH。

基于TMS320VC5402的资源配置,FIR滤波器源程序的连接命令文件如下:

MEMORY

{PAGE0:

PARAM:

org=1000hlen=1000h

PAGE1:

SPRAMorg=2060hlen=0020h

DARAM:

org=2080hlen=9f380h

}

SECTIONS

{

.text:

>PARAMPAGE0

.data:

>PARAMPAGE0

.bss:

>SPRAMPAGE1

xn:

align(64){}>DARAMPAGE1

hn:

align(64){}>DARAMPAGE1

indata:

>DARAMPAGE1

outdata:

>DARAMPAGE1

}

6.FIR滤波器的检验

6.1利用matlab导出“indata.dat”文件

在matlab中输入下面的程序便可以导出“indata.dat”文件:

f12=1000;%/Hz

f13=16000;%/Hz

fs=40000;%/采样Hz

N=1000;%数据个数

T=1/fs;%采样周期

n=0:

N;

x12=0.7*sin(2*pi*f12*n*T);

x13=0.5*sin(2*pi*f13*n*T);

x_base=(x12+x13);

%待滤波信号波形

figure

(1)

plot(x_base)

%待滤波信号频谱

figure

(2)

yff=abs(fft(x_base))

df=n*(fs/N)

plot(df,yff)

xout=x_base/max(x_base);%归一化

xto_ccs=round(32767*xout)

fid=fopen('input.dat','w');%打开文件

fprintf(fid,'16511000\n');%输出文件头

fprintf(fid,'%d\n',xto_ccs);%输出

fclose(fid);

6.2FIR滤波器检验的验证过程

1)进入CCS,编译原文件,生成*.out文件

2)选择File→LoadProgram→打开D\lab\Debug\fir.out

3)选择File→Data→Load,在弹出的对话框中选择本实验文件夹下的indata.dat文件并打开,在弹出的对话框中输入起始地址indata和长度1024

4)输入完后点击OK,然后选择Debug→Run

5)选择View→Graph→Time/Frequency,通过设置GraphPropertyDialog可以查看输入与输出的时域与频域波形,设置的参数和波形截图如下所示:

滤波前的语音信号的时域GraphPropertyDialog设置及时域波形图分别如图6、7所示:

图6滤波前语音信号的时域GraphPropertyDialog设置参数图

图7滤波前语音信号的时域波形图

滤波前的语音信号的频域GraphPropertyDialog设置及频域波形图分别如图8、9所示:

图8滤波前语音信号的频域GraphPropertyDialog设置参数图

图9滤波前语音信号的频域波形图

滤波后的语音信号的时域GraphPropertyDialog设置及时域波形图分别如图10、11所示:

图10滤波后语音信号的时域GraphPropertyDialog设置参数图

图11滤波后语音信号的时域波形图

滤波后的语音信号的频域GraphPropertyDialog设置及频域波形图分别如图12、13所示:

图12滤波后语音信号的频域GraphPropertyDialog设置参数图

图13滤波后语音信号的频域波形图

结论:

比较滤波前和滤波后的语音信号的频域的波形图可以明显看到高频的噪声已经被滤除掉了,证明本组设计的数字FIR滤波器是合理的,它能对所采集的语音信号进行高效滤波,得到稳定的语音信号,滤波效果良好。

7.硬件部分简介

DSP的开发系统包括硬件和软件两个方面。

其中硬件包括一套DSK开发板和仿真器。

DSP的开发主要是围绕着这两方面进行的。

7.1DSK简介

DSK的全称是DSPStarterKit,即DSP初学者套件。

DSK为用户提供了一个开发DSP的方便的平台。

由于DSK板上提供了基本的硬件支持,结合适当的软件开发工具,简化了开发工作,缩短了开发周期,在DSK板上主要包括如下资源:

100MHzVC5402DSP芯片

64K字外部扩展的SRAM64K*16

256K字的FLASH存储器256K*16

7.2仿真器

仿真器JTAG测试总线控制器SN74ACT8990JTAGTBC及与主机相连接的并行接口模/数转换器TITLC320AD50A/Dconverter两个

电话接口(DAA)

麦克风/扬声器接口

并行口

RS-232串行口

扩展子板接口

LED*4其中三个可供程序运行时点亮提示 

DSK板上提供的丰富的硬件资源,使得开发过程中硬件方面可以节省大量的工作。

DSK板上提供了一个八位跳线开关,可以通过它申请外部中断,实现不同的功能。

另外,板上还提供了诸如14针的外部JTAG接头,10针的CPLD的JTAG接头,25针的符合IEEE-1284的为JTAG/HPI接入提供的并口等外部接口,通过JTAG接头可以与计算机内运行的CCSCodeComposerStudio进行实时数据交换RTDX提高编程调试的效率通过JTAG接头与主机进行实时数据交换的过程可见图14示。

 

图14实时数据交换的过程

JTAG接口符合IEEE1149.1标准边界扫描逻辑测试技术规范,这一技术规范是8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2