文档库 最新最全的文档下载
当前位置:文档库 › DSP课程设计报告

DSP课程设计报告

DSP课程设计报告
DSP课程设计报告

应用课程设计DSP

DSP应用课程设计

电子信息工程学院

目录

一、开题报告 (3)

二、设计任务 (5)

三、设计内容 (6)

四、设计方案 (7)

五、报告正文 (15)

六、实验感想 (26)

七、参考文献 (28)

一、开题报告

实验任务:

设想在一个固定环境中的噪声具有特定变化规律或在某一固定区域波动,故可利用以DSP为核心的电路对固定区域的噪声信息进行采集,并且利用基于DSP的相应算法产生自适应的滤波器,滤掉相关的环境噪声信息。

预期结果:

先播放一段噪声,模拟环境噪声,用DSP尽行噪声采集,后播放一段音乐与噪声的混合声音,通过DSP进行滤波,使得输出端输出音乐信号,没有环境噪声。

实现方案:

我们经过查阅资料,我们打算采用LMS算法,即最小均方误差算法设计的自适应滤波器进行未知系统识别,以将噪声信号滤除。该自适应滤波器是FIR 横向滤波器,可以根据输出自动修改滤波器的权系数。算法的实现将基于TMS320C5402DSP芯片和CCS系统的C语言编程。

二、设计任务

1.命题背景:

在打电话的过程中,常常能听见自己说话的声音在话筒里重复,实际上就是自己的声音泄露到了接收系统中。在一些特定的系统中出现这种现象将会对信号的正常收发产生不利影响。因此,回声在上述系统中会严重影响了通话的清晰度,多点回声甚至会引起通讯网间声音的振荡。

随着通信技术的迅猛发展,VoIP、手持移动终端和远程会议系统等免提语音系统的应用越来越广泛。在免提系统中,扬声器和麦克风之间祸合非常强烈,由祸合产生的回声最终会导致系统工作不稳定(例如会引起啸叫)。几乎所有的谈话都是在存在回声的情况下进行的。是杳可以察觉或者可以区分,取决于所涉及的时延。如果语音与其回声之间的时延较短,回声是察觉不到的,此时,可以理解为频谱失真的一种形式。反之,如果语音与其回声的时延较长,超过几十毫秒,回声就可以被单独察觉。通信环境下不可避免地受到声音回声的干扰,一般分为电路回声和声学回声两种。

2.回声的产生原理:

根据回声的产生原因,将回声分为两类:电路回声和声学回声。下面将分别详细描述这两类回声的产生原因和特点:

电学回声:决定电学回声影响程度的参数之一是混合电路的损耗,也就是说有多少发射信号被发射回来。一般情况下,损耗至少为6dB。参数之二是信道延迟,如果信道延迟超过十几毫秒(一般是长途电话或者卫星电话),那么就会对讲话者产生很大千扰。

声学回声:声学回声一般产生于免提通信系统中,是受声波传播影响的回声产生方式,一般情况下可以分为两种情况:直接回声和间接回声。

图2.电学回声产生原理

直接回声是指扬声器播放出来的声音未经任何反射沿路径直接进入麦克风被拾回,这种回声延迟时间最短,且与远端说话者的语音能量、扬声器与话筒之间的距离、角度、扬声器的播放音量及话筒的拾取灵敏度等因素有关。

间接回声是指扬声器播放的声音经不同的路径一次或多次反射后进入麦克风所产生的回声集合,这种回声的特征是延迟时间长,延迟抖动大,回声音量受环境影响大。

图1.声学回声产生原理

在任何一个通讯网络中,至少包括两个节点。从每一个节点看来,每个呼叫都包括两个语音路径:

发送路径——本地拾取声音,远端回放声音。也就是说从呼叫方的嘴巴传送到接收方的耳朵中。

接收路径——远端拾取声音,本地回放声音。也就是接收方在接收到会话时创建接受路径,发送方的声音由接收方的耳朵接听到。

我们知道,回声是由于自己的发言声音泄漏到自己的接收回路中。一般来说从发送端泄漏到接收端而引起的回声现象,可以有两个产生途径:线路回声——通讯回路中节点设备对发送/接收信号的耦合所产生的回声。

声回声——通过空气作为传播媒介,由Speaker直接耦合到MIC所产生的回声影响。

3.设计任务:

对输入的语音信号产生对应的回波(设置时间的延迟,使之为回波),使说话者能听到自己的说话声还有多重回声,类似于山谷中大声说话的效果。然后编写自适应滤波算法程序,或调用DSPLIB中的dlms自适应滤波函数对产生的回波进行滤除,使说话者只听到自己同步的语音,而没有回声。

自适应滤波不仅能够选择信号,而且能够控制信号的特性。自适应滤波器具有跟踪信号和噪声变化的能力,它的系数能够被一种自适应算法所修改。利用DSP 可以实时地对信号进行自适应滤波。DSP利用直接存储器访问方式DMA采集数据时不打扰CPU,因此CPU可以对信号进行实时地滤波。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波,完成对电话线路中较为严重的回波进行抵消,实现电话线路中通话清晰。

通过将过去的信号衰减加到现在的信号上,以产生回波,然后通过采用LMS 算法设计一个自适应滤波器,将回波滤去,比较滤波前和滤波后信号的差异来衡量自适应滤波器的性能。

对输入的语音信号产生对应的回波(设置时间的延迟,使之为回波),使说话者能听到自己的说话声还有多重回声,然后编写自适应滤波算法程序,或调用DSPLIB中的dlms自适应滤波函数对产生的回波进行滤除,使说话者只听到自己同步的语音,而没有回声。

1.LMS算法:

最小均方(LMS,least-mean-square)算法,是由Widrow和Hof在1960年创建的,直到现在它还是应用最广泛的自适应滤波算法.LMS算法是随机梯度算法族中的一员。该算法在随机输入维纳滤波器递推计算中使用确定性梯度。LMS算法的一个显著特点就是它的简单性。此外,它不需要计算有关的相关函数,也不需要矩阵求逆运算。事实上,正是因为LMS算法的简单性,使得它成为其他自适应滤波算法的参照标准。

这两个过程一起工作组成一个反馈环,如图3所示。首先有一个横向滤波器(围绕它构造LMS算法);该部件的作用在于完成滤波过程。其次,有一个对横向滤波器抽头权值进行自适应控制过程的算法。横向滤波器各部分的细节如图4所示。抽头输入u(k),u(k-1),……,u(k-M+1)为MX1抽头输入向量a(k)元素,其中M+1是延迟单元的个数;这些输入张成一个多维空间。相应的ho(k),hi(k),...,hm-1(k)为Mxl抽头权向量h(k)的元素。通过LMS算法计算这个向量所得的值表示一个估计,当迭代次数趋于无穷时,该估计的期望值可能接近维纳最优解在滤波过程中,期望响应d(k)与抽头输入向量z(k)一道参与处理。在这种情况下,给定一个输入,横向滤波器产生一个输入,横向滤波器产生一个输出y(k)作为期望响应d(k)的估计。因此,我们可把估计误差e(k)定义为期望响应与实际滤波器输出之差,如图4所示。估计误差e(k)与抽头输入向量z(k)都被加到自适应部分,因此围绕抽头权值的反馈环是闭环的。

图3.自通应横向滩波器框圈

图4.横向渡波器结构框图

2.回声消除器的基本原理:

声学回声消除的功能原理框图如图5所示:

图5.回声消除器原理框图

回声消除的基本原理可以概括如下:

自适应地合成回声,并从有回声干扰地信号中减去该合成回声。

图6.回声消除器的基本原理图

一般回声消除算法通过自适应滤波来完成,其基本原理如图6所示。其

中,远端信号城x(k)通过回声信道h产生回声y(k),近端信号d(k)是由回声y(k)

馄和近端声音代句(可包含噪声信号)得到。通过使用M抽头的FIR自适应滤波器

^

h来模拟回声信道h,可以使所得y(k)通近回声信号,进而达到回声消除的目的

由此可见,回声消除的关键是自适应地调整^h使其通近h,可通过现有的各种自

适应滤波算法实现。

这个实验采用的LMS算法,即最小均方误差算法设计的自适应滤波器进行未知系统识别,以将回声信号滤除。该自适应滤波器是FIR横向滤波器,可以根据输出自动修改滤波器的权系数,从而逼近未知系统回声通道。算法的实现基于TMS320C5402DSP芯片和CCS 系统的C语言。

远端的信号通过回声通道产生回声信号d(n),该信号一般为远端信号的衰

减和延迟。远端信号通过自适应滤波器产生回声预测信号y(n)。在k时刻,它们

之差为剩余回声信号:

k k k

e d y =?用它来控制LMS自适应滤波器的系数ω(n)

(1)()2()

k n n e in n μ+=+××ωω其中μ为自适应步长因子,一般取0<μ<1,可视为常数,k时刻滤波器的输出为:

1

y(n)=()()

N i w n in n i ?=??∑以上三个方程是LMS最小均方误差算法的核心方程,也是C语言编程的依据。LMS 的算法流程图如下:

结束

开始

送入信号d k

求回声预测信号y k

求剩余的

k k k

e d y =?求自适应步长u ×k

e 更新滤波器系数ω

in (n )

1

()()

N i w n in n i ?=??∑k k k

e d y =?(1)()2()

k n n e in n μ+=+××ω

3.程序:

CCS的工程C语言文件命名为Codec.c。C语言的流程图如下所示:

全通滤波器结束

开始

初始化滤波器系数、输出

DSK 板的初始化

读语音的采样值

更新输入数组

模式(mode )=?

模式1输出信号

输出(是否结束?)

模式2模式3

FIR 滤波器LMS 滤波器

FIR 滤波器

先初始化FIR延迟输出数组dbuffer_h[]、FIR输出数组、自适应滤波器系数矢量coff_w[]和自适应滤波器的输出数组out_w[],再进行DSK板的初始化。然后采集输入的语音信号,根据模式的不同进行不同的处理以输出不同的信号来进行效果的比较:

模式0:mode=0时为全通,即不做任何处理直接输出;

模式1:mode=1时信号通过FIR滤波器后产生回声,为使现象更明显可以附加一个延迟;

模式2:mode=2时用自适应滤波器逼近FIR滤波器以使之输出近似的信号,用信号通过两个系统产生的信号之差(即剩余回声)来调整自适应滤波器的系数,使剩余回声逐渐收敛于0。这时只听到自己说话的声音,因此这个系统的可以看做是近端说话模式,即将远端信号设为0。

C语言的程序如下:

/*******************************************************************/ /*Codec.c*/

/*Digital Loopback example*/

/*******************************************************************/ #include"type.h"

#include"board.h"

#include"codec.h"

#include"mcbsp54.h"

#include

#include

#include"setm.h"

/*******************************************************************/ /*Function Prototypes*/

/*******************************************************************/

/*This delay routine does not conflict with DSP/BIOS.It is used in this example rather than brd_delay_msec which causes DSP/BIOS conflicts just because of this.If you are not using DSP/BIOS,you can change the code tousebrd_delay_msec.*/

void delay(void);//延迟

void update(DATA x[],DATA dk);

void initarray(DATA x[]);

/*******************************************************************/ /*GlobalVariabl*/

/*******************************************************************/ HANDLE hHandset;//CODEC句柄

DATA bf1[5000];//缓冲区

/*******************************************************************/ /*MAIN*/

/*******************************************************************/ DATA*dp_w=&dbuffer_w[0];

DATA*dp_h=&dbuffer_h[0];

void main()

{

s16j;

s16m;

s16cnt=2;//灯循环闪次数,初始化等待时钟周期数

DATA dk,out_delay,yk,ek;

s16mode=1;//决定是否产生回波是否使用回波抵消

s16i;

if(brd_init(100))//板的初始化

return;

for(i=0;i

for(i=0;i

while(cnt--)/*板子初始化,用灯闪来表示*/

{

brd_led_toggle(BRD_LED0);

/*brd_delay_msec(1000);*/

delay();

brd_led_toggle(BRD_LED1);

/*brd_delay_msec(1000);*/

delay();

brd_led_toggle(BRD_LED2);

/*brd_delay_msec(1000);*/

delay();

}

/*Open Handset Codec*/

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

codec_dac_mode(hHandset,CODEC_DAC_15BIT);/*DAC in15-bit mode*/ codec_adc_mode(hHandset,CODEC_ADC_15BIT);/*ADC in15-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*/

brd_led_toggle(BRD_LED0);

initarray(x);//初始化所有数组

i=0;

j=3000;

m=1500;

while(1)//读数循环

{

while(!MCBSP_RRDY(HANDSET_CODEC)){};

dk=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC);

//*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=dk;//从ADC读数update(x,dk);

if(mode==0)

{

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=dk;

}

else if(mode==1)

{

fir(x,coff_h,out_h,&dp_h,LENGTH_H,LENGTH_IN);

if(i==5000)i=0;

if(i==5000)i=0;

bf1[i]=out_h[0];i++;//放入缓冲区

out_delay=0.5*bf1[i+1]+1.5*bf1[j++]+bf1[m++];

yk=dk+out_delay;

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=yk;

}

else if(mode==2)

{

fir(x,coff_h,out_h,&dp_h,LENGTH_H,LENGTH_IN);

if(i==5000)i=0;

if(j==5000)j=0;

if(m==5000)m=0;

bf1[i]=out_h[0];i++;

out_delay=0.5*bf1[i+1]+1.5*bf1[j++]+bf1[m++];

yk=dk+out_delay;

update(y,yk);

dlms(y,coff_w,out_w,&dp_w,out_h,STEP,LENGTH_W,LENGTH_IN);

//ek=out_h[0]-out_w[0];

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=out_w[i];

}

}

}

void delay(void)

{

long int j;

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

asm("_nop");

}

void update(DATA x[],DATA dk)

{

s16j,k;

for(j=1;j

{

k=LENGTH_IN-j;

x[k]=x[k-1];

}

x[0]=dk;

}

void initarray(DATA x[])

{

s16i;

for(i=0;i

{

x[i]=0;

}

}

五、报告正文

(一)实验目的:

1.学会使用DSP课程设计软件CCS的基本使用方法;

2.了解DSK板的基本组成及功能;

3.掌握利用CCS进行编程的基本方法:

(1)对DSK板进行编程初始化;

(2)对数模转换部分编程初始化;

(3)编写DMA的通道程序,实现数据的实时采集与输出;

(4)设计自适应滤波器,能够实现自适应滤波;

(5)利用自适应滤波器实现对回声信号的基本消除。

(二)实验过程:

1.回声信号的实现:

这次实验我们的回声信号定义为原因信号的延迟在进行适当的衰减。即将

麦克输入的语音信号叠加上述麦克输入语音信号的延时衰减后的信号,用此混合

信号模拟真实的回波信号。因此回声通道的传输函数为:

()M

H z s z?

S为衰减,M为延迟点数。听到的回波是混合信号,此时不仅能听到自己的声音,也能听到几个衰减后叠加的回声,该回声为近端输入的延迟和衰减。

回波产生程序如下:

while(!MCBSP_RRDY(HANDSET_CODEC)){};//codec句柄如未准备好则等

dk=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC);//从ADC读数

bf[i]=dk;//放入缓冲区

if(i==10000)

i=0;

*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=dk+bf[i+1]/2;//延迟+

衰减

2.信号的滤波:

回声的信号已经产生,现在需要利用LSM的算法实现对已合成信号的滤波,

由C语言实现LMS算法的C语言程序如下所示:

double lms(double w[],double x[],double dk,double ek)//移植到CCS中的lms算法

{

s16i;

double uek,yk;

yk=0;

for(i=0;i

{

yk=yk+w[i]*x[i];

}

ek=dk-yk;

uek=2*mu*ek;

for(i=0;i

{

w[i]=w[i]+uek*x[i];

}

return(ek);

}

然而算法的效率与滤波器的长度有关,因此应当适当减小滤波器的长度;同时也应该适当的提高FIR滤波器的阶数。同时替换原有的LMS算法的C语言实现程序,更换为CCS的diplib库中的函数short dlms(PARAM)取代自定的lms()函数,同时用dsplib库里的函数short fir(PARAM)产生回声通道的输出信号(也就是用预定阶数的FIR滤波器模拟回声通道),该输出信号作为自适应滤波器的理想输出信号,对之进行逼近进而得到预定结果。

Dsplib库中的dlsm函数和fir函数的子程序:

Dlsm.h的程序如下,路径:C:\ti\c5400\dsplib\EXAMPLES\DLMS

//************************************************************** ***************

//Filename:dlms_t.c

//Version:0.01

//Description:test for dlms routine

//************************************************************** ***************

#include

#include

#include

#include"test.h"

short i;

short eflagr=PASS;

short eflagh=PASS;

void main(void)

{

/*clear*/

for(i=0;i

for(i=0;i

for(i=0;i

/*compute*/

dlms(x,h,r,&dp,des,STEP,NH,NX);

/*test*/

eflagr=test(r,rtest,NX,MAXERROR);//for r

eflagh=test(h,htest,NH,MAXERROR);//for h

if(eflagr!=PASS)

{

exit(-1);

}

if(eflagh!=PASS)

{

exit(-1);

}

return;

}

FIR.h的程序如下,路径:C:\ti\c5400\dsplib\EXAMPLES\FIR

//************************************************************** ***************

//Filename:fir_t.c

//Version:0.01

//Description:test for fir routine

//************************************************************** ***************

#include

#include

#include

#include"test.h"

short i;

short eflag1=PASS;

short eflag2=PASS;

DATA*dbptr=&db[0];

void main(void)

{

/* 1.Test for single-buffer*/

/*clear*/

for(i=0;i

for(i=0;i

/*compute*/

fir(x,h,r,&dbptr,NH,NX);

/*test*/

eflag1=test(r,rtest,NX,MAXERROR);

/* 2.Tests for dual-buffer*/

/*clear*/

for(i=0;i

for(i=0;i

dbptr=&db[0];

/*compute*/

if(NX>=4)

{

fir(x,h,r,&dbptr,NH,NX/4);

fir(&x[NX/4],h,&r[NX/4],&dbptr,NH,NX/4);

fir(&x[2*NX/4],h,&r[2*NX/4],&dbptr,NH,NX/4);

fir(&x[3*NX/4],h,&r[3*NX/4],&dbptr,NH,NX/4);

}

/*test*/

eflag2=test(r,rtest,NX,MAXERROR);

if(eflag1!=PASS)

{

exit(-1);

}

if(eflag2!=PASS)

{

exit(-2);

}

return;

}

这两个函数是用C5000汇编语言编写的,具有很高的执行效率,使用这个函数可以大大提高运算速度,以解决用C语言编写的程序效率不能满足要求的问题。下面以dlsm.h为例,其使用方法如下:

short oflag=dlms(DATA*x,DATA*h,DATA*r,DATA**d,DATA*des, DATA step,ushort nh,ushort nx)

上述语句是在Dsplib.h中可以找到其路径为:C:\ti\c5400\dsplib\ Include

下面参看其C子函数定义的各个变量的意义:

oflag溢出错误标志,=1时在计算过程中发生了数据溢出;=0时无数据溢出。

x输入信号数组

h自适应滤波器系数矢量

r输出数组

d延迟缓冲区,用来存放上一时刻的输出数据

des理想输出信号数组

step2*μ,μ为自适应滤波器的自适应步长因子,一般取0<μ<1,可视为常数。但为了适应DSP定点数的运算一般取STEP为327

nx向量x中的个数

nh系数的个数

注意:h和d的存储地址要求起点必须位于Kbit边界处,即起始地址值的最低有效位必须是0,必须在CMD文件中开辟对齐1K边界的空间,并且只能在头文件中进行段的配置。否则编译无法通过。

同理,FIR.h的使用方法如下:

oflag=short fir(DATA*x,DATA*h,DATA*r,DATA**dbuffer,ushort nh,

ushort nx)

oflag溢出错误标志,=1时在计算过程中发生了数据溢出;=0时无数据溢出。

x输入信号数组

h FIR滤波器的系数矢量,也是要逼近的对象

r输出数组

d延迟缓冲区,用来存放上一时刻的输出数据

nx向量x中的个数

nh系数的个数\

注意:h、d的地址要求同dlms()函数中的h、d参数。DATA为tms320.h中定义的short整型。

为了降低计算量,输入缓冲数组长度应该尽量小,取长度为LENGTH_IN=5。采用数据压入方式,将最新的声音采样值存入数组x[0],然后将存储的数据从低位压入高位。其实现程序update(DATA x[],DATA dk)如下:

void update(DATA x[],DATA dk)//dk为当前采样值

{

s16j,k;

for(j=1;j

{

k=LENGTH_IN-j;

x[k]=x[k-1];//从低位压向高位

}

x[0]=dk;//当前采样值存入最低位

}

3.用Matlab设计回声通道:

用MATLAB模拟设计回声通道,即用MATLAB产生一个FIR低通滤波器,由于声音为低频信号,用MATLAB的FDATOOL工具产生1个低通FIR滤波器。在MATLAB的命令窗口输入FDATOOL,回车进入滤波器编辑界面,修改阶数为10,频率为

F

=4000,F stop=8000,W pass=1,W stop=30。

pass

过程见下图所示:

在Matlab工作区中输入:

fdatool

更改滤波器的各个参数值

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

DSP课程设计总结报告

课程设计总结报告课程名称DSP控制器及其应用 设计题目万年历设计 业专电子信息工程 班级 姓名 学号

指导教师 报告成绩 信息工程学院 年六月十三日二〇一四 录目 言前 (3) 设计要求第一章4.....................................................................................基本要求1.14.....................................................................................

系统的组成和工作原理第二章5............................................................. 芯片的工作原理VC5509APGE2.1DSPTMS3205.............................. 液晶显示器的工作原理2.2LCD16026..............................................主电路图及程序流程图第三章.. (7) 主电路图3.17...................................................................................... 程序总流程图3.27.............................................................................. 程序分块流程图3.38..........................................................................软件程序设计第四章9.............................................................................

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

DSP课程设计 (3)

深圳大学考试答题纸 (以论文、报告等形式考核专用) 二○一四~二○一五学年度第1 学期 课程编号 课程 名称 单片机/ARM /DSP技术实践 主讲 教师 评 分 学号姓名 专业年级 题 目: 基于DSP2812的课程设计

一、实验要求 由外接的信号发生器产生一正弦信号(电压范围:0~3V),通过DSP的AD功能对此正弦信号进行采集,通过DSP的SCI功能与PC机之间进行通信,把所采集的AD信号发送至PC机端,在超级终端上进行实时显示。 二、实验原理 2.1 ADC概述 ADC,即模/数转换器,将模拟量转换成数字量,提供给控制器使用。TMS320F2812片上有一个12位分辨率、具有流水线结构的模/数转换器,其机构框图如图1所示。其前端为2个8选1多路切换器和2路同时采样/保持器,构成16个模拟输入通道,模拟通道的切换由硬件自动控制,并将各模拟通道的转换结果顺序存入16个结果寄存器中。 图1 ADC机构框图 2.2 ADC模块特点 (1)带2个8选1多路切换器和双采样/保持器的12位的ADC,共有16个模拟输入通道; (2)模拟量输入范围:0.0V-3.0V;

(3)转换率:在25MHZ的ADC时钟下为80ns; (4)转换结果存储在16个结果存储器中; (5)转换结果=4095*(输入的模拟信号-ADCLO)/3; (6)多种A/D触发方式:软件启动、EVA和EVB; (7)灵活中断方式:可以在每次转换结束或每隔一次转换结束触发中断; 3.AD C转换步骤 (1)初始化DSP系统; (2)设置PIE中断矢量表; (3)初始化ADC模块; (4)将ADC中断的入口地址装入PIE中断矢量表中,开中断; (5)软件启动ADC转换; (6)等待ADC中断; (7)在ADC中断中读取ADC转换结果,软件启动下一次ADC中断。 三、实验实现 3.1硬件方案设计 本实验以TMS320F2812为核心控制部件,利用软件编程,通过ADC模块对试验箱上的信号发生器发出的正弦信号进行采集,由于试验箱上的信号发生器只能调节到2V,所以此次实验只针对2V的正弦信号,再通过串口线与PC机连接,将采集转换的数字信号传送到PC机端的串口助手,并还原成采集时的电压值。硬件框架图如图2所示。本次ADC采用SEED-DEC2812的AD接口的ADCINA6通道。 图2 硬件框架图

DSP实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

DSP课程设计报告

共享知识分享快乐 盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 数据采集处理和控制系统设计 一课程设计要求 1.基本DSP硬件系统设计要求 ①基本DSP硬件系统以TMS320C54x系列为核心处理器,包括最小系统、存储器扩展、显示器、键盘、AD、DA等电路模块; ②硬件设计画出主要芯片及电路模块之间的连接即可,重点考查电路模块方案设计与系统地址分配; ③设计方案以电路示意图为主,辅以必要的文字说明。 2.基本软件设计要求 ①看懂所给例程,画出例程输出波形示意图; ②修改例程程序,使之输出其它波形,如方波、三角波、锯齿波等均可; ③设计方案以程序实现为主,辅以必要的文字说明。 3.课程设计报告要求 ①硬件系统设计:设计思路、设计系统功能、主要芯片选型及使用方法、设计方案说明、电路示意图 ②软件系统设计:示例程序功能解读及输出波形示意图、设计软件功能、设计思路、实现源码(带程序注释) ③报告总结 二系统分析 利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP 中采集信号,并且对信号进行频谱分析,滤波等。通过键盘或者串口命令选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD 上显示。主要功能如下: (1)对外部输入的模拟信号采集到DSP 内存,会用CCS 软件显示采集的数据波形。 (2)对采集的数据进行如下算法分析: ①频谱分析:使用fft 算法计算信号的频率。 ②对信号进行IIR 滤波或FIR 滤波,并且计算滤波前后信号的频率。 ③外部键盘或者从计算机来的串口命令选择算法功能,并且将结果在 LCD 上显示。 绘制出DSP系统的功能框图、使用AD(Altium Designer)绘制出系统的原理图和PCB 版图。 在 DSP 中采集信号,用CCS 软件显示采集的数据波形,以及对采集的数据进行算法分析。 三硬件设计 3.1 硬件总体结构

DSP技术与课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

dsp课程设计报告(2)分析

华北水利水电大学North China University of Water Resources and Electric Power DSP课程设计 题目: FIR数字低通滤波器 学院信息工程学院 专业电子信息工程 姓名 学号 指导教师

摘要 (1) 一. 绪论 (1) 1.1设计背景 (1) 1.2设计方法分析 (1) 二.FIR滤波器设计过程 (2) 2.1 FIR滤波器原理 (2) 2.2 FIR滤波器的实现方法 (3) 2.3 FIR滤波器的MATLAB实现 (4) 2.4 设计流程图 (6) 三.MATLAB和 CCS操作步骤及仿真结果 (7) 3.1 matlab中的.M文件的编写 (7) 3.2 工程文件的建立 (12) 3.3 仿真结果及分析 (12) 四.心得与总结 (12)

摘要 当前,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术和微电子技术的发展得到了飞速地发展,并被广泛应用于语音和图象处理、数字通信、谱分析、模式识别和自动控制等领域。数字滤波器是数字信号处理中最重要的组成部分之一,几乎出现在所有的数字信号处理系统中。设计中通过MATLAB环境中图形化的方式建立数字信号处理的模型进行DSP的设计和仿真验证,将设计的图形文件.mdl直接转换成C语言程序在CCS中运行。利用MATLAB 软件开发产品加速了开发周期,比直接在CCs中编程方便快捷了很多,对于任何复杂功能的DSP系统,只需要进行少量的添加和修改就能完成功能正确的C语言程序设计。 一. 绪论 1.1设计背景 一个实际的应用系统中,由于设备或者是外界环境的原因,总存在各种干扰,使信号中混入噪声,譬如音频信号中高频成分的噪声使得音乐听起来刺耳,失去了原有悦耳的音质。为了提高信号质量,可以对信号进行滤波,从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过一个数字滤波器,滤除噪声,提取有用信号。DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是FIR系统有自己突出的优点:①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。其中后两项是IIR系统不易实现的。 1.2设计方法分析 FIR滤波器的设计方法分析 数字滤波器依据冲激响应的宽度划分为有限冲激响应(FIR)滤波器和无限冲激响应滤波(IIR)。FIR 滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的,有限冲激响应滤波器(FIR),具有以下的优点:(1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位;(2)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此F I R 滤波器没有不稳定的问题;(3)由于FIR 滤

dsp实验报告 哈工大实验三 液晶显示器控制显示实验

实验三液晶显示器控制显示实验 一. 实验目的 通过实验学习使用2407ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。 二. 实验设备 计算机,ICETEK-LF2407-EDU 实验箱。 三.实验原理 ICETEK-LF2407-A 是一块以TMS320LF2407ADSP 为核心的DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。 液晶显示模块的访问、控制是由2407ADSP 对扩展I/O 接口的操作完成。 控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O 接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。 显示控制方法: ◆液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数 值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与象素的对应 方式如下: ◆发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口 写入命令控制字,然后再向辅助控制接口写入0。下面给出的是基本命令字、解释 和 C 语言控制语句举例。 ?显示开关:0x3f 打开显示;0x3e 关闭显示; ?设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63; ?设置操作页:0x0b8+页号,其中页号取值为0-7; ?设置操作列:0x40+列号,其中列号为取值为0-63; ◆写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的 数据写入液晶显示模块的缓存。将数据发送到相应数据控制I/O 接口即可。

DSP实验报告

学校代码学号分类号密级 DSP实验报告 院系名称 专业名称 年级 学生姓名 指导老师 年月日

实验一数据存储实验 一、实验目的 1. 掌握 TMS320C54X 程序空间的分配; 2. 掌握 TMS320C54X 数据空间的分配; 3. 能够熟练运用TMS320C54X 数据空间的指令。 二、实验设备 计算机,CCS 3.1版软件,DSP仿真器,E300实验箱,DSP-54XP CPU板。 三、实验系统相关资源介绍 1. 本实验指导书是以TMS320VC5416为例,介绍其相关的内部和外部存储器资源。对于其他类型的CPU请参考查阅相关的数据手册。) 下面给出TMS320VC5416的存储器分配表: 对于数据存储空间而言,映射表相对固定。值得注意的是内部寄存器都映射到数据存储器空间内。因此在编程时这些特定的空间不能作其他用途。 对于程序空间而言,其映射表和CPU 的工作模式有关。当MP/MC 引脚为高电平时,CPU 工作在微处理器模式;当MP/MC引脚为低电平时,CPU工作在微计算机模式。具体的MP和MC模式下的程序和数据映射关系如上图所示。 2. 样例程序实验操作简单说明: 本实验程序将对0x1000 开始的8 个地址空间,填写入0xAAAA 的数据,然后读出,并存储到以0x1008开始的8个地址空间,在CCS中可以观察DATA存储器空间地址0x1000~0x100F 值的变化。 四、实验步骤与内容 1. 在进行 DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示: 2. E300 底板的开关SW4 的第1位置ON,其余位置OFF,SW5全部置ON,其余开关不做设置要求。 3. 上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则DSP开发系统与计算机连接存

DSP课程设计报告—刘雅琪

一、课程设计的目的和要求 1.1课程设计目的: 本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。通过课程设计,使学生加深对DSP芯片 TMS320C54的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。 1.2课程设计要求 1、认真查阅资料 2、课程设计前认真预习 3、遵守课程设计时间安排 4、认真保质保量完成设计要求 5、认真书写报告 二、系统功能介绍及总体设计方案 2.1 功能介绍 随着信息技术和计算机技术的飞速发展, 数字信号处理技术在众多领域得到广泛应用。数字滤波器由于其精度高、稳定性好、使用灵活等优点, 广泛应用在各种数字信号处理领域。数字滤波器根据冲击响应函数的时域特性, 可以分为FIR (有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器)。FIR滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。而且, FIR 滤波器的单位抽样响应是有限长的, 故一定是稳定的, 他又可以用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。 本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率 F s=1000Hz,通带频率F pass=150Hz截止频率F sg=250Hz,通带衰减A pass =0.5dB 阻带衰减A stop=80dB。 2.2 总体设计方案: 先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS在CCS!进行仿真调试运行,得到了输入和输出的波形及

其频谱。 三、主要设计内容和步骤 3?1 FIR 数字滤波器的原理分析 3.1.1FIR 数字滤波器 数字滤波器原理一般具有如下差分方程 N A N -1 y(n) f a k X( n- k) 、b k y( n-k) k z 0 k =0 式中x(n)为输入序列,y(n)为输出序列,兔和b k 为滤波器系数,N 是滤波器阶 N J 数。当所有的b k 均为零,则有 y (n )八 时(n-k) ⑵ k=0 (2) 式是FIR 滤波器的差分方程,其一般形式为 N -1 y(n)「h k x( n-k) (3) k £ 对(3)式进行z 变换,整理后可得FIR 滤波器的传递函数 FIR 的直接型结构: x(n) ——B —— h(0) n "(2) ' b ——■—— 1 h(N £3) ?_m h(N £2) I ---- ■—1 ? ■ ” £ ■ 1 h(N £l) z £i z £i y(n) H(z) = 迩 2 X o -k h)k)z

单片机及DSP课程设计报告

本科课程设计说明书 设计题目:TMS320VC30DSP开发板制作 学院:__明德学院_ 班级:__电自11151 学号:112003110184 学生姓名:魏乾 指导教师:刘晓燕 2014年6月23日

贵州大学本科课程设计第 1 页 摘要 数字信号处理器(Digital Signal Processor;简称为DSP)是针对数字信号处理需要而设计的一种可编程的单片机,是现代电子技术、计算机技术和信号处理技术相结合的产物。随着信息处理技术的飞速发展,数字信号处理器在电子信息、通信、软件无线电、自动控制、仪器仪表、信息家电等高科技领域获得了越来越广泛的应用。 数字信号处理器由于运算速度快,具有可编程特性及接口灵活,使得它在许多电子信息产品的研制、开发与应用中,发挥着越来越重要的作用;采用DSP器件来实现数字信号处理系统更是成了当前的发展趋势。与此同时,如何以最短的开发周期,开发出能充分发挥DSP 潜能的高质量的应用软件,已经成了广大DSP工程技术人员共同关心的问题。据估计,在DSP应用系统的开发中,特别是对于比较复杂的或对时间要求十分严格的应用系统,绝大部分的开发时间用于软件的设计与调试。DSP软件的调试离不开DSP的开发工具,因此熟悉并掌握DSP的开发工具是开发出高质量DSP软件的必备条件。正是出于这种目的,本论文对美国德州仪器(简称T1)公司推出的新一代16位定点TMS320C3XDSP进行了介绍,该系列DSP是目前TI 公司推出性价比最高的第三代浮点数字信号处理器之一。

贵州大学本科课程设计第 2 页 数字信号处理器DSP以其独特的结构和快速实现各种数字信号处理算法的突出优点,在通信、雷达、声纳、语音信号处理、图象处理、高速控制和仪器设备等众多领域获得了广泛应用。在掌握开发和深入了解其结构的基础上制作了TMS320VC33 DSP开发板。开发板集成了TMS320VC33的存储器扩展,AD前向通道,后向通道(DA)的接口,RS232接口,并能通过USB仿真器下载程序脱机运行,并介绍了系统板上各部分电路原理和JTAG接口。 关键词:TMS320VC33 AD前向通道RS232接口JTAG接口 一、设计目的 为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。 1、通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP 原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。 2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写

DSP课程设计报告

数据采集处理和控制系统设计 一课程设计要求 1.基本DSP硬件系统设计要求 ①基本DSP硬件系统以TMS320C54x系列为核心处理器,包括最小系统、存储器扩展、显示器、键盘、AD、DA等电路模块; ②硬件设计画出主要芯片及电路模块之间的连接即可,重点考查电路模块方案设计与系统地址分配; ③设计方案以电路示意图为主,辅以必要的文字说明。 2.基本软件设计要求 ①看懂所给例程,画出例程输出波形示意图; ②修改例程程序,使之输出其它波形,如方波、三角波、锯齿波等均可; ③设计方案以程序实现为主,辅以必要的文字说明。 3.课程设计报告要求 ①硬件系统设计:设计思路、设计系统功能、主要芯片选型及使用方法、设计方案说明、电路示意图 ②软件系统设计:示例程序功能解读及输出波形示意图、设计软件功能、设计思路、实现源码(带程序注释) ③报告总结 二系统分析 利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP 中采集信号,并且对信号进行频谱分析,滤波等。通过键盘或者串口命令选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD 上显示。主要功能如下: (1)对外部输入的模拟信号采集到DSP 内存,会用CCS 软件显示采集的数据波形。 (2)对采集的数据进行如下算法分析: ①频谱分析:使用fft 算法计算信号的频率。 ②对信号进行IIR 滤波或FIR 滤波,并且计算滤波前后信号的频率。 ③外部键盘或者从计算机来的串口命令选择算法功能,并且将结果在 LCD 上显示。 绘制出DSP系统的功能框图、使用AD(Altium Designer)绘制出系统的原理图和PCB 版图。 在 DSP 中采集信号,用CCS 软件显示采集的数据波形,以及对采集的数据进行算法分析。 三硬件设计 3.1 硬件总体结构

DSP实验报告

DSP实验报告 电子111班 刘卓 112099 同组人:张顺 112108

指令实验 一、实验目的 1、了解DSP的结构及引脚功能; 2、掌握DSP的基本指令。 二、实验要求 了解怎样对DSP进行简单的编程操作、运算控制等基本汇编语言及算术语言、实验测试及除错验证。 三、实验步骤 见教材342页。 四、实验结果 1、直观结果 .title "ex1" .mmregs .def _c_int00 DAT0 .SET 60H DAT1 .SET 61H DAT2 .SET 62H DAT3 .SET 63H .text ADD3 .MACRO P1,P2,P3,ADDRP LD P1,A ADD P2,A ADD P3,A STL A,ADDRP .ENDM _c_int00:B start start: LD #004h,DP ;DP=0004,ST0=1804 STM #1000h,SP ;SP=1000 SSBX INTM ;INTM=1 bk0: ST #0012h,DAT0 ;D(0x0260)=0x0012 LD #0023h,A ;A=0000000023 ADD DAT0,A ;A=0000000035,ST0=1004,C=0 NOP NOP bk1: ST #0054h,DAT0 ;D(0x0260)= 0x0054 LD #0002h,A ;A=0000000002 SUB DAT0,A ;A=FFFFFFFFAE NOP NOP bk2: ST #0345h,DAT0 ;D(0x0260)=0x0345 STM #0002h,T ;T=0002

DSP技术及课程设计实验报告二(精)

DSP技术及课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

dsp课程设计报告

DSP课程设计总结(2014-2015学年第2学期) 题目:数据采集处理和控制系统设计 专业班级:电子1202 学生姓名:李茹 学号:12052203 指导教师:李莉 设计成绩: 2015 年7 月

目录 一设计目的 (1) 二系统分析 (1) 1.1设计要求 (1) 1.2主要任务 (1) 三硬件设计 (2) 3.1 硬件总体结构 (2) 3.2 DSP模块设计 (4) 3.3 电源模块设计 (6) 3.4 时钟模块设计 (6) 3.5 存储器模块设计 (7) 四软件设计 (9) 4.1 软件总体流程 (9) 4.2 核心模块及实现代码 (9) 五课程设计总结 (29) 六参考文献 (29)

此设计结合硬件、软件得到一个基于TMS320VC5416芯片,能完成数据采集、频谱分析、滤波、LCD显示的DSP系统。以此加强了对DSP功能的认识,复习了Altium Designer 软件的使用方法。并在此基础上利用CCS软件编程实现A/D采集,FFT变换处理,低通滤波,显示滤波成分等功能的完整的小型数字处理系统。 二系统分析 1.1设计要求 (1)硬件设计要求 设计一个功能完备的,能够独立运行的精简DSP硬件系统,使用Altium Designer绘制出系统原理图和PCB图。 (2)软件设计要求 利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号叠加。在DSP中采集信号,并且对信号进行频谱分析,滤波等。通过串口命令选择算法功能,将计算的信号频率或者滤波后的信号频率在LCD上显示。 1.2主要任务 (1)DSP 硬件系统设计 设计DSP基本结构并绘制单片机最小系统原理图和PCB图。 (2)数据采集处理和控制系统设计 利用CCS软件编程实现数据采集x(n)→对数据FFT处理、分析频率成分→根据频率成分设计FIR低通滤波器h(n)→卷积x(n)*h(n)=y(n)得到滤波之后的信号→分析滤波之后y(n)的频率成分→LCD显示高频,低频和滤波器的截止频率。

DSP实验报告

DSP实验报告 1.问题一:设置硬件设备时,找不到实验设备上的仿真器的型号,F2812 XDS510 Emulator怎么办? 解决的方法:只要找到F2812 XDS5100 Emulator添加即可,再添加成功后在System configuration 的窗口中显示F2812 XDS510 Emulator,多的一个0自动就去去除了。 2.问题二:问什么.c文件编译连接通过后程序点run,依然无法运行,会弹出warning窗口,No valid program is currently loaded into memory. 解决的办法:是因为没有添加.out文件的缘故,弹出warning窗口要选择no,然后在菜单的File>>load program 弹出窗口,选择Debug文件夹下的.out添加。3.问题三:执行write_buffer一行时,如果按F10执行程序和按F11执行程序现象 有和不同。 现象:执行write_buffer一行时。如果按F10执行程序,则程序在mian主函数中运行,如果按F11,则程序进入write_buffe函数内部的程序运行。 4.问题四:怎样可以看到结构体变量中的每个元素? 解决办法:把str变量加到观察窗口中,点击变量左边的“+”,观察窗口可以展开结构变量,就可以看到结构体变量中的每个元素了。 5.问题五:在读懂实验2-1程序后,修改了实验2-1的程序,重新编译、连接执 行程序,可是为什么其执行的结果没有改变? 解决办法:对.OUT文件进行重新加载。因为在修改了实验2-1的程序后,重新编译、连接程序,此时.OUT文件已经改变了。如果不重新加载,那么执行的.OUT 文件依旧是之前的.OUT文件,其结果将不会改变。 6.问题六:实验1-1的波形不能显示,显示出杂乱无章的杂声波怎么办?(按实 验指导书应该是正弦波)。 解决办法:原因框中的第二项Start Address中的Inp-buffer设置错了,正确的应该是inp_buffer 中间那根划线是关键。最好的办法就是直接从volume.c的文件中复制inp_buffer再粘贴,这样就不会错了,如果自己输入的话,输入法不对,或是输错都容易

DSP课程设计报告

1.课程设计目的及意义........ 2.课程设计题目描述要求及理论基础 题目要求 ............. 数字滤波器的简介及发展. ..... FIR 数字滤波器的特点 ...... FIR 滤波器具有的优点 ...... MATLAB^件简介............. 3.课程设计报告内容 ......... 设计方案的选定与原理. ..... 用窗函数法设计FIR滤波器...... 设计方案程序及图表. ....... 4.总结............... 错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 参考书目:

1.课程设计目的及意义 (1)学会MATLA的使用,掌握MATLAB勺程序设计方法; (2)掌握在Windows环境下语音信号采集的方法; ( 3)掌握数字信号处理勺基本概念、基本理论和基本方法; (4)掌握MATLAB^计FIR滤波器; (5)学会用MATLAB寸信号进行分析和处理。 2.课程设计题目描述要求及理论基础题目要求 (1)语音信号的采集; 要求利用windows下的录音机(开始一程序一附件一娱乐一录音机,文件一属性—立即转换— 8000KHz, 8 位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。然后在MATLAB^件平台下,禾U用函数 wavread对语音信号进行采样,记住采样频率和采样点数。通过 wavread 函数的使用,要求理解采样频率、采样位数等概念。 wavread 函数调用格式: y=wavread(file) ,读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。 [y,fs,nbits]=wavread(file) ,采样值放在向量 y 中, fs 表示采样频率( Hz),nbits 表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量 y中。 y=wavread(file,[N1,N2]) ,读取从N1点到N2点的采样值放在向量 y中。 ( 2)语音信号的频谱分析;要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在 MATLAB^,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特 性;从而加深对频谱特性的理解。 ( 3)数字滤波器的设计; 带通滤波器性能指标 fb1 = 1 200 Hz,fb2 = 3 000 Hz,fc1 = 1 000 Hz,fc2 =3 200 Hz,As= 100 dB,Ap= 1 dB。在 MATLA沖,可以利用函数 fir1 设计 FIR 滤波器(4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析; 数字滤波器的简介及发展 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需

相关文档