DSP课程作业

DSP课程作业
DSP课程作业

1、什么是DSP?简述DSPs的特点?简述DSPs与MCU、FPGA、ARM的区别?学习DSP开发需要哪些知识?学习DSP开发需要构建什么开发环境?(15分)

答:数字信号处理(Digital Signal Processing,DSP) 技术是指理论上的技术,而数字信号处理器(Digital Signal Processor ) 是针对数字信号处理的需求而设计的一种可编程的单片机,也称为DSP芯片。因此DSP既可以代表数字信号处理技术,也可以代表数字信号处理器,两者是不可分割的,前者要通过后者变成实际产品。两者结合起来就成为解决实际问题和实现方案的手段——数字信号处理解决方案,它也是现代电子技术、计算机技术和信号处理技术相结合的产物;同时具有精确、灵活、可靠性好、体积小、易于大规模集成等优点。随着信息处理器技术的飞速发展,数字信号处理器在电子系统信息、通信、无线电、自动控制、仪器仪表、家电等高科技领域获得了越来越广泛的应用。

DSP是一种特别适合于进行数字信号处理运算的微处理器。但它不同于一般的微处理器,它已是微电子学专家、信号处理专家和计算机专家共同合作的结晶。DSP具有极其高速的数字处理能力和很大的运算量。因此,它能满足高效实时信号处理的要求。这种新器件具有如下一些特点:

(1)采用改进的哈佛(Harvard)结构,高度并行运算且大大提高运算速度

传统的处理器采用程序和数据共享一个存储结构(即V on—Neumann结构),而使处理器的速度受总线速度的限制。DSP采用改进的哈佛结构,即将数据总线和程序总线分离开来,从而可以集合其他的并行处理单元,实现在同一指令周期内同时将操作数据从程序存储器和数据存储器中取出并送到运算单元。改进型哈佛结构的存储器与数据存储器位于两个独立的空间,但可以相互传递数据。数据存储器可以通过来自程序存储的固定参数初始化。在一个周期内可以同时准备好指令与操作数。这种高度并行运算,内部操作采用时间上重叠的流水线结构,大大提高了运算速度。另外,片外扩展总线也增加了DSP的通用性和灵活性。

(2) 能实现单指令乘加运算和变址运算

DSP内部专门设置了乘法累加结构,在硬件上实现了乘法与累加器的并行工

作,能在一个指令周期内完成乘法并将乘积求和运算,以满足数字滤波、卷积运算以及超越函数、幂级数展开等相乘后求和的运算需求,并且片内专门设置了专用变址器,便于实现变址运算。

(3) 采用流水操作

每条指令的运行过程都可划分为取指、译码、取数、执行等若干步骤,由片内多个单元分别完成,支持任务的并行处理。

(4) 设有多种功能很强的外围器件和接口,大大提高了系统的速度和性能

现今的DSP在其结构上一般配备了可编程定时高速串行接口、多处理器连接接口等。因此用它来处理数字信号特别是线性变换(快速傅里叶变换、希尔伯特变换、余弦变换等)、数字滤波(有限冲激响应滤波和无限冲激响应滤波等)、卷积运算等,其速度大大提高。同时芯片内还设置了专门的硬件数据指针的逆序寻址功能。因频谱分析的理论基础是快速傅里叶变换(FFT),从而大大加快了频谱分析处理过程。

(5) DSP支持重复运算,且增加了硬件循环控制

当完成循环初始化后,实际运行中循环不再消耗指令周期,大大提高了数字信号处理的运算速度。

(6) 超长指令字(VLIW)结构,使设计简单化

其特点是在单个周期内,将含有多项运算操作的指令划分为多个操作,这些操作的发出与执行都采用并行方式,以提高每次执行的操作总数。

(7) DSP成本及销售价格逐年降低

一般DSP并非是为某种功能设计的芯片,其应用范围广,出片量多,因而可以降低其成本。随着DSP设计质量的提高,给用户提供了很大的好处,用户量增多,销售价格就会进一步降低。

DSPs与MCU、FPGA、ARM的区别:DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。ARM控制能力较强,但运算能力相对较弱,因此现在很多手持设备是用ARM+DSP来实现的,就是所谓的“双核心”。FPGA可做复杂的逻辑控制,功能很强大。

学习DSP开发需要学习数字信号处理、复变函数与拉斯变换、信号与系统、

数字电子、MATLAB、C语言等基础知识,同时也要学习构建CCS开发环境。

CCS (Code Composer Studio)是美国德州TI公司推出的DSP系统的一种开发软件,它提供了环境配置、源文件编译、程序调试、跟踪、分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、连接、调试和数据分析等工作,和其他DSP软件相比,利用CCS软件能够加快软件开发进程,提高工作效率。Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个TI器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。CCS IDE 提供了单个用户界面,可帮助您完成应用开发流程的每个步骤。借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。

2、经典的数字信号处理的算法主要包括哪些内容?试分别简述之?(15分)

答:经典的数字信号处理的算法主要包括FFT算法、DET算法和CORDIC 算法。

FFT算法是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform)。FFT算法可分为按时间抽取算法和按频率抽取算法;DFT,离散傅立叶变换,是一种针对离散信号进行的变换,适合计算机数据处理的要求,将一个长度为N的离散信号,分解为N/2+1个余弦波和N/2+1个正弦波。

CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.V older1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数、乘法、开方、反三角、指数等函数。

3、简述TI公司的DSPs的产品系列及其应用范围?(15分)

答:目前,TI公司在市场上主要有三大系列DSP产品:

(1) TMS320C2000系列,面向数字控制、运动控制领域,主要包括:TMS320C24xx/TMS320F24xx、TMS320C28xx/TMS320F28xx等。

(2) TMS320C5000系列,面向低功耗、手持设备、无线终端应用领域,主要包括:TMS320C54x、TMS320C54xx、TMS320C55xx等。

(3) TMS320C6000系列,面向高性能、多功能、复杂应用领域,例如图像处理,主要包括:TMS320C62xx、TMS320C64xx、TMS320C67xx等。

此外,还有面向低端应用、价格可以和MCU竞争、功能稍微减弱的Piccolo 平台的产品,主要有TMS320F2803x/2x。面向高端视频处理的达芬奇平台,例如DM642/DM6437/DM6467DENG,有面向移动终端的双核处理器OMAP平台,例如OMAP3530。

4、结合MATLAB、DSP技术谈谈基于DSPs的FFT的开发过程?(15分)

答:MATLAB中已经提供了FFT的算法,FFT可以采用直接调用的方式:FFT正变换:X=FFT(x);X=FFT(x,N);反变换x=IFFT(X);x=IFFT(X,N);实际DSP应用中,FFT采用的是按时间抽选的基2—FFT算法。下图所示为8点DIT的FFT运算流图:

程序实现流程图如下所示:

5、结合自己的专业设计一种基于DSPs的数字信号处理系统。要求包括硬件设计与软件设计,设计中的某个算法要求利用MATLAB进行仿真或者利用DSP的实验箱进行实现(40分)

IIR低通滤波器的MATLAB仿真

①IIR低通滤波器设计

给定抽样频率Fs=250KHz,要求在频率小于20KHz 的通带内,幅度特性下降小于3dB:在频率大于70KHz 的阻带内,衰减大于30dB。

利用FDATool(Filter Design&Analysis Tool)进行低通滤波器设计,命名为filt1,设计界面如图1所示

图1 低通滤波器filt1设计界面

在一个采样频率是250KHz的数字系统中,一频率为10KHz,幅度为5和一频率为80KHz,幅度为2.5的正弦信号混合成一个信号,命名为signalyg。

混合信号生成程序

使用gesig()函数生成混合信号:

[u1,t0]=gensig('sin',1/10000,10,1/250000);

[u2,t0]=gensig('sin',1/80000,10,1/250000);

signalyg=5*u1+2.5*u2;

在SPTool窗口下,用File→Import命令调入信号signalyg,采样频率设置为250KHz,命名为signal1,混合信号及其频谱如图2、3所示。

图2 混合正弦信号

图3 混合正弦信号频谱

(1)观察滤波效果

滤波后的信号命名为signal2其波形及频谱如图4、5所示。

图4 滤波后的信号

图5 滤波后信号频谱

IIR数字滤波器在TMS320VC5416 DSP上的实现

①低通IIR数字滤波器的参数如下:

采样频率为250KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,通带上限频率为20KHz,阻带下限截止频率为70Hz。采用Butterworth模型设计时阶数为3阶。

②系统初始化程序设计

在DSP进行数字滤波运算前必须进行一些初始化程序。在本系统中初始化程序主要包括:DSP芯片的初始化、矢量表初始和两个串行端口的初始化。

③数字滤波器程序设计流程

程序流程图如图1所示。采用间接寻址指向数据存储单元, 主要指令为加法、乘法和循环实现, 这些都可以通过MAC等指令直接实现。需注意的是要对乘法运算结果进行溢出保护。另外, 因为主程序框架采用C结构, 所以要注意不同环境下寻址方式的区别, 当从C环境进入直接寻址时, 要先确定DP 值,以免带来不确定的计算结果。数据采集时要先通过DSP的DMA功能将输入数据保存在外部SRAM中,采样结束后再将要滤波的数据通过DMA载入内部RAM中,从而提高处理速度。考虑到IIR数字滤波器的运算特点,某一时刻的输入数据参加一次运算后不再参与下次运算, 只有各级滤波器输出结果需要参与多次运算,因此滤波结果和输入数据可以共用同一存储地址,从而节省存储空间。除此之处,还要注意以下问题:

(1) IIR数字滤波器是针对采样率固定的系统设计的,更改系统或系统采样率改变时应重新设计。

(2) 用到的数据存储单元,程序开始时应对这些单元进行初始化。如果要进行连续滤波,应保存上一次滤波的结果。

(3) IIR数字滤波器的滤波结果会引起相位的延迟,故对相位严格要求的场合,需加全通网络进行较正,或选用FIR滤波器实现滤波功能。

在CCS软件环境下编写实现IIR滤波器的程序命名为“xp-IIR-AD.c”和链接命令文件“xp-IIR-AD.cmd”。

图6程序设计流程图

④硬件设计

图7为IIR滤波器实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C5416,E2PROM和RAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,将模拟信号转换成数字信号,然后由CPLD提供时序,读取每次的抽样信号,送到DSP中进行实时处理,最后仍由按照CPLD提供的时序将运算结果送到D/A中,由D/A转换成模拟信号。

图7 IIR滤波器实现的电路方框图

采用两路正弦波信号的混叠信号作为输入信号;低频正弦波信号:幅度5V,

频率<20KHz;高频正弦波信号:幅度2.5V,频率>70KHz。在CCS2.0环境下,加载“Exp-IIR-AD.out”,在程序中flag=0处设置断点,单击“Run”运行程序,程序将运行至断点处停止。

用View/Graph/Time/Frequency打开一个图形观察窗;采用双综观察在起始地址分别为x和y,长度为256的单元中数值的变化,数值类型为32位浮点型变量,这两个数组分别存放的是经A/D转换的混叠信号和对该信号进行IIR低通滤波后的输出信号,如图8所示。

图8 滤波前、后信号的波形

程序:xp-IIR-AD.c

#pragma CODE_SECTION(vect,"vect")

#include "stdio.h"

#include "math.h"

#define pi 3.1415927

#define IMR *(pmem+0x0000)

#define IFR *(pmem+0x0001)

#define PMST *(pmem+0x001D)

#define SWCR *(pmem+0x002B)

#define SWWSR *(pmem+0x0028)

#define AL *(pmem+0x0008)

#define CLKMD 0x0058 /* clock mode reg*/

#define Len 256

double fs,nlpass,nlstop,nhpass,nhstop,a[3],b[3],x[Len],y[Len];

void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]); unsigned int *pmem=0;

ioport unsigned char port8002;

int in_x[Len];

int m = 0;

int intnum = 0;

double xmean=0;

int n=0;

int flag = 0;

int i,j,p,k=0;

double w2,w1,w0;

void cpu_init()

{

*(unsigned int*)CLKMD=0x0; //switch to DIV mode clkout= 1/2 clkin while(((*(unsigned int*)CLKMD)&01)!=0);

*(unsigned int*)CLKMD=0x77ff; //switch to PLL

PMST=0x3FA0;

SWWSR=0x7fff;

SWCR=0x0000;

IMR=0;

IFR=IFR;

}

interrupt void int1()

{

in_x[m] = port8002;

in_x[m] &= 0x00FF;

m++;

intnum = m;

if (intnum == Len)

{

intnum = 0;

xmean = 0.0;

for (i=0; i

{

xmean = in_x[i] + xmean;

}

xmean = 1.0*xmean/Len;

for (i=0; i

{

x[i] = 1.0*(in_x[i] - xmean);

}

for (i=0; i

{

w2 = x[i]-a[1]*w1-a[2]*w0;

y[i] = b[0]*w2+b[1]*w1+b[2]*w0;

w0 = w1;

w1 = w2;

}

m=0;

flag = 1;

}

}

void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]) {

int i,u,v;

double wp,omp,gsa,t;

wp=nlpass*2*pi;

omp=tan(wp/2.0);

gsa=omp*omp;

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

{

u=i%2;

v=i-1;

a[i]=gsa*pow(2,u)-sqrt(2)*omp*v+pow(-2,u);

}

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

{ u=i%2;

b[i]=gsa*pow(2,u);

}

t=a[0];

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

{ a[i]=a[i]/t;

b[i]=b[i]/t;

}

}

void set_int()

{

asm(" ssbx intm");

IMR=IMR|0x0004;

asm(" rsbx intm");

}

void main(void)

{

w2=w1=w0=0.0;

cpu_init();

fs = 250000;

nlpass = 0.06;

nlstop = 0.28;

biir2lpdes(fs,nlpass,nlstop,a,b);

set_int();

for(;;)

{

if (flag == 1)

{

flag = 0; /* set breakpoint here */ }

}

}

void vect()

{

asm(" .ref _c_int00");/*pseudoinstruction*/

asm(" .ref _int1");

asm(" b _c_int00");/* reset */

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop"); asm(" nop"); asm(" rete"); asm(" nop"); asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* int0 */

asm(" nop");

asm(" nop");

asm(" rete");

asm(" nop"); /* int1 */ asm(" nop");

asm(" nop");

// asm(" rete"); /* int2 */

asm(" b _int1");

asm(" nop");

asm(" nop");

// asm(" nop");

asm(" rete"); /* tint0 */

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* brint0 */

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* bxint0 */

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* dmac0 */

asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* tint1 */

asm(" nop");

asm(" nop");

asm(" rete"); /* int3 */ asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* hpint */ asm(" nop");

asm(" nop");

asm(" rete"); /* brint1 */ asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* bxint1 */ asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* dmac4 */ asm(" nop");

asm(" nop");

asm(" nop");

asm(" rete"); /* dmac5 */ asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

asm(" nop");

}

链接命令文件:xp-IIR-AD.cmd

-stack 0x100

MEMORY

{

PAGE 0: PROG: origin = 2b00h, length = 1500h

PAGE 1: DA TA: origin = 0200h, length = 1d00h }

SECTIONS

{

.text > PROG PAGE 0

.cinit > PROG PAGE 0

.switch > PROG PAGE 0

vect > 3f80h PAGE 0

.data > DATA PAGE 1

.bss > DA TA PAGE 1

.const > DATA PAGE 1

.sysmem > DA TA PAGE 1

.stack > DATA PAGE 1

}

DSP上机大作业

DSP上机实验报告

实验一: VISUAL DSP++的使用入门 1.实验一的目的 实验一的主要目的是熟悉VISUAL DSP++的开发环境。针对ADSP-21065L SHARC DSP,利用几个用C、C++和汇编语言写成的简单例子来描述VISUAL DSP+十编程环境和调试器(debugger)的主要特征和功能。 2.实验一的4个基本练习 练习一: 启动Visual DSP++,建立一个用C源代码的工程(Project),同时用调试器来评估用C语言所编写代码的性能; 练习二: 创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能; 练习三: 利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形; 练习四: 利用调试器的性能统计功能(Statistical profile来检查练习三中卷积算法的效率。利用所收集到的性能统计数据就能看出算法中最耗时的地方。 3.实验步骤: (1)练习一实验步骤: Step l 进入Visual DSP+十并打开一个工程(Project) 进入Visual DSP++,显示Visual DSP++的集成开发和调试环境窗口(Integrated Development and Debugger Environment,简称IDDE)。 选择菜单File 中Open 打开文件: …DSP_exp\unit_1\dot_product_c \dotprodc.dpj。 Dotprodc工程由定义数组和计算数组点积和的两个C语言源文件dotprod_main.c(主程序)和dotprod.c(子程序)以及一个描述程序和数据存储位置的链接描述文件dotprodc.ldf。 Step 2 编译dotprodc工程 在菜单Project中选择Build Project来对工程进行编译。此时,输出窗口显示程序编译时的各种状态信息(包括出错和编译进程信息)。当编译检测到错误时,将在输出窗口出现相应的出错信息,用鼠标双击它,编译器将自行打开源文件。这时可对源文件编辑、修改错误,再次进行编译。当编译不再有错时,输出窗口将显示“Build completed successfully”。

DSP期末考试题目

1.2812芯片定点32位。 2.2000系列用于自动化的原因功能比较强。 2812 IO口供电电压3.3V,内核供电电压1.8V或1.9V 2812 编译时.CMD是什么文件,.out是什么文件.obj是什么文件? .CMD是链接命令文件,.out 是最终可执行文件,.obj是目标文件。 2812 3个通用定时器是多少位,DSP采用段的概念,各个段的都有什么意思?32位;已初始化的断:包含真实的指令跟数据,存放在程序存储空间;未初始化的段:包含变量的地址空间,存放在数据存储空间。 2812 时钟150M时,低速、高速外设时钟是多少M?低速37.5M,高速75M DSP总线结构是什么样子? 改进型哈弗结构 2812 CPU的中断有可屏蔽中断和不可屏蔽中断,分别是哪些? 可屏蔽中断:1~14 14个通用中断;DLOGINT数据标志中断;RTOSINT实时操作系统中断。不可屏蔽中断:软件中断(INTR指令和TRAP指令);硬件中断,非法指令陷阱;硬件复位中断;用户自定义中断。 2812实际寻址空间是多少? 00000~3FFFF(4M) 2812 1个事件管理器能产生8路PWM波。注意老师多半出的2个事件管理器16路 DSP有3组数据总线,分别是什么?程序数据总线、数据读数据总线、数据写数据总线。ADC模块有多少组采样通道?8*2=16路 SCI和SPI口哪一个需要设置波特率?SCI 把目标文件下载到实验板怎么操作?File→load program CAN通讯的最大带宽是多少?1M 加上看门狗,2812cpu定时器一共有多少个?3个通用定时器,4个事件管理定时器,1个看门狗,总共8个。 2812DSP流水线深度为8。 TI公司生产的最牛dsp是667x有8个核,320G mac /s。注:mac是乘法累加G=109 2812AD满量程转换时,转换寄存器的值是多少?0xFFF0 2812CPU最小系统:主芯片,电源模块,时钟电路,复位电路,JTAG。 DSP生产厂家是TI公司,ADI公司,飞思卡尔公司。 TI公司的DSP芯片类型有C2000,C5000,C6000。系列 DSP工程开发,需要编写4个文件:头文件,库文件,源文件,CMD链接文件。 2812有2个事件管理器EVA、EVB,每一个事件管理器包含哪几个功能?通用定时器;比较单元;捕获单元;正交编码电路。 2812通用定时器计数周期怎么算?T=(TDDRH:TDDR+1)*(PRDH:PRD+1) /150 μs 2812在什么情况下工作于微处理器模式?MP/=1 2812中断系统有一部分挂在PIE上面,这些都属于可屏蔽中断,那么能够响应中断的条件是什么?INTM置0响应总中断,其他的置1响应。(INTM=0,IFR=1,IER=1,PIEIFR=1,PIEIER=1,PIEACR=1) 2812在进行引导时第一条程序在什么位置?0x3FFFC0 注:就是程序运行的起始地址,2^20byte=1M 2812AD转换器的输入电压0~3V。 2812片内flash有128k*16位。 2812的OTP模块是可编程模块可以多次擦写吗?不可以,是一次擦写。

DSP期末考试试卷

第一套 一、填空题(共30分,每空1分) 1.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法。2.在直接寻址中,指令代码包含了数据存储器地址的低7 位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位 CPL =1 时,加上SP基地址形成数据存储器地址。 3.TMS320C54有两个通用引脚,BIO和XF,BIO 输入引脚可用于监视外部接口器件的状态;XF 输出引脚可以用于与外部接口器件的握手信号。 4.累加器又叫做目的寄存器,它的作用是存放从ALU或乘法器/加法器单元输出的数据。它的存放格式为Array 5.桶形移位器的移位数有三中表达方式:立即数;ASM ;T低6位6.DSP可以处理双16位或双精度算术运算,当C16=0 位双精度运算方式,当C16=1 为双16位运算方式。 7.复位电路有三种方式,分别是上电复位;手动复位;软件复位。8.立即数寻址指令中在数字或符号常数前面加一个# 号,来表示立即数。 9.位倒序寻址方式中,AR0中存放的是FFT点数的一半。 10.一般,COFF目标文件中包含三个缺省的段:.text 段;.data 段和.bss 段。11.汇编源程序中标号可选,若使用标号,则标号必须从第一列开始;程序中可以有注释,注释在第一列开始时前面需标上星号或分号,但在其它列开始的注释前面只能标分号。 12.’C5402有23条外部程序地址线,其程序空间可扩展到1M ,内程序区在第0页。 二、简答(共40分) 1.TMS320C54x有多少条16位总线?这些总线各有什么作用?(6分) 答:’C54x共有4组8条16位总线 1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。 3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。 4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。 2.TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分配?(6分) 答:TMS320C54x的片内存储空间分为3个可选择的存储空间:64K的程序空间,64K的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、DARAM。 程序空间:MP/MC=1 4000H~FFFFH 片外 MP/MC=0 4000H~EFFFH 片外FF00H~FFFFH 片内 OVL Y=1 0000H~007FH 保留0080H~007FH 片内 OVL Y=0 0000H~3FFFH 片外 数据空间:DROM=1 F000H~FEFFH 只读空间FF00H~FFFH 保留 DROM=0 F000H~FEFFH 片外 3.当TMS320C54x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(6 分)

dsp大作业

一、简答题:(要求:手写,须写出各题必要的知识点,本大题共30分,每小题5分。) 1、可编程DSP芯片有那九大特点? 2、TMS320C54x芯片的流水线操作共有多少个操作阶段,每个阶段执行什么任务,完成一条指令需要那些操作周期? 3、DSP系统硬件设计过程都有那些步骤?

4、TMS320C54x的数据寻址方式各有什么特点,应该应用在什么场合场所? 5、链接器能完成什么工作?链接器命令文件中,MEMORY命令和SECTION命令的任务是什么? 6、什么是“自举”? 二、分析题:(要求:手写,结果需要有一定的分析计算过程,本大题共55分,每小题5分。)

1、已知:(80H)= 20H,(81H)= 30H。 LD #0, DP LD 80H, 16,B ADD 81H, B 运行以上程序后,DP、B分别等于多少? 2、回答标准串行口数据的发送和接收过程。 3、已知:A = FFFD876624, T = 0000,则运行EXP A指令后,A和T各为多少? 4、已知:B = 420D0D0D0D, T = FFF9,则运行NORM B指令后,B和T各为多少? 5、在不含循环的程序中,RPTZ #9语句和其前一句、后一句以及后第二句各运行几次? 6、说明语句: STM #0080H, IMR的功能?

7、已知中断向量TINT = 014H,中断向量地址指针IPTR = 0111H,求中断向量地址是多少? 8、已知(30H)=50H,AR2=40H,AR3=60H,AR4=80H MVKD 30H, *AR2 MVDD *AR2, *AR3 MVDM *AR3, *AR4 运行以上程序后,(30H),(40H)、*AR3,AR4的值分别是多少? 9、在堆栈操作中,PC当前地址为4020h,SP当前地址为0013h,运行PSHM AR7后,PC和SP的值分别是多少? 10、请仔细分析下列程序代码,并说明每句程序代码的作用。 sample.out -m sample.map -stack 100 sample.obj meminit.obj -l rts.lib MEMORY { PAGE 0: VECT: origin = 0xff80, length 0x80 PAGE 0: PROG: origin = 0x2000, length 0x400 PAGE 1: DATA: origin = 0x800, length 0x400 } SECTIONS {

DSP历年期末考试及答案

DSP历年期末考试及答案

————————————————————————————————作者:————————————————————————————————日期:

试卷1 一.填空题(本题总分12分,每空1分) 1.TMS320VC5402型DSP的内部采用条位的多总线结构。2.TMS329VC5402型DSP有个辅助工作寄存器。 3.在链接器命令文件中,PAGE 1通常指________存储空间。 4.TI公司DSP处理器的软件开发环境是__________________。 5.直接寻址中从页指针的位置可以偏移寻址个单元。 6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。7.MS320C54X DSP主机接口HPI是________位并行口。 8.TMS320VC5402型DSP处理器的内核供电电压________伏。 9. C54x系列DSP上电复位后的工作频率是由片外3个管脚;;来决定的。 二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.DSP 处理器TMS320VC5402的供电电压为5V。()2.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。()3.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。()4. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()5.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA 属于硬件可编程器件,用硬件实现数据处理。()6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。 ()7.TMS320C54X 系列DSP可以通过设置OVL Y位实现数据存储空间和程序存储空间共享片内ROM。() 8. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。() 9.在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。()10. C54x系列DSP只有两个通用的I/O引脚。()三.程序阅读题(本题总分30分,每小题10分) 1. 阅读下面的程序,回答问题。 .bss x, 8 LD #0001H,16,B STM #7,BRC STM #x,AR4 RPTB next-1 ADD *AR4,16,B,A STH A,*AR4+ next: LD #0,B 问题:(1)寄存器“BRC”的功能是什么? (2)汇编语句“ADD *AR4,16,B,A”执行了多少次? (3)执行语句“LD #0001H,16,B”后,累加器B的内容是多少? 2.已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:

2020年数字信号处理大作业新版修订

2019~2020年度《数字信号处理》大作业题目与要求 大作业要求: 本学期大作业总分40分,学生可选择任意数量的题目完成,只要所选题目总分达到40分即可,所选题目总分如果超过40分,超过的部分不计入大作业总分。大作业以电子版的形式提交,内容应包括详细的程序设计思路与题目分析(题目分析指的是对该题目中所用到的知识点的说明,不要照搬书上或网上的内容,写出你自己对该知识点的理解。),程序截图,程序源码,其中设计思路和程序截图可写在同一个文档中,程序源码可以是.txt或.m 文件,并在源码中标注代码注释。另:题目中有GUI设计要求的部分占该题目分值的20%,功能实现部分占该题目分值的80%。 注:以下题目均用MATLAB完成。 大作业题目: 1、实现有限长序列的基本运算(包括:加法、乘法、累加、移位、翻褶、抽取、插值、卷积和),并以GUI的形式将这些运算整合起来,使用者可通过向GUI输入任意有限长序列得到对应的运算结果。(5分) 2、设计一个GUI,实现奈奎斯特采样定理,要求:1、在GUI中输入任意一个模拟信号,显示该模拟信号的时域和频域谱图;2、在GUI中设置任意采样频率,对输入的模拟信号进行采样处理,显示采样信号的时域和频域谱图; 3、在GUI中实现采样信号向模拟信号的恢复功能,要求显示恢复后的模拟信号的时域和频域谱图。(10分) 3、通过GUI动态展示z变换与s变换之间的所有关系。(5分) 4、设计一个GUI,通过向GUI输入任意系统函数,得到其对应系统的相关信息(包括:系统频率响应中的幅度响应和相位响应、系统零极点的分布、系统的稳定性判定)。(10分) 5、设计一个GUI,实现利用DFT(或FFT)完成任意时域信号的频谱分析,要求:1、可在GUI中输入时域数字或模拟信号;2、可设置DFT点数;3、在GUI中显示输入信号经DFT(或FFT)处理后的频谱图;3、若输入信号为模拟信号,需完成对该模拟信号的采样,采样频率可在GUI中设置。(10分) 6、在GUI中,实现IIR滤波器的直接型、级联型和并联型三种结构之间的任意转换,要求:在GUI中输入任意一型的系统函数后可在该GUI中显示出对应的另外两型的系统函数。(10分) 7、实现巴特沃斯样本模拟低通滤波器及其对应的数字低通滤波器的设计,以GUI的形式给出。要求:输入所需的模拟低通滤波器参数指标后,程序能将该指标转化为数字低通滤波器指标(在GUI中应能选择转化方式:冲激响应不变法、双线性变换法),并在GUI中显示出所给参数下巴特沃斯样本模拟低通滤波器及其对应的数字低通滤波器的频率响应中幅度响应的频谱图。(15分) 8、已知某组数字信号(见大作业数据压缩包中HWDATA.mat文件),该信号中除了目标信号之外还掺杂有强噪声,但噪声与目标信号的频率不重叠,要求采用本学期已学的知识对该信

DSP大作业快速傅立叶变换实验与设计

DSP 原理及应用 大作业 ——快速傅立叶变换 专业:XXXX 姓名:XXX 学 号:08201081XX 指导老师: XX 时间:2XXXX 快速傅立叶变换(FFT )实验 一、设计目的 1.在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。 2.熟悉应用FFT对典型信号进行频谱分析的方法 3?了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT。 4.掌握用窗函数法设计FFT快速傅里叶的原理和方法; 5 ?熟悉FFT快速傅里叶特性; 二、所需设备

PC 兼容机一台,操作系统为Windows2000(或Windows98 , WindowsXP,以下 默认为Windows2000),安装Code Composer Studio 2.0 软件。 三、设计内容 本试验要求使用FFT变换求一个时域信号的频域特性,并从这个频域特性求出该信号的频 率值。使用c语言实现对FFT算法的仿真,然后使用DSP汇编语言实现对FFT 的DSP 编程。本实验采用软件仿真,不需设置硬件。 四、设计原理 在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我 们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT N 1 1 N-1 X(k)=》x(nW,n⑷x(n)=石送X(kW「n 定义为:心,W N =e反换为:N心有限长序 列的DFT是其Z变换在单位圆上的等距采样,或者是序列Fourier变换的等距采样,因此可以用于序列的谱分析。 FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的FFT是以2为基数的,其长度N=2L,它的效率高,程序简单使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。 在运用DFT进行频谱分析的过程中可能产生几种问题:⑴混叠 序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist定理时, 就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。 避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。 ⑵泄漏 实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。 泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。 DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被尖桩的栅栏”所拦住,不能别我们观察到。 减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而 变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

《DSP原理与应用》期末考试试题

一、单项选择题:(每小题2分,共30分) 1、下面对一些常用的伪指令说法正确的是:( D ) A、.def所定义的符号,是在当前模块中使用,在别的 模块中定义的符号; B、.ref 所定义的符号,是当前模块中定义,并可在别 的模块中使用的符号; C、.sect命令定义的段是未初始化的段; D、.usect命令定义的段是未初始化的段。 2、要使DSP能够响应某个可屏蔽中断,下面的说法正确的 是( B) A、需要把状态寄存器ST1的INTM位置1,且中断屏蔽 寄存器IMR相应位置0 B、需要把状态寄存器ST1的INTM位置1,且中断屏蔽 寄存器IMR相应位置1 C、需要把状态寄存器ST1的INTM位置0,且中断屏蔽 寄存器IMR相应位置0 D、需要把状态寄存器ST1的INTM位置0,且中断屏蔽 寄存器IMR相应位置1 3、对于TMS320C54x系列DSP芯片,下列说法正确的 是………… ( C ) A、 8位DSP B、32位DSP C、定点型DSP D、浮 点型DSP 4、若链接器命令文件的MEMORY部分如下所示: MEMORY { PAGE 0: PROG: origin=C00h, length=1000h PAGE 1: DATA: origin=80h, length=200h } 则下面说法不正确的是() A、程序存储器配置为4K字大小 B、程序存储器配置 为8K字大小 C、数据存储器配置为512字大小 D、数据存储器取名 为DATA 5、在串行口工作于移位寄存器方式时,其接收由()来启动。 A、REN B、RI C、REN和RI D、TR 6、执行指令PSHM AR5之前SP=03FEH,则指令执行后SP=( A ) A、03FDH B、03FFH C、03FCH D、0400H 7、TMS320C54X DSP采用改进的哈佛结构,围绕____A__组_______位总线建立。 A、8,16 B、16,8 C、8,8 D、16, 16 8、TMS320C54X DSP汇编指令的操作数域中, A 前缀

西电数字信号处理大作业

第二章 2.25 已知线性时不变系统的差分方程为 若系统的输入序列x(x)={1,2,3,4,2,1}编写利用递推法计算系统零状态响应的MATLAB程序,并计算出结果。 代码及运行结果: >> A=[1,-0.5]; >> B=[1,0,2]; >> n=0:5; >> xn=[1,2,3,4,2,1]; >> zx=[0,0,0];zy=0; >> zi=filtic(B,A,zy,zx); >> yn=filter(B,A,xn,zi); >> figure(1) >> stem(n,yn,'.'); >> grid on;

2.28图所示系统是由四个子系统T1、T2、T3和T4组成的,分别用单位脉冲响应或差分方程描述为 T1: 其他 T2: 其他 T3: T4: 编写计算整个系统的单位脉冲响应h(n),0≤n≤99的MATLAB程序,并计算结果。 代码及结果如下: >> a=0.25;b=0.5;c=0.25; >> ys=0; >> xn=[1,zeros(1,99)]; >> B=[a,b,c]; >> A=1; >> xi=filtic(B,A,ys); >> yn1=filter(B,A,xn,xi); >> h1=[1,1/2,1/4,1/8,1/16,1/32]; >> h2=[1,1,1,1,1,1]; >> h3=conv(h1,h2); >> h31=[h3,zeros(1,89)]; >> yn2=yn1+h31; >> D=[1,1];C=[1,-0.9,0.81]; >> xi2=filtic(D,C,yn2,xi); >> xi2=filtic(D,C,ys); >> yn=filter(D,C,yn2,xi); >> n=0:99; >> figure(1) >> stem(n,yn,'.'); >> title('单位脉冲响应'); >> xlabel('n');ylabel('yn');

DSP大作业修改过后

题目温度采集分析系统设计 学生姓名 学号 专业电子信息工程 指导教师 时间 2018.1.1

摘要:本课题设计基于TMS320F28335型号DSP的高速度、宽范围、高精度的温度采集系统方案。系统以TMS320F28335为控制核心,通过测温电路采集温度数据,经AD转换后给DSP 控制器,通过FIR滤波器计算出温度值,DSP通过RS232接口上传温度值到电脑上位机显示温度,通过LCD12864显示温度及时间,重点介绍AD转换接口电路以及系统控制软件的设计过程。 一、功能设计要求 设计一个电池供电野外温度采集分析系统,功能包括: 1.每小时采集环境温度10次,进行FIR滤波 2.每天通过串口发送单天平均气温 3.有三个按键:K1切换温度/时间显示。K2、K3修改时间,K2=time+,K3=time- 4.当电池电压低于安全值时,发送报警信息 二、硬件设计 1.系统方案: 该系统包括温度采集电路模块、TMS320F28335芯片、A/D转换部分和LCD液晶显示,首先要初始化A/D转换模块,然后等待中断,当产生中断后对采集到的模拟信号进行处理,并通过低频率的FIR滤波后得到一天的温度输出,为确保转换精度要进行多次取值求平均,转换结果放在结果寄存器的高12位上,通过编程将处理后的温度值送到LCD上进行显示。设计采用热敏电阻PT100组成的温度采集电路,利用热敏电阻输出电压值与温度间的函数关系式,检测温度的变化;然后将采集的温度送入TMS320F28335的片上A/D,将电压转换为数字信号,并通过低频率的FIR滤波后得到一天的温度输出;最后通过LCD12864显示结果。 图1 系统方案 2.主控方案:TMS320F28335主控芯片 控制芯片32位TMS320F28335芯片,该DSP芯片专门用于控制领域,最高可在150 MHz主频下工作,可进行双16 ×16乘加和32 ×32乘加操作,运算与控制速度快,并带有18 K×16位片上SRAM和128 K×16位片上FLASH;并带有两个事件管理模块,可以同

DSP大作业

无限冲激响应滤波器(IIR)算法及实现 姓名:徐旭日 学号:20130700332 专业班级:电子信息工程(2)班 指导老师:王忠勇 日期:2016/6/2

摘要:21世纪是数字化的时代,随着信息处理技术的飞速发展,数字信号处理技术逐渐发 展成为一门主流技术。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。这些优势决定数字滤波器的应用越来越广泛。数字滤波器是数字信号处理中最重要的组成部分之一,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。本课题通过软件设计IIR数字滤波器,并对所设计的滤波器进行仿真:应用DSP集成开发环境—CCS调试程序,用TMS320F2812实现IIR数字滤波。具体工作包括:对IIR数字滤波器的基本理论进行分析和探讨。应用DSP集成开发环境调试程序,用TMS320F2812来实现IIR数字滤波。通过硬件液晶显示模块验证试验结果,并对相关问题进行分析。 关键词:数字滤波器;DSP;TMS320F2812;无限冲激响应滤波器(IIR)。 引言:随着数字化飞速发展,数字信号处理技术受到了人们的广泛关注,其理论及算法 随着计算机技术和微电子技术的发展得到飞速发展,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。数字信号处理由于运算速度快,具有可编程的特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。采用DSP芯片来实现数字信号处理系统是当前发展的趋势。 在数字信号处理中,数字滤波占有极其重要的地位。滤波是信号处理中的一个重要概念。滤波分经典滤波和现代滤波。经典滤波的概念,是根据傅里叶分析和变换提出的一个工程概念。根据高等数学理论,任何一个满足一定条件的信号,都可以被看成是由无限个正弦波叠加而成。换句话说,就是工程信号是不同频率的正弦波线性叠加而成的,组成信号的不同频率的正弦波叫做信号的频率成分或叫做谐波成分。只允许一定频率范围内的信号成分正常通过,而阻止另一部分频率成分通过的电路,叫做经典滤波器或滤波电路。数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。数字滤波器容易实现不同幅度和相位频率特性指标。用DSP芯片实现数字滤波除具有稳定性好、精度高、不受环境影响外,还具有灵活性好的特点。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。 原理: 1.无限冲激响应数字滤波器的基础理论。 利用模拟滤波器成熟的理论及其设计方法来设计IIR数字低通滤波器是常用的方法。 H s,再按照一 设计过程是:按照数字滤波器技术指标要求一个过渡模拟低通滤波器() a H s转换成数字低通滤波器函数H(z)。由此可见,设计的关键问题就 定的转换关系将() a H s转换成z平面上的H(z)。 是要找到这种关系,将s平面的() a H s从s平面转换到z平面的方法有多种,但工程上常用的是脉冲响 将系统函数() a 应不变法和双线性变换法。在课题中我们采用双线性变换法设计IIR数字低通滤波器。 通过采用非线性频率压缩的方法,将整个模拟频率轴压缩到±π/T之间,再用

DSP历年期末试卷及答案精选文档

D S P历年期末试卷及答 案精选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

试卷1 一.填空题(本题总分12分,每空1分) 1.TMS320VC5402型DSP的内部采用条位的多总线结构。2.TMS329VC5402型DSP有个辅助工作寄存器。 3.在链接器命令文件中,PAGE 1通常指________存储空间。 4.TI公司DSP处理器的软件开发环境是__________________。 5.直接寻址中从页指针的位置可以偏移寻址个单元。 6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。 7.MS320C54X DSP主机接口HPI是________位并行口。 型DSP处理器的内核供电电压________伏。 9. C54x系列DSP上电复位后的工作频率是由片外3个管脚;;来决定的。 二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.DSP 处理器TMS320VC5402的供电电压为5V。()

2.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u 律和A律扩展表、sin函数表以及中断向量表。 ( ) 3.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。( ) 4. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。 () 5.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU 软核的F P G A属于硬件可编程器件,用硬件实现数据处理。 ()6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。 () 7. TMS320C54X 系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间共享片内ROM。 ( )

西工大DSP大作业

西工大DSRt作业

实验1基于CCS的简单的定点DSF程序 一、实验要求 1、自行安装CCS3.3版本,配置和运行CCS 2、熟悉CCS开发环境,访问读写DSP勺寄存器AC0-AC3 AR0-AR7, PC, T0-T3 3、结合C5510的存储器空间分配,访问DSR的内部RAM 4、编写一个最简单的定点DSP程序,计算下面式子 y=0.1*1.2+35*20+15*1.6 5、采用定点DSP进行计算,确定每个操作数的定点表示方法,最后结果的定点表示方法,并验证结果 6、对编写的程序进行编译、链接、运行、断点执行、单步抽并给出map映射文件 二、实验原理 DSP芯片的定点运算---Q格式(转)2008-09-03 15:47 DSP 芯片的 定点运算 1. 数据的溢出: 1>溢出分类:上溢(oveflow ): 下溢(underflow ) 2>溢出的结果:Max Min Min Max un sig ned char 0 255 sig ned char -128 127 un sig ned int 0 65535 signed int -32768 32767

上溢在圆圈上按数据逆时针移动;下溢在圆圈上顺时钟移动。 例:signed int : 32767+1 = —32768 ; -32768-1 = 32767 unsigned char : 255+1 = 0; 0-1 = 255 3>为了避免溢出的发生,一般在DSP中可以设置溢出保护功能。当 发生溢出时,自动将结果设置为最大值或最小值。 2. 定点处理器对浮点数的处理: 1>定义变量为浮点型(float , double ),用C语言抹平定点处理器和浮点处理器 2>放大若干倍表示小数。比如要表示精度为0.01的变量,放大100倍去运算,3>定标法:Q格式:通过假定小数点位于哪一位的右侧,从而确定小 数的精度。Q0 :小数点在第0位的后面,即我们一般采用的方法Q15 小数点在第15位的后面,0~ 14位都是小数位。转化公式:Q= (int ) (F X pow(2, q)) F =(float ) (Qx pow (2,—q)) 3. Q格式的运算 1>定点加减法:须转换成相同的Q格式才能加减 2>定点乘法:不同Q格式的数据相乘,相当于Q值相加 3>定点除法:不同Q格式的数据相除,相当于Q值相减 4>定点左移:左移相当于Q值增加 5>定点右移:右移相当于Q减少 4. Q格式的应用格式 实际应用中,浮点运算大都时候都是既有整数部分,也有小数部分的。 所以要选择一个适当的定标格式才能更好的处理运算。一般用如下两 种方法:

DSP历年期末试卷及答案

试卷1 一?填空题(本题总分12分,每空1分) 1 . TMS320VC540 2 型DSP的内部采用_________________ 条___________ 位的多总线结构。 2 . TMS329VC5402 型DSP有 ____________________ 个辅助工作寄存器。 3 ?在链接器命令文件中,PAGE 1通常指__________ 储空间。 4 . TI公司DSP处理器的软件开发环境是___________________ 。 5?直接寻址中从页指针的位置可以偏移寻址_______________ 个单元。 6 . TMS320C54X 系列DSP处理器上电复位后,程序从指定存储地址________________ 元开始工作。 7 . MS320C54X DSP 主机接口 HPI 是_____________ 并行口。 8. TMS320VC5402 型DSP处理器的内核供电电压______________ 。 9. C54x系列DSP上电复位后的工作频率是由片外3个管脚__________ ; ________ ; ____ 来决定的。 二.判断题(本题总分10分,每小题1分,正确打“V”,错误打“X”) 1 . DSP处理器TMS320VC540 2 的供电电压为 5V。() 2 . TMS320VC5402 型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。 () 3 . MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中 的位置。() 4. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()

西工大DSP大作业

实验1 基于CCS的简单的定点DSP程序 一、实验要求 1、自行安装CCS3.3版本,配置和运行CCS 2、熟悉CCS开发环境,访问读写DSP的寄存器AC0-AC3,ARO-AR7, PC, T0-T3 3、结合C5510的存储器空间分配,访问DSP的内部RAM 4、编写一个最简单的定点DSP程序,计算下面式子y=0.1*1.2+35*20+15*1.6 5、采用定点DSP进行计算,确定每个操作数的定点表示方法, 最后结果的定点表示方法,并验证结果 6、对编写的程序进行编译、链接、运行、断点执行、单步抽并给出map映射文件 二、实验原理 DSP芯片的定点运算---Q格式(转) 2008-09-03 15:47 DSP芯片的定点运算 1.数据的溢出: 1>溢出分类:上溢(overflow):下溢(underflow) 2>溢出的结果:Max Min Min Max unsigned char 0 255 signed char -128 127 unsigned int 0 65535 signed int -32768 32767 上溢在圆圈上按数据逆时针移动;下溢在圆圈上顺时钟移动。例:signed int :32767+1=-32768;-32768-1=32767

unsigned char:255+1=0;0-1=255 3>为了避免溢出的发生,一般在DSP中可以设置溢出保护功能。当 发生溢出时,自动将结果设置为最大值或最小值。 2.定点处理器对浮点数的处理: 1>定义变量为浮点型(float,double),用C语言抹平定点处理器和浮点处理器的区 2>放大若干倍表示小数。比如要表示精度为0.01的变量,放大100倍去运算,运算 3>定标法:Q格式:通过假定小数点位于哪一位的右侧,从而确定小 数的精度。Q0:小数点在第0位的后面,即我们一般采用的方法Q15 小数点在第15位的后面,0~14位都是小数位。转化公式:Q=(int) (F×pow(2,q))F=(float)(Q×pow(2,-q)) 3.Q格式的运算 1>定点加减法:须转换成相同的Q格式才能加减 2>定点乘法:不同Q格式的数据相乘,相当于Q值相加 3>定点除法:不同Q格式的数据相除,相当于Q值相减 4>定点左移:左移相当于Q值增加 5> 定点右移:右移相当于Q减少 4.Q格式的应用格式 实际应用中,浮点运算大都时候都是既有整数部分,也有小数部分的。 所以要选择一个适当的定标格式才能更好的处理运算。一般用如下两 种方法: 1>使用时使用适中的定标,既可以表示一定的整数复位也可以表示 小数复位,如对于2812的32位系统,使用Q15格式,可表示

(完整word版)【上海师范大学】DSP技术基础期末试卷A(答案)

上海师范大学标准试卷 2009 ~2010学年第一学期考试日期2009 年11月20日 科目:DSP技术基础(A卷) 专业本、专科年级班姓名学号 我承诺,遵守《上海师范大学考场规则》,诚信考试。签名:________________ 一、填空题(20分) 1.典型的实时数字信号处理系统的基本部件包括:抗混叠滤波器、模数转换器、 DSP(数字信号处理器)、数模转换器和抗镜像滤波器。 2.存储器结构分为两大类:冯诺依曼结构和哈佛结构。冯?诺依曼结构的特点是 只有一个存储器空间、一套地址总线和一套数据总线;哈佛结构的程序存储器空间和数据存储器空间分开,具有多套地址、数据总线,哈佛结构是并行体系结构,程序和数据存于不同的存储器空间,每个存储器空间独立编址、独立访问。 3.TMS320C55x 的寻址空间为16MB,当CPU从程序空间读取程序代码时,使 用24位地址,当访问数据空间时,使用23位的地址。 4.C55x DSP支持三种寻址模式,绝对寻址模式、直接寻址模式和间接寻址模式。 5.EHPI的连接方式有两种:非复用方式和复用方式。 6.McBSP属于多通道串口,每个McBSP最多可有128个通道。每个寄存器控制 16个通道,因此128个通道共有8个通道使能寄存器。 7.McBSP的寄存器主要包括三部分:收发通道寄存器、时钟和帧同步寄存器、 多通道选择寄存器。

二、简答题(15分) 1.简述数字信号处理器的主要特点。 答:(1)存储器采用哈佛或者改进的哈佛结构;(2)内部采用了多级流水;(3)具有硬件乘法累加单元;(4)可以实现零开销循环;(5)采用了特殊的寻址方式;(6)高效的特殊指令;(7)具有丰富的片内外设。 2.TMS320C55x DSP 的流水线操作包括多少个阶段?每一阶段完成什么操作?答:两个。第一阶段是取流水线,即从内存中取出32位的指令包,放入指令缓冲队(IBQ)中,然后为流水线的第二阶段提供48位的指令包。第二阶段是指执行流水线,这部分的功能是对指令进行解码,完成数据的存取和计算。 3.TMS320C55x DSP有哪些片上外设? 答:两个20位的定时器。一个看门狗定时器。6通道直接存储器存取控制器(DMA)。外部存储器接口(EMIF)。三个串口支持最多三个多通道缓冲串口(McBSP)或最多两个多媒体/安全数字卡接口。增强型主机接口(EHPI)是一个16位的并行接口。可编程锁相环(DPLL)时钟发生器。USB全速(12Mbps)从端口。I2C主从接口。一个实时时钟。

长沙理工数字信号处理大作业数字滤波器设计

IIR及FIR数字滤波器 一题干 对模拟信号进行低通滤波处理,要求通带0≤f≤4kHz,通带衰减小于0.5dB,阻带4.5k Hz≤f<∞,阻带衰减大于50dB,设采样频率Fs=20kHz。 (1)设计巴特沃斯模拟低通滤波器,求出Ha(s)的分子、分母多项式系数B和A,并画出幅频响应损耗函数曲线。 (2)分别用脉冲响应不变法和双线性变换法设计IIR低通数字滤波器,求出Ha(z) 的分子、分母多项式系数Bz和Az,并画出幅频响应损耗函数曲线 (3)采用窗函数法(分别用汉宁窗、哈明窗、布莱克曼窗函数)设计满足要求的FIR 低通滤波器,求出h(n),并画出幅频响应损耗函数曲线. (4)用频率采样法设计满足要求的FIR低通滤波器,求出h(n),并画出幅频响应损耗函数曲线。

二求解过程 具体内容如下: (1)设计巴特沃斯模拟低通滤波器,求出Ha(s)的分子、分母多项式系数B和A,并画出幅频响应损耗函数曲线。 程序: wp=2*pi*4000; ws=2*pi*5800; Rp=0.5; As=50; [N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s'); k=0:511; fk=0:20000/512:20000; wk=2*pi*fk; Hk=freqs(B,A,wk); plot(fk/1000,20*log10(abs(Hk))); grid on xlabel('频率/kHz'); ylabel('幅度/dB'); axis([0,6,-65,5]); 波形图:

A = 1.0e+207 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0020 2.1576 B = 1.0e+207 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.1576 N = 46

相关文档
最新文档