DSP实验3

合集下载

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实现信号谱分析

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-采样的时频域分析

实验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)欠采样由上图可知,当为临界采样和过采样时,理论上可以无失真的恢复采样信号,但是实际在临界采样时,由于实际滤波器的性能限制,无法无失真的恢复,在欠采样时只能部分恢复原信号的频谱特性。

硕士信号处理实验报告(3篇)

硕士信号处理实验报告(3篇)

第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。

本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。

二、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握常用信号处理算法的MATLAB实现。

3. 培养分析和解决实际问题的能力。

三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。

(2)实验步骤:- 使用MATLAB生成两个离散时间信号。

- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。

- 观察并分析操作结果。

2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。

(2)实验步骤:- 使用MATLAB设计一个离散时间系统。

- 计算系统的单位脉冲响应、零状态响应和零输入响应。

- 分析系统特性。

(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。

(2)实验步骤:- 使用MATLAB生成一个离散时间信号。

- 对信号进行FFT和DFT变换。

- 分析信号频谱。

4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。

(2)实验步骤:- 使用MATLAB设计一个低通滤波器。

- 使用窗函数法实现滤波器。

- 对滤波器进行性能分析。

5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。

(2)实验步骤:- 选择一个信号处理应用案例。

- 分析案例中使用的信号处理方法。

- 总结案例中的经验和教训。

四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。

DSP 学习系列三_F2812 flash搬移到RAM里运行

DSP 学习系列三_F2812 flash搬移到RAM里运行

基于TMS320F2812 flash搬移到RAM里运行实现去年在论坛上了“28335 学习系列__FLASH 搬移到RAM 运行实现方法”之后,很多网友提问有没有F2812 FLASH 搬移到RAM 运行实现方法。

其实,TI 28系列DSP目前用的很广泛的,关于FLASH搬移到RAM里运行文章也很多,但还有很多人不清楚如何实现,说明这些资料当中很多讲解的不够透彻,或者讲了很多,但没有告诉大家如何去做,如何去实现搬移。

很多附件里面的程序,大部分是没法运行的程序。

另外,对于初学DSP的人来说,搬移也是很令人费神的,往往调试半天一天的,程序就是不搬,然后就灰心丧气,然后就觉得DSP让人头疼。

其实,DSP作为一个工具,它不像我们学的很多专业理论知识。

有时候我们不能正常使用DSP,问题往往在于一些很细节的地方,或者是操作失误等等。

在写了一个“F28335 学习系列__FLASH 搬移到RAM 运行实现方法”,之后网友也收到了很多网友的回复。

回复中网友提出了很多问题,我将其归为3大类:第一:关于FLASH搬移到RAM运行的方法比较问题;第二:如何判断程序已经从FLASH搬移到RAM中;第三:如何实现F2812 FLASH搬移到RAM里运行;对于第一问题,实现FLASH搬移到RAM主要有两种方法,一种是部分搬移,另一种是全部搬移。

部分搬移即将程序代码中部分函数放到RAM中运行,使用这种搬移方法,主要是考虑到程序代码比较多,而DSP RAM空间有限,当全部搬移运行时,可能会产生数据空间调用冲突问题,反而降低了程序执行效率。

全部搬移即将程序中代码段,初始化段,常量段,变量定义段等等全部搬移到RAM中运行。

二者主要区别在于,前者在mian函数里面操作,通过MEMRYCOPY函数,在CMD中增加“ramfuncs”段,只要程序中放在“ramfuncs”里面便可实现搬移。

后者在CMD里实现搬移配臵,将“.cinit ,.const,.econst,.pinit ,.switch,.text”全部配臵成搬移。

dsp项目课程设计

dsp项目课程设计

dsp项目课程设计一、课程目标知识目标:1. 学生能理解数字信号处理(DSP)的基本概念,掌握其基本原理和应用领域。

2. 学生能运用数学知识,如傅里叶变换、Z变换等,分析并解决实际问题。

3. 学生能了解DSP技术在现实生活中的应用,如音频处理、图像处理等。

技能目标:1. 学生能够熟练使用DSP开发工具和软件,完成简单的项目设计。

2. 学生能够运用所学知识,设计并实现一个简单的DSP应用系统,如音频信号滤波、图像去噪等。

3. 学生能够通过小组合作,培养团队协作和沟通能力,提高问题解决能力。

情感态度价值观目标:1. 学生能够认识到数字信号处理在科技发展中的重要性,激发对相关领域的兴趣。

2. 学生在学习过程中,培养勇于探索、积极进取的精神,增强自信心。

3. 学生通过课程学习,认识到科技发展对社会的贡献,树立正确的价值观。

课程性质:本课程为实践性较强的课程,结合理论教学和实际操作,培养学生对数字信号处理技术的理解和应用能力。

学生特点:学生具备一定的数学基础和编程能力,对新技术充满好奇,喜欢动手实践。

教学要求:教师需结合课本内容,以实际项目为导向,引导学生掌握基本理论,提高实际操作能力。

在教学过程中,注重培养学生的团队协作和创新能力,提高学生的综合素质。

通过课程目标分解,确保学生能够达到预期学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 数字信号处理基础理论:- 傅里叶变换理论及其应用- Z变换及其性质- 离散时间信号与系统2. DSP算法与应用:- 数字滤波器设计- 快速傅里叶变换(FFT)算法- 数字信号处理在音频、图像领域的应用3. DSP实践项目:- 项目一:音频信号处理(滤波、增强)- 项目二:图像处理(去噪、边缘检测)- 项目三:DSP综合应用(如语音识别、图像识别)4. 教学内容的安排与进度:- 基础理论部分:占总课时的1/3,以课本相关章节为基础,逐步引导学生掌握基本概念和原理。

DSP实验报告SCI

DSP实验报告SCI

一、实验目的:1.了解TMS320F2812片上外设SCI;2.熟悉片上外设SCI通道的使用;3.利用片上SCI通道进行数据采集。

二、实验内容:1.初始化系统;2.初始化片上SCI通道;3.SCI数据传递。

三、实验背景知识1.SCI模块概述SCI是一个双线的异步串口,即具有接受和发送两根信号线的异步串口。

F2812内部具有两个相同的SCI模块,SCIA和SCIB。

每个SCI模块都有一个接收器和发送器,分别被用于接受和发送数据的功用。

它们都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。

如图1所示,根据数据传送的方式,可以将串行通信分为单工、半双工、全双工3种。

图1 串行通信的3种方式2.SCI模块的特点图2 SCIA与CPU的接口由于SCIA与SCIB的功能相同,只是寄存器的命名有所不同,故只对SCIA 进行解释。

a、如图所示,SCI模块具有两个引脚:发送引脚SCITXD和接受引脚SCIRXD。

这两个引脚分别对应GPIOF模块的第4位和第5位。

在编程初始化时,需要将GPOFMUX寄存器的第4位和第5位置1,否则这两个引脚就是通用的数字I/O口。

b、外部晶振通过F2812的PLL模块倍频之后产生了CPU系统时钟SYSCLKOUT,然后SYSCLKOUT经低速时钟预定标器之后输出低速外设时钟LSPCLK提供给SCI。

c、SCI模块具有4种错误检测标志,分别是极性错误、超时错误、帧错误、间断检测。

d、SCI模块具有双缓冲接受和发送功能,接受缓冲寄存器为SCIRXBUF,发送缓冲寄存器SCITXBUF。

e、SCI模块可以产生两个中断:SCIRXINT和SCITXINT,即接受中断和发送中断。

f、在多种处理器模式下,SCI模块具有两种唤醒方式:空闲线方式和地址位方式。

g、SCI模块具有13个寄存器,并且都是8位。

当寄存器被访问时,数据位于低8位,高8位为0。

3.SCI模块信号SCI模块的信号有外部信号、控制信号和中断信号3种。

实验三FIR滤波器设计与实现

实验三FIR滤波器设计与实现

电子科技大学电子工程学院标准实验报告(实验)课程名称DSP技术电子科技大学教务处制表电子科技大学实验报告学生姓名:学号:指导教师:实验地点:实验时间:一、实验室名称:DSP技术实验室二、实验项目名称:FIR滤波器设计与实现三、实验学时:4四、实验目的:1.熟悉BF609开发板WL-BF609-EDU硬件平台。

2.熟悉CCES开发软件平台的使用,掌握CCES集成开发环境的基本操作和常用功能,掌握CCES工程的创建、程序编写、编译和调试。

3.掌握DSP中FIR滤波器设计、实现的方法。

五、实验内容:1.了解BF609开发板WL-BF609-EDU。

2.熟悉CCES集成开发环境的基本操作和常用功能。

3.学习实验指导书中的低通滤波器设计与实现,验证滤波效果。

4.独立设计、实现FIR高通滤波器,并验证滤波效果。

六、实验环境:1.预装开发环境Cross Core Embedded Studio 1.0.2的计算机。

2.BF609开发板一套。

3. ADDS HPUSB-ICE 仿真器一套。

七、 实验步骤:输入条件:1MHz 的点频信号,峰值为1;10M 的点频信号,峰值为0.5; 采样时钟40MHz 。

滤波器:17阶低通滤波器。

输出:保留10MHz 的点频信号,滤除1M 的点频信号。

1.用MATLAB 设计FIR 高通滤波器FIR 滤波器原理有M 个权系数(抽头)的FIR 滤波器,如下图所示。

滤波器的输入为随机过程()x n ,输出为10()()M i i y n w x n i -*==-∑其中,i w 表示横向滤波器的权系数。

......图M 抽头的FIR 滤波器定义输入信号向量和权向量分别为 ()[(),(1),(1)]T n x n x n x n M =--+x011[,,,]T M w w w -=w则输出可表示为()()()H T y n n n *==w x x w2.FIR滤波器高通滤波器实现(学习实验指导书中的低通滤波实验,独立完成高通滤波的DSP实现)生成Rb1.dat中数据,即滤波器权系数的m代码:close all;clear all;clc;f1=1e6;T1=1/f1;f2=10e6;T2=1/f2;T=1/40e6;t=0:T:1.6e-6-T;s1=cos(2*pi*f1*t);s2=0.5*cos(2*pi*f2*t);Rs1=round(s1*64);Rs2=round(s2*64);fid = fopen('Rs1.dat','w');fprintf(fid,'%g\t,',Rs1);fclose(fid)fid = fopen('Rs2.dat','w');fprintf(fid,'%g\t,',Rs2);fclose(fid)n=16;wn=0.35;b=fir1(n,wn,'high');freqz(b,1);Rb=round(b*1024);fid = fopen('Rb1.dat','w');fprintf(fid,'%g\t,',Rb);fclose(fid)结果:Rb1.dat中的数据为-2 ,-5 ,-4 ,17 ,42 ,12 ,-114 ,-280 ,666 ,-280 ,-114 ,12 ,42 ,17 ,-4 ,-5, -2 ,八、FIR高通滤波器代码输入条件:1MHz的点频信号,峰值为1;10M的点频信号,峰值为0.5;采样时钟40MHz。

DSP实验报告

DSP实验报告

DSP实验报告02071445张渊实验一—VISUALDSP++的使用入门实验目的熟悉VISUAL DSP++的开发环境。

针对ADSP-Blackfin533 DSP,利用几个用C、C++和汇编语言写成的简单例子来描述VISUAL DSP+十编程环境和调试器(debugger)的主要特征和功能。

对于运行在其它类型Blackfin处理器的程序只需对其链接描述文件(.LDF)做一些修改,就可用于其它芯片或者ADSP-Blackfin533的硬件仿真。

实验内容一、练习一1. 实验步骤l) 进入Visual DSP+十并打开一个工程(Project)进入Visual DSP++,显示Visual DSP++的集成开发和调试环境窗口(Integrated Development and Debugger Environment,简称IDDE)。

装载dotprodc工程,并列出相应的源文件。

在输出窗口(Output Window)中显示简要信息。

2) 编译dotprodc工程在菜单Project中选择Build Project来对工程进行编译。

在本例子中,编译器检测到一个未定义的错误,显示为:“.\dotprod_main.c”,line 115:error #20:identifier“itn”is undefined itn i;在输出窗口中对该行文字用鼠标双击,环境会自动打开dotprod_main.c文件,并将光标定位在出错行。

你可以看见单词“int”被错写成“itn”。

将该错误改正后,保存并重新编译。

如果再没有错误出现,这时工程已被成功编译,就可以用VisualDSP++的debugger来调试程序。

3) 运行VsualDSP++调试器在调试过程中需定义不同的对象和处理器类型,选取菜单Sessions中NeW Session项来重新定义。

NeW Session 对话框图7.2所示:4) 运行dotprod.c从Debug菜单中选择Run项,程序将被执行,其输出结果在Output window中显示。

DSP实验报告DCmotor

DSP实验报告DCmotor

7>自动装载比较和周期寄存器减少CPU开销8>PDPINTx可直接屏蔽PWM输出EV比较单元PWM的电路功能框图如下:有图可知比较单元的PWM有以下功能单元:1>非对称/对称波形发生器2>可编程死区单元(DBU)3>输出逻辑4>空间矢量(SV)PWM状态机2)定时器的计数方式3)PWM的产生当T1CNT的值与T1CMPR的值相等时,发生比较匹配事件,此时如果T1CON的TECMPR位为1,定时器比较操作被使能,同时GPTCONA的TCMPOE位为1,定时器比较输出被使能,引脚T1POM_T1CMP的电平就会发生跳变从而输出PWM波形。

如下图所示。

图一4)PWM波形的调节如上图所示,当T1PWM_T1CMP高电平有效时,减小T1CMPR的值或者增大T1CNT的值可以增大PWM波形的占空比;增大T1CMPR的值或者减小T1CNT的值,可以减小PWM波形的占空比。

2、直流电机控制1)直流电机驱动电路:图二图二是直流电机翻译/驱动的典型电路的一种,采用这种电路不但能够完成直流电机驱动的动作,而且可以避免典型H桥电路的潜在的短路危险。

2)直流电机的驱动接口:本实验箱通过控制EVA的T1PWM_T1CMP与T2PWM_T2CMP引脚实现对直流电机的控制。

实验程序功能与结构说明1、直流电机实验,包含的文件:1)MOTOR.c:实验主程序,包含了系统初始化,直流电机控制,机调速等;2)DSP28_EV.c:包含了事件管理器初始化;3)DSP28_Defaultlsr.c:包含了异步串口接收中断服务程序;4)DSP28_GlobalVariableDefs.c:各个外设全局变量定义;5)DSP28_PieCtrl.c:PIE中断初始化;6)DSP28_PieVect.c:PIE中断矢量表初始化;7)DSP28_SysCtrl.c:系统初始化;8)2812.cmd:声明了系统的存储器配置与程序各段的联系关系;9)2812.gel:系统初始化;10)*.h:各个源文件的头函数;11)Rts2800.l:库函数文件。

【心得体会】dsp实验心得体会

【心得体会】dsp实验心得体会

【心得体会】dsp实验心得体会在进行dsp实验的过程中,我收获了很多宝贵的经验和启示。

首先,在实验前,我深入了解了dsp的基本原理和相关的知识,为实验的顺利进行打下了坚实的基础。

其次,在实验过程中,我注重细节和精确度,时刻保持专注和耐心。

这对于实验结果的准确性和可靠性起到了至关重要的作用。

在实验过程中,我还学会了如何合理安排时间和资源。

由于dsp实验需要大量的计算和数据处理,我学会了如何高效地利用计算机和相关软件工具。

我学会了如何合理分配时间,以确保实验的顺利进行,并在规定的时间内完成实验任务。

在实验的过程中,我也遇到了一些问题和挑战。

例如,某些实验步骤需要复杂的编程和算法设计,我需要仔细思考和分析,才能找到解决问题的方法。

同时,我还需要不断调整和改进实验方案,以确保实验的准确性和可行性。

通过这次dsp实验,我不仅学到了专业知识和技能,还培养了自己的分析和解决问题的能力。

我学会了如何从不同的角度思考和分析问题,并找到最合适的解决方案。

我还学会了如何与团队成员合作,共同完成实验任务。

通过反思和总结,我认识到在进行dsp实验时,需要注重细节和精确度。

只有保持专注和耐心,才能获得准确和可靠的实验结果。

同时,我还意识到在实验过程中,需要灵活调整实验方案,并不断改进和优化。

只有不断学习和提高自己,才能在dsp领域取得更好的成绩。

最后,我想给其他学习dsp的同学一些建议。

首先,要注重理论知识的学习,建立扎实的基础。

其次,要勇于尝试和实践,通过实验来巩固和应用所学知识。

同时,要善于思考和分析问题,不断寻找解决问题的方法和途径。

最重要的是,要保持学习的热情和持续的努力,只有这样,才能在dsp领域获得更好的成长和发展。

总而言之,通过这次dsp实验,我不仅学到了专业知识和技能,还培养了自己的分析和解决问题的能力。

我学会了如何从不同的角度思考和分析问题,并找到最合适的解决方案。

通过反思和总结,我认识到在进行dsp实验时,需要注重细节和精确度,并不断改进和优化实验方案。

DSP学习 3)时钟及系统控制

DSP学习 3)时钟及系统控制
一时钟及系统控制第22章cpu内部结构与时钟系统5第22章cpu内部结构与时钟系统hispcp一时钟及系统控制hispcp高速外设时钟设置寄存器pllcrpll控制寄存器lospcp慢速外设时钟设置寄存器scsr系统控制和状态寄存器pclkcr外设时钟控制寄存器wdcntr看门狗计数寄存器lpmcr0低功耗模式控制寄存器0wdkey看门狗复位key寄存器lpmcrl低功耗模式控制寄存器1wdcr看门狗控制寄存器第22章cpu内部结构与时钟系统外设时钟控制寄存器pclkcr数据存储空间0x0000701c时钟寄存器高低速外设时钟寄存器hispcplospcp0x0000701ab系统控制和状态寄存器scsr数据存储空间0x00007022保留d15d14d13d12d11d10d9d8ecanenclkmcbspenclkscibenclkspienclkr0rw0r0rw0rw0reservedd15d3d2d1d0wdintswdenintwdoverrider0r1rw0rw1c1一时钟及系统控制sciaenclk保留保留保留adcenclk保留evaenclkevbenenclkd7d4d3d2d1d0r0rw0r0rw0rw0rw0r0rw0reservedd15d3d2d0hspcklspckr0rw010第22章cpu内部结构与时钟系统时钟模块提供两种操作模式
时TIM装载来自PRD的新的定时 计数器值,并使PSC再次减1。
每经过(TDDR+1)个 SYSCLKOUT 周期,TIM减1。当PRD、TDDR或两者都不 为零时,定时器中断频率即TINT的频率(fTINT)为:
fTINT f CLKOUT 1
fCLKOUT1为SYSCLKOUT的频率。
1 (TDDR 1) ( PRD 1)
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 快速傅里叶变换 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
四.实验分析
认真观察实验结果,记录结果,并画出结果图形,分析实验产生的现象的原因。

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

相关文档
最新文档