DSP实验3

实验三 快速傅里叶变换 FFT
一、实验目的
1.理解DFT 算法,并能用MATLAB 实现DFT 。

2. 加深对FFT 的理解,体会DFT 和FFT 之间的关系。

3.熟悉应用FFT 实现两个序列的线性卷积的方法。

二、实验原理
N 点序列x(n) 的DFT 和IDFT 定义:
若将DFT 变换的定义写成矩阵形式,则得到
X=A ﹒x ,其中DFT 变换矩阵A 为
⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩
⎪⎪⎨⎧=---2)1(111...1.........
......11...11N N N N N N N W W W W A 可以用函数U=fft(u,N)和u=ifft(U,N)计算N 点序列的DFT 正、反变换。

三、实验内容
(一)离散傅里叶变换(DFT )
1.用MATLAB 求N=16的有限序列)4/sin()8/sin()(ππn n n x +=的DFT 结果,并画出结果图。

参考程序如下:
N=16;
n=0:1:N-1; %时域采样
xn=sin(n*pi/8)+sin(n*pi/4);
k=0:1:N-1; %频域采样
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
subplot(2,1,1)
stem(n,xn);
subplot(2,1,2)
stem(k,abs(Xk));
2.矩形序列x(n)=R
(n),求N分别取8,32时的DFT,最后绘出结果图形。

5
参考程序如下:
function[Xk]=dft(xn,N)
n=[0:1:N-1]; %n的行向量
k=[0:1:N-1]; %k的行向量
WN=exp(-j*2*pi/N); %旋转因子
nk=n'*k; %产生一个含nk值的N乘N维矩阵WNnk=WN.^nk; %DFT矩阵
Xk=xn*WNnk; %DFT系数的行向量
调用上面函数解题。

N=8;x=[ones(1,5),zeros(1,N-5)];
n=0:N-1;
X=dft(x,N); %N=8点离散傅立叶变换
magX=abs(X);phaX=angle(X)*180/pi;
k=(0:length(magX)'-1)*N/length(magX);
subplot(2,2,1);stem(n,x);ylabel('x(n)');
subplot(2,2,2);stem(k,magX);axis([0,10,0,5]);ylabel('|X(k)|');
N=32;x=[ones(1,5),zeros(1,N-5)];
n=0:N-1;
X=dft(x,N); %N=32点离散傅立叶变换
magX=abs(X);phaX=angle(X)*180/pi;
k=(0:length(magX)'-1)*N/length(magX);
subplot(2,2,3);stem(n,x);ylabel('x(n)');
subplot(2,2,4);stem(k,magX);axis([0,32,0,5]);ylabel('|x(k)|');
(二)快速傅里叶变换(FFT)
1.已知一个8点的时域非周期离散阶跃信号,n1=0,n2=7,在n0=4前为0,n0以后为1。

用N=32点进行FFT变换,作其时域信号图及信号频谱图。

参考程序如下:
n1=0;n0=4;n2=7;N=32;
n=n1:n2;
w=[(n-n0)>=0]; %建立时间信号
subplot(2,1,1);stem(n,w);
i=0:N-1; %频率采样点从0开始
y=fft(w,N); %用快速算法计算DFT
aw=abs(y); %求幅度值
subplot(2,1,2);stem(i,aw);
2.利用FFT计算线性卷积。

设x(n)=[2 3 1 4 5];h(n)=[2 1 7 4 5 7 2 3]。

计算二者的线性卷积。

参考程序如下:
x=[2 3 1 4 5];
h=[2 1 7 4 5 7 2 3];
Lenx=length(x); %求序列x的长度
Lenh=length(h); %求序列h的长度
N=Lenx+Lenh-1;
Xk=fft(x,N); %计算x序列的DFT
Hk=fft(h,N); %计算h序列的DFT
Yk=Xk.*Hk;
y=ifft(Yk) %求IDFT
stem(y);
xlabel('n');
ylabel('y(n)');
title('x(n)*h(n)');
grid
y =
4 8 19 38 43 66 81 59 64 46 22 15
四.实验分析
认真观察实验结果,记录结果,并画出结果图形,分析实验产生的现象的原因。

五.实验总结
总结实验认识、过程、效果及体会、意见建议。

合集下载

DSP图像处理技术-实验报告模板New1

DSP图像处理技术-实验报告模板New1

西安**大学通信与信息工程学院《DSP数字图像处理技术》课内实验报告(2016/ 2017 学年第 2学期)学生姓名: 88888专业班级: 7777学号: 0000指导教师: 0000目录实验1:Code Composer Studio入门实验 0一、实验目的 0二、实验原理 0三、实验内容(调试好的程序,实验结果与分析) (1)四、实验小结 (1)实验2:编写一个以C语言为基础的DSP程序 (4)一、实验目的 (4)二、实验原理 (4)三、实验内容(调试好的程序,实验结果与分析) (4)四、实验小结 (6)实验3:图像灰度化实验 (7)一、实验目的 (7)二、实验原理 (7)三、实验内容(调试好的程序,实验结果与分析) (7)四、实验小结 (8)实验4:图像平滑实验 (10)一、实验目的 (10)二、实验原理 (10)三、实验内容(调试好的程序,实验结果与分析) (12)四、实验小结 (15)实验5:图像锐化实验 (16)一、实验目的 (16)二、实验原理 (16)三、实验内容(调试好的程序,实验结果与分析) (16)四、实验小结 (18)实验6:图像灰度变换实验 (21)一、实验目的 (21)二、实验原理 (21)三、实验内容(调试好的程序,实验结果与分析) (21)四、实验小结 (22)实验7:图像均衡化实验 (24)一、实验目的 (24)二、实验原理 (24)三、实验内容(调试好的程序,实验结果与分析) (24)四、实验小结 (24)实验8:图像边缘检测实验 (28)一、实验目的 (28)二、实验原理 (28)三、实验内容(调试好的程序,实验结果与分析) (28)四、实验小结 (30)实验总结与心得体会 (36)实验1:Code Composer Studio入门实验一、实验目的1、学习创建工程和管理工程的方法2、了解基本的编译和调试功能3、学习使用观察窗口4、了解图像功能的使用二、实验原理开发 TMS320C6xxx 应用系统一般需要以下几个调试工具来完成:1. 软件集成开发环境(CCS):完成系统的软件开发,进行软件和硬件的仿真调试,它是硬件调试的辅助工具。

dsp三个实验所有程序

dsp三个实验所有程序

FIR主程序.title "main".mmregs.width 80.length 55.data ; delayed data stored at 0x0200seed .word 07e6dh ; seed for random variabletemp .word 0XN .word 0,0,0,0,0,0,0,0,0,0 ; 80 data locations for 80XN1 .word 0,0,0,0,0,0,0,0,0,0 ; stage delay line.XN2 .word 0,0,0,0,0,0,0,0,0,0 ;XN3 .word 0,0,0,0,0,0,0,0,0,0 ;XN4 .word 0,0,0,0,0,0,0,0,0,0 ;XN5 .word 0,0,0,0,0,0,0,0,0,0 ;XN6 .word 0,0,0,0,0,0,0,0,0,0 ;XN7 .word 0,0,0,0,0,0,0,0,0 ;XNLAST .word 0 ;OUTPUT .word 0 ; extra word for the bit bucket .copy "lp_coeff.asm".textstart: intm = 1 ; disable all interruptscall AC01INIT ; initialize Analog interface.nopnopDP = #0pmst = #01a0h ; Interrupt pointer maps vectors to address 180hsp = #0ffah ; stack pointer located in Communications KernalIMR = #240h ; unmask TDM RINT and HPIINT(host port interface)intm = 0 ; enable all interruptsWAIT:nopnopdgoto W AIT ; wait for receive interrupt.nopnopreceive: DP = #seed ; This sets Data Memory Page Pointer; to page XN, which is defined; earlier in the program.;--------- random noise Generator (P-5cs Modulator)-------------------a = @seed << 1a = @seed ^ a@temp = a << 2a = @temp ^ aa = #8000h & aa = a + @seed << 16@seed = hi(a) << 1a = @seed << 11a = a & #0fffch << 15repeat(#12)a = a <<C -1;-------- get sample and run through lowpass filter ---------b = DRR1 ; LOAD ACCUMULA TOR WITH WORD; RECEIVED FROM AIC!@XN = A << 0 ; STORE THE V ALUE OF RECEIVED; WORD TO V ARIABLE XN!AR0 = #XNLAST ; LOAD AR0 WITH ADDRESS OF LAST; DELAY ELEMENT!A = #0 ; ZERO ACCUMULA TOR A!repeat(#79) ; Repeat next instructions 80 times.macd(*AR0-,h0,A) ; Compute FIR output.@OUTPUT = hi(A) << 0 ; Store the filtered input into; variable OUTPUT.A = @OUTPUT << 0 ; OUTPUT ==>Accumulator AA = #0FFFCh & A; TWO LSB's MUST BE ZERO FOR AIC!DXR1 = A; SEND TO TRANSMIT REGISTER!return_enable ; Enable interrupts and return; from interrupt..copy "lp_ac01.asm".copy "lp_vecs.asm" ; location 0x0180.sect ".bvect"SELF: dgoto W AITnopnop.end中断vectors.asm.title "V ector Table".mmregs.width 80.length 55.ref startreset goto start ;00; RESET * DO NOT MODIFY IF USING DEBUGGER * nopnopnmi return_enable ;04; non-maskable external interruptnopnopnoptrap2 goto #88h ;08; trap2 * DO NOT MODIFY IF USING DEBUGGER * nopnop.space 52*16 ;0C-3F: vectors for software interrupts 18-30int0 return_enable ;40; external interrupt int0nopnopnopint1 return_enable ;44; external interrupt int1nopnopnopint2 return_enable ;48; external interrupt int2nopnopnoptint return_enable ;4C; internal timer interruptnopnopnopbrint return_enable ;50; BSP receive interruptnopnopnopbxint return_enable ;54; BSP transmit interruptnopnopnoptrint return_enable ;58; TDM receive interruptnopnoptxint return_enable ;5C; TDM transmit interruptnopnopnopint3 return_enable ;60; external interrupt int3nopnopnophpiint goto #0e4h ;64; HPIint * DO NOT MODIFY IF USING DEBUGGER * nopnop.space 24*16 ;68-7F; reserved area子文件lp_vecs.asm.title "V ector Table".mmregs.width 80.length 55.ref start.ref receive.sect ".vect"reset goto start ;00; RESET * DO NOT MODIFY IF USING DEBUGGER * nopnopnmi return_enable ;04; non-maskable external interruptnopnopnoptrap2 goto #88h ;08; trap2 * DO NOT MODIFY IF USING DEBUGGER * nopnopint0 return_enable ;40; external interrupt int0nopnopnopint1 return_enable ;44; external interrupt int1nopnopnopint2 return_enable ;48; external interrupt int2nopnopnoptint return_enable ;4C; internal timer interruptnopnopnopbrint return_enable ;50; BSP receive interruptnopnopnopbxint return_enable ;54; BSP transmit interruptnopnopnoptrint dgoto receive ;58; TDM receive interruptnopnoptxint return_enable ;5C; TDM transmit interruptnopnopnopint3 return_enable ;60; external interrupt int3nopnopnopcmd文件MEMORY{PAGE 0: EPROG: origin = 0x0F000, len =0x0400 VECT: origin = 0x0FF80, len =0x0100BVECT: origin = 0x01DC, len =0x010PAGE 1: DA TA: origin = 0x0200, len = 0x0200 }SECTIONS{.text :> EPROG PAGE 0.data :> DA TA PAGE 1.vect :> VECT PAGE 0.bvect :>BVECT PAGE 0}lp_coeff.asm*********************************************************************** (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 1996 * *********************************************************************** ** File: FLP_COEFF.ASM -Filter coeffs for the lowpass filter. ** ***********************************************************************;Filter Coefficient Generator lopass @ fcut=1Kh0 .word 0.word -157.word -261.word -268.word -170.word 0.word 180.word 301.word 310.word 198.word 0.word -211.word -354.word -367.word -236.word 0.word 255.word 431.word 451.word 292.word 0.word -323.word -551.word -584.word -383.word 0.word 438.word 763.word 827.word 557.word 0.word -1240 .word -1417 .word -1022 .word 0 .word 1533 .word 3307 .word 4960 .word 6131 .word 6131 .word 4960 .word 3307 .word 1533 .word 0 .word -1022 .word -1417 .word -1240 .word -681 .word 0 .word 557 .word 827 .word 763 .word 438 .word 0 .word -383 .word -584 .word -551 .word -323 .word 0 .word 292 .word 451 .word 431 .word 255 .word 0 .word -236 .word -367 .word -354 .word -211 .word 0 .word 198 .word 310 .word 301 .word 180 .word 0.word -268.word -261.word -157.word 0lp_ac01.asm.width 80.length 55.title "AC01 Initialization Program".mmregsREGISTER .set 1bh ; Powerup default values:REG1 .set 124h ;* 112hREG2 .set 20fh ;* 212h REG3 .set 300h ; 300hREG4 .set 409h ;* 405hREG5 .set 503h ;* 501hREG6 .set 600h ; 600hREG7 .set 700h ; 700hREG8 .set 801h ; 801hAC01INIT:xf = 0 ; reset ac01intm = 1 ; disable all int service routinestcr = #10h ; stop timerimr = #280h ; unmask TXINT and HPIINTtspc = #0008h ; stop TDM serial porttdxr = #0h ; send 0 as first xmit wordtspc = #00c8h ; reset and start TDM serial portxf = 1 ; release ac01 from reset returnFFT主程序.width 80.length 55.title "Real Fast Fourier Transfrom".mmregs.copy "initrfft.asm".copy "vectors.asm".textstart: SP= #BOS ; stack pointer initialized to Bottom of Stack DP= #0 ; data page is set to 0OVM = #0 ; A and B accumulators overflow normallyFRCT = #1 ; fractional mode is onASM = #0 ; Accumulator Shift Mode bitsCALL bit_revCALL fftCALL unpackCALL powerhangloose:NOPgoto hangloose.copy "bit_rev.asm".copy "fft.asm".copy "unpack.asm".copy "power.asm".end中断文件vectors。

dsp小实验总结

dsp小实验总结

dsp⼩实验总结电⽓信息⼯程学院D S P技术与综合训练实验报告班级 09通信1W姓名陈学虎学号 09313112指导⽼师倪福银刘舒淇2012年9⽉27⽇⽬录实验1 :发光⼆极管阵列显⽰实验 (2)⼀.实验⽬的 (2)⼆.实验设备 (3)三.实验原理 (3)四.实验步骤 (4)五.实验结果 (7)实验2 :液晶显⽰器控制显⽰ (7)⼀.实验⽬的 (7)⼆.实验设备 (7)三.实验原理 (7)四.实验步骤 (9)五.实验结果与分析 (18)实验3 :⾳频信号发⽣实验 (19)⼀.实验⽬的 (19)⼆.实验设备 (19)三.实验原理 (19)四.实验步骤 (20)五.实验结果 (23)实验4:有限冲激响应滤波器(FIR)和(IIR)算法实验 (23)⼀.实验⽬的 (24)⼆.实验设备 (24)三.实验原理 (24)四.实验步骤 (26)五,实验结果 (31)FIR实验结果如下: (31)IIR实验结果如下: (31)实验1 :发光⼆极管阵列显⽰实验⼀.实验⽬的通过实验学习使⽤5509A DSP的扩展端⼝控制外围设备的⽅法,了解发光⼆极管阵列的控制编程⽅法。

⼆.实验设备计算机,ICETEK-VC5509-A实验箱(或ICETEK仿真器+ICETEK-VC5509-A系统板+相关连线及电源)。

三.实验原理1.EMIF接⼝:TMS320C5509DSP的扩展存储器接⼝(EMIF)⽤来与⼤多数外围设备进⾏连接,典型应⽤如连接⽚外扩展存储器等。

这⼀接⼝提供地址连线、数据连线和⼀组控制线。

ICETEK-VC5509-A将这些扩展线引到了板上的扩展插座上供扩展使⽤。

2.LED指⽰灯控制⽅法根据封装原理图可以看出:当芯⽚上的IO⼝置于0时,LED灯才会亮。

已知LED指⽰灯的控制寄存器CTRLED由DSP的扩展地址0x600802给出,这是⼀个只写的16位寄存器,低8位有效,它的0到7位分别控制指⽰灯LED1到LED8,每⼀个对应位置0就表⽰点亮该指⽰灯,置1表⽰熄灭该指⽰灯。

dsp实验心得体会范文3篇_dsp实习心得体会

dsp实验心得体会范文3篇_dsp实习心得体会

dsp实验心得体会范文3篇_dsp实习心得体会a;digital signal processor简称DSP,中文意思是数字信号处理,DSP就是用数值计算的方式对信号进行加工的理论和技术,现结合自身,谈谈一些心得体会。

本文是dsp实验的心得体会范文,仅供参考。

dsp实验心得体会范文篇一1. 设置环境时分为软件设置和硬件设置,根据实验的需要设置,这次实验只是软件仿真,可以不设置硬件,但是要为日后的实验做准备,还是要学习和熟悉硬件设置的过程。

2. 在设置硬件时,不是按实验书上的型号选择,而是应该按照实验设备上的型号去添加。

3. 不管是硬件还是软件的设置,都应该将之前设置好的删去,重新添加。

设置好的配置中只能有一项。

4. CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。

但是一般无法构造DSP中的外设,所以软件仿真通常用于调试纯软件算法和进行效率分析等。

5. 这次实验采用软件仿真,不需要打开电源箱的电源。

6. 在软件仿真工作时,无需连接板卡和仿真器等硬件。

7. 执行write_buffer一行时。

如果按F10执行程序,则程序在mian主函数中运行,如果按F11,则程序进入write_buffe函数内部的程序运行。

8. 把str变量加到观察窗口中,点击变量左边的“+”,观察窗口可以展开结构变量,就可以看到结构体变量中的每个元素了。

9. 在实验时,显示图形出现问题,不能显示,后来在Graph Title 把Input的大写改为input,在对volume进行编译执行后,就可以看到显示的正弦波图形了。

10. 在修改了实验2-1的程序后,要重新编译、连接执行程序,并且必须对.OUT文件进行重新加载,因为此时.OUT文件已经改变了。

如果不重新加载,那么修改执行程序后,其结果将不会改变。

11. 再观察结果时,可将data和data1的窗口同时打开,这样可以便于比较,观察结果。

基于DSP的双闭环直流电机调速实验系统设计共3篇

基于DSP的双闭环直流电机调速实验系统设计共3篇

基于DSP的双闭环直流电机调速实验系统设计共3篇基于DSP的双闭环直流电机调速实验系统设计1双闭环直流电机调速实验系统设计直流电机调速是现代工业自动化控制领域中的一个重要应用。

直流电机调速系统一般采用PID控制器。

双闭环控制是PID控制器的一种改进,它既可以保证控制系统对速度的精度也可以对电机电流进行控制。

本文将介绍基于DSP的双闭环直流电机调速实验系统的设计。

硬件设计1.直流电机及驱动器直流电机是转换为机械能的电能转换的主要设备之一。

在实验中选择一台小型直流电机,以其低功率,小体积,易于控制为主要考虑因素。

驱动器采用直流调速电机控制器。

2. 双闭环控制器双闭环控制器是PID控制器的一种改进,它可以对电机电流进行控制,保证控制系统对速度的精度。

在本实验中,我们采用STM32系列单片机,该单片机集成了内置的PID控制器和模糊控制算法,可方便地实现双闭环控制。

3. 光电编码器和减速器光电编码器和减速器也是直流电机调速系统的重要组成部分。

光电编码器主要用于检测电机的转速或转角,减速器可以通过降低电机的转速来提高电机性能。

软件设计1. 算法设计基于DSP的直流电机调速系统中主要采用PID控制算法,该算法是通过调节三个参数,即比例、积分、微分调节来控制电机的速度。

PID控制器会不断地进行调节,使电机的输出保持在所需的速度范围内。

2. 软件运行本实验系统采用C语言编写,在DSP芯片中使用程序存储器存储程序,其中包含了PID控制器的算法,通过用户输入所需的速度值,根据PID 算法进行调节,实现电机的精确控制。

实验结果分析通过实验结果可以看出,基于DSP的双闭环直流电机调速实验系统控制精度高,控制范围广,动态响应速度快,能够满足直流电机调速系统的要求。

在多次测试中,实验系统的控制误差小于1%,性能稳定可靠。

结论本文介绍了基于DSP的双闭环直流电机调速实验系统的设计。

实验系统采用了STM32系列单片机,集成了内置的PID控制器和模糊控制算法,通过硬件和软件的结合,实现了电机的精确控制。

dsp原理与实践第3版 周鹏 课后答案

dsp原理与实践第3版 周鹏 课后答案

dsp原理与实践第3版周鹏课后答案1.简述DSP芯片的主要特点答:哈佛结构---将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。

多总线结构- -保证在一个机器周期内可以多次访问程序存储空间和数据存储空间。

指令系统的流水线操作--减少指令执行时间,增强处理器的处理能力。

取址,译码,取操作和执行四个阶段专用的硬件乘法器-使乘法累加运算能在单个周期内完成。

特殊的DSP指令。

快迪的指令周期。

硬件配置强。

2.详细描述冯诺依曼结构和哈佛结构,并比较不同?答:冯诺依曼结构-数据和程序共用总线和存储空间,在某- -时刻。

只能读写程序或者读写数据。

将指令.数据,地址存储在同一个存储器统一编址,依靠指令计数器提供的地址来区分是指令* 数据还是地址,取指令和取操作数都访问同- - 存储器,数据吞吐率低。

哈佛结构---将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。

改进的还允许在程序存储空间和数据存储空间之间相互传送数据。

3.DSP系统的设计过程?答:确定DSP系统设计的性能指标:进行算法优化与模拟:选择DSP芯片和外围芯片:进行硬件电路的设计:进行软件设计:进行软硬件综合调试。

4.请描述TMS320C54x的总线结构?答:C54X采用先进的哈佛结构井具有八组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。

程序总线B传送从程序存储器来的指令代码和立即数3组数据总线连接各种元器件,CB和DB总线传送从数据存储器读出的操作数,EB 总线传送写入到存储器中的数据,4组地址总线PABICABIDABEAB传送执行指令所需的地址。

5.TMS320C54x片内存储器--般包括哪些种类?如何配置片内存储器?答:C54X片内存储器一般包括两种类型: ROM(只读存储器)。

RAM(越机访间存储器)。

实验三 用定时器实现数字振荡器

实验三 用定时器实现数字振荡器1 实验目的在数字信号处理中,会经常使用到正弦/余弦信号。

通常的方法是讲某个频率的正弦/余弦值余弦计算出来后制成一个表,DSP 工作时仅作查表运算即可。

在本实验中将介绍另一种获得正弦/余弦信号的方法,即利用数字振荡器用叠代方法产生正弦信号。

本实验除了学习数字振荡器的DSP 实现原理外,同时还学习C54X 定时器使用以及中断服务程序编写。

另外,在本实验中我们将使用汇编语言和C 语言分别完成源程序的编写。

2 实验要求本实验利用定时器产生了一个2kHz 的正弦信号,定时器被设置成每25uS 产生一次中断,(等效于采样速率未40k )利用该中断,在该中断服务程序中用叠代算法计算出一个SNT 值,病利用CCS 的图形显示功能查看波形。

3 实验原理(1)数字振荡器原理设一个传递函数为阵线序列sinkwT ,其z 变换为111BzAz 1Cz )z (H -----=其中,A =2coswT ,B =-1,C=sinwT 。

设初始条件为0,求出上式的反Z 变换得: y[k]=Ay[k-1]+By[k-2]+Cx[k-1]这是个二阶差分方程,其单位冲击响应即为sinkwT 。

利用单位冲击函数x[k-1]的性质,即仅当k=1时,x[k-1]=1,代入上式得:k=0 y[0]=Ay[-1]+By[-2]+0=0k=1 y[1]=Ay[0]+By[-2]+c=ck=2 y[2]=Ay[1]+By[0]+0=Ay[1]k=3 y[3]=Ay[2]+By[1]k=n y[n]=Ay[n-1]+By[n-2]在k ﹥2以后,y[k]能用y[k -1]和y[k-2]算出,这是一个递归得方法。

根据上面得说明,我们可以开始数字振荡器得设计。

设该振荡器得频率为2kHz,采样率为40kHz (通过定时器设置,每隔25us 中断一次,即产生一个y[n])则递归得差分方程系数为:A =2coswT=2cos(2×PI ×2000/40000)=2×0.95105652B=-1C=sinwT=sin(2×PI ×2000/40000)=0.3090169979BC 22A 15=⨯ C00022B 15=⨯ 13C722C 15=⨯ 为了便于定点DSP 处理,我们将所有系数除以2,然后用16为定点格式表示为: 这便是本实验中查生2kHz 阵线信号的三个系数。

实验三定时器及外部中断实验

实验三定时器及外部中断实验一、实验目的1)熟悉VC5416的定时器工作原理。

2)掌握VC5416定时器的编程控制方法。

3)学会使用定时器的中断方式来控制程序执行方法。

4)掌握外部中断的编程控制方法,理解DSP对于中断的响应的过程。

5)了解并学习混合编程的实现方法。

二、实验设备1)计算机一套,DSP硬件仿真器一台,实验箱一台。

2)CCS4.1-CCS5.5软件版本。

3)源程序及链接命令文件见:D:\ EXPER\EXP3目录下的.asm 、.cmd、.C 和.lib文件。

三、实验步骤(一)、连接仿真器,将仿真器插接到C5416的JTAG接口上,另一头插接到电脑的USB接口上,因为仿真器是金属外壳,容易和箱子内部的电路触碰造成短路,从而对实验箱造成损坏,这个要特别注意,也不允许在机箱打开电源情况下插拔仿真器。

(二)、实验箱配置及连线:C5416DSP核心板上的SW1的1-6的开始设置为off off off off on on(上电后工做于1/2分频器方式,其它实验也按照此设置不变,我试验过改为PLL*2方式仿真器就连接不上了),SW2设置为on on on on。

将DSP核心板所在试验箱引脚连线区的BCANRX(C54的XF)引脚,与指示灯连线区LAMP的L1连接起来,这样就可以通过XF控制这个L1这个方光管的亮灭了。

将DSP核心板所在试验箱引脚连线区的INT0(C54的外部中断0输入)引脚与单脉冲按键PAULSE的P-(按下输出负脉冲)连接起来,这样按下按键时,就会给DSP的INT0中断引脚发送一个负脉冲。

连线照片见程序目录中的图片文件。

(二)、打开实验箱电源开关。

(三)、使用给定的文件,按照实验一的步骤建立实验项目,例如工作区目录为D:\ exp3 中建立一个exp3的实验项目,添加所有的给定的文件。

(四)、仿真调试方法1、通过菜单Project- Build All 对项目进行编译和链接,如下:如果有错误会出现在problem 窗口中。

DSP应用课程设计课件 第3讲 利用DSP实现信号谱分析


13
北京交通大学 国家工科电工电子教学基地
DSP应用课程设计
CMD文件
MEMORY { PAGE 0: VECS: origin = 0080h, length = 0080h PRAM: origin = 7600h, length = 8000h PAGE 1: STACK: origin = 1180h, length = 0560h EXRAM: origin = 1ff1h, length = 4000h } SECTIONS { .cinit > PRAM PAGE 0 .text > PRAM PAGE 0 .vectors > VECS PAGE 0
利用DSP实现信号谱分析
一、实验目的 二、实验原理 三、实验内容
1
北京交通大学 国家工科电工电子教学基地
DSP应用课程设计
一、实验目的 1.掌握FFT的算法原理和基本性质
2.掌握利用Matlab产生数据的方法
3.掌握调用TMS320C54x DSPLIB库函数的方法
4.掌握CCS基本调试技术
特殊要求: 输入数组首地址最低log2(2*n)为必须为0
12
北京交通大学 国家工科电工电子教学基地
DSP应用课程设计
cbrev()和rfft()使用的例
#define NX DATA y[NX]; 16
DATA x[NX];
cbrev(x,y,NX/2);
rfft(y,NX,1);
一个N点序列x[k]的DFT为X[m],以及IDFT分别定义为:
km X [m] x[k ]WN , m 0,1,, N 1 k 0 N 1
1 x[k ] N

N 1

实验3-采样的时频域分析

一、实验室名称:数字信号处理实验室 二、实验项目名称:采样的时域及频域分析 三、实验原理:1、采样的概念:采样是将连续信号变化为离散信号的过程。

1. A 、理想采样:即将被采样信号与周期脉冲信号相乘B 、实际采样:将被采样信号与周期门信号相乘,当周期门信号的宽度很小,可近似为周期脉冲串。

根据傅里叶变换性质000()()()()ˆˆ()()()()()()(())FTFTa a T n n FTa a T a T a an n x t X j T j xt x t T x nT t nT X j Xj n ωδωδδδω=+∞=+∞=-∞=-∞←−→Ω←−→Ω==-←−→Ω=Ω-Ω∑∑式中T 代表采样间隔,01TΩ=由上式可知:采样后信号的频谱是原信号频谱以0Ω为周期的搬移叠加 结论:时域离散化,频域周期化;频谱周期化可能造成频谱混迭。

)(t T δ^T ^)tC 、低通采样和Nyquist 采样定理设()()a a x t X j ⇔Ω且()0,2a M M X j f πΩ=Ω>Ω=当,即为带限信号。

则当采样频率满足2/22s M M f f π≥Ω=时,可以从采样后的^()()()a assn x t x nT t nT δ∞=-∞=-∑信号无失真地恢复()ax t 。

称2Mf为奈奎斯特频率,12N M T f =为奈奎斯特间隔。

注意:实际应用中,被采信号的频谱是未知的,可以在ADC 前加一个滤波器(防混迭滤波器)。

2、低通采样中的临界采样、欠采样、过采样的时域及频域变化情况。

低通采样中的临界采样是指在低通采样时采样频率2s M f f = 低通采样中的欠采样是指在低通采样时采样频率2s M f f ≤ 低通采样中的欠采样是指在低通采样时采样频率2s M f f ≥ 设一带限信号的频谱如下:ˆ()a xt )(ˆΩj X a()a G j Ω0 m-ΩΩm Ω0T TT-ΩTΩ(1)临界采样(2)过采样(3)欠采样由上图可知,当为临界采样和过采样时,理论上可以无失真的恢复采样信号,但是实际在临界采样时,由于实际滤波器的性能限制,无法无失真的恢复,在欠采样时只能部分恢复原信号的频谱特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档