DSP实验详细·简版
DSP实验报告6

DSP第六、七次实验报告1. 实验目的:(1)进一步熟悉Matlab实验环境和语言。
(2)熟悉各种滤波器的结构及Matlab实现语言。
(3)掌握用冲击响应不变法和双线性变换法设计IIR滤波器的方法。
(4)掌握用窗函数法和频率抽样法设计FIR滤波器的方法。
2. 实验内容及总结:1.滤波器结构:(1)IIR滤波器各种结构1、直接型结构例如直接型滤波器系统函数, 则有系数向量a=[1,a1,a2,a3],b=[b0,b1,b2], 利用:Y=filter[b,a,x]求信号x(n)通过此滤波器的输出。
2、由系统函数或差分方程求系统的二阶分式(含一阶分式)的级联结构将例如的系统函数重写为二阶分式节的级联型, 利用:[sos,G]=tf2sos(b,a)3、由二阶分式的级联结构转换成系统函数的直接结构是第二步的逆运算, 调用函数:[b,a] = sos2tf(sos)可以求得系数向量a,b, 从而得到H(z)4、由系统函数求部分分式展开(留数及其极点计算)即求z反变换的部分分式展开法, 利用:[r,p,c]=residuez(b,a)其中极点为p, 留数为r, 直接项系数为c。
5、由r,p,c求系统函数即第4步的逆运算, 利用:[b,a]=residuez(r,p,c)6、由直接型结构转换为并联型结构需开发函数:[C,B,A]=tf2par(b,a)其中, b,a为直接型的系数向量, C,B,A为并联型实系数向量, 基本思想是: 1.反复调用[r,p,c]=residuez(b,a)求出极点及留数;2.利用cplxpair函数把极点、留数对按复共轭极点-留数对, 实极点-留数对的顺序排列;3.开发cplxcomp函数, 保证极点和留数相互对应;4.调用[b,a]=residuez(r,p,c)计算并联二阶节的分子分母。
7、由并联型结构转换成直接型结构开发函数:[b,a]=par2tf(C,B,A)为[C,B,A]=tf2par(b,a)的逆函数。
DSP实验报告

DSP实验报告⼀、综合实验内容和要求1. 实验⽬的(1) 学习掌握CCS3.3编译器的使⽤;(2) 通过实验学习掌握TMS320F28335的GPIO ,浮点计算; (3) 学习并掌握A/D 模块的使⽤⽅法;(4) 学习并掌握中断⽅式和查询⽅式的串⼝通信; (5) 学习并掌握28335DSP 的定时器相关的设置与运⽤; (6) 学习信号时域分析的⽅法,了解相关波形参数的计算⽅法; (7) 了解数字滤波的⼀些基本⽅法; (8) 学习数码管的驱动及运⽤。
(9) 学习MATLAB 串⼝以及画图的运⽤。
2. 实验设计内容与要求:(1) 对给定的周期波形信号采⽤TI 公司的TMS320F28335DSP ,利⽤试验箱上的相关资源计算出波形的周期T ,波形的有效值rms V ,平均值avg V 。
其中,有效值和平均值的计算公式(数字量的离散公式)如下:rms V =1()NavgiV u i N=∑式中N 为⼀个周期采样点数,()u i 为采样序列中的第i 个采样点。
(2) 通过算法计算出波形的有效值和平均值,利⽤串⼝通信把测得的数据发送到串⼝助⼿查看,或者在MATLAB 上编写上位机程序,把发送的数据在MATLAB 上画出来。
(3) 把测得的数据实时显⽰在数码管上。
⼆、硬件电路图1为试验系统的硬件图,硬件电路主要包括TMS320F28335DSP 实验箱,SEED-XDS510仿真器,数码管,SCI,信号发⽣器,电脑,串⼝线等。
图1 硬件电路图三、实验原理本试验主要是通过程序去测量⼀个周期波形的有效值、平均值、峰值等相关参数。
计算离散数据的有效值可⽤公式rms V =平均值可⽤公式1()N avgiV u i N=∑。
所以⾸先需要测出波形的周期,然后确定每个周期需要采样的点数N ,最后去计算平均值和有效值。
v mv 1图2 理想输⼊采样波形如图2所⽰为⼀个正弦输⼊波形,m V 为输⼊波形的峰值,1V 是介于0~ m V 的⼀个值。
DSP实验报告_6

实验一: 闪灯实验熟悉DSP 软硬件测试系统实验目的1.了解SHARC 系列高性能数字信号处理器的程序开发过程和编程语言;2.熟悉集成开发工具VisualDSP++, 学会使用VisualDSP++进行SHARC 系列ADSP 的程序开发、编译与调试;3.掌握SHARC 系列ADSP 的程序加载设计和加载过程。
实验内容利用波形产生信号板, 结合FPGA 编程技术和程序编程器, 编写测试ADSP21065L 和FPGA 之间硬件连接的应用程序, 同时完成应用程序的加载和脱机操作, 在信号指示灯“HL2”上产生可调周期的脉冲信号, “点亮”与“熄灭”指示灯HL2。
实验要求通过DSP 编程, 在其FLAG11引脚上模拟如下波形的周期信号:要求:(1) 500H T ms >,500L T ms >. (2) 并用示波器查看波形, 测量信号周期。
实验步骤1. 熟悉电路图, 清楚波形产生电路板ADSP21065L 与可编程FPGA 器件之间的连接关系;2. 编写FPGA 程序。
在FPGA 内部将ADSP21065L 的标志引脚FLAG11(引脚号26)设置为输出, 作为FPGA 的输入信号, 在FPGA 内部编程将该信号直接输出在发FPGA 的37引脚号上, 设置37引脚为输出信号, 驱动板上的HL2 LED 指示灯;3. 启动VisualDsp++4.5,选择project 工程选项菜单, 创建一个名称为Test.dpj 的工程文件, 选择处理器的型号为ADSP-21065L ;4.弹出一个对话框, 选择是否需要加入VDSP kernel ,选择“NO ”;5. 在工程中加入以下参考源文件:\exp1\test(boot)\ boot1.asm 和boot1.ldf 6.编译, 链接调试, 生成可执行文件。
7.运行程序, 可以看到波形发生电路板上的指示灯“HL2”不断闪动。
8. 利用示波器观测系统时钟,并测量产生信号的波形和周期。
DSP实验报告(综合)

实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。
熟悉线性相位FIR 数字滤波器特性。
了解各种窗函数对滤波器特性的影响。
2. 掌握设计IIR数字滤波器的原理和方法。
熟悉IIR数字滤波器特性。
了解IIR数字滤波器的设计方法。
3.掌握自适应数字滤波器的原理和实现方法。
掌握LMS自适应算法及其实现。
了解自适应数字滤波器的程序设计方法。
4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。
5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。
6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。
7.了解取反的算法和用途,学习设计程序实现图像的取反运算。
8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。
二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
IIR:无限冲激响应数字滤波器的基础理论。
模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。
e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。
灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。
图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。
经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。
DSP实验报告(一)

实验一 信号系统及系统响应一、实验目的1、 熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。
2、 熟悉离散信号和系统的时域特性。
3、 熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、 掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。
二、实验原理(一)连续时间信号的采样采样是指按一定的频率从模拟信号抽样获得数字信号。
采样是从连续时间信号到离散时间信号的过渡桥梁。
对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即()()()ˆa a x t x t M t =(1)其中连续信号的理想采样,是周期冲激脉冲()()n M t t n T d +=-=-å(2)它也可以用傅立叶级数表示为:1()s jm tn M t eT+W =-=å(3)其中T 为采样周期,Ω是采样角频率。
设是连续时间信号的双边拉氏变换,即有:()()ata a X s x t edt+--=ò(4)此时理想采样信号的拉氏变换为()ˆˆ()()1ˆ()1ˆ()1()s s ataa jm tsta m s jm ta m a s m X s x t e dtxt ee dtTxt e dtT X s jm T+--++W -=--++--W =- -++=--====-W òåòåòåò(5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换1ˆ()[()]aa s m X j X j m T+=-W =W-W å(6)由式(5)和式(6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。
根据Shannon 取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。
DSP实验报告

DSP实验报告实验1 循环操作和双操作数乘法⼀、实验⽬的1. 掌握循环操作指令和双操作数指令的运⽤;2. 掌握⽤汇编语⾔编写DSP 程序的⽅法。
⼆、实验设备1.⼀台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5410 主控板;3. DSP 硬件仿真器。
三、实验原理1.循环操作指令TMS320C54x 具有丰富的程序控制与转移指令,利⽤这些指令可以执⾏分⽀转移、循环控制以及⼦程序操作。
本实验要求编写⼀程序完成),然后通过仿真器把执⾏代码下载到DSP 芯⽚中;3. 在“end:B end”代码⾏设置断点(当光标置于该⾏时,单击⼯具条上的ToggleBreakpoint图标,此时该⾏代码左端会出现⼀个⼩红点),单击运⾏);6. 改变对变量的初始赋值,重复上述3~5 步过程.7. 增加变量数⽬,重复上述3~5 步过程.(⼆)双操作数乘法1. 在CCS 环境中打开本实验的⼯程(Ex4_2.pjt),阅读源程序;2. 编译并重建.out 输出⽂件,然后通过仿真器把执⾏代码下载到DSP 芯⽚中;3. 在“end:B end”代码⾏设置断点(当光标置于改⾏时,单击⼯具条上的ToggleBreakpoint图标,此时该⾏代码左端会出现⼀个⼩红点),单击运⾏);6. 改变对变量的初始赋值,重复上述过程.实验2 卷积运算和相关运算⼀. 实验⽬的1. 掌握卷积运算的原理;2. 掌握相关系数的估计⽅法3. 掌握⽤C 语⾔编写DSP 程序的⽅法.⼆. 实验设备1. ⼀台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5410主控板;3. DSP 硬件仿真器.三.实验原理1. 卷积运算卷积的基本表达式为:∑=?=n m m n x m h n y 0)()()( 写程序时要注意两点:(1) 三个序列数组长度的分配;(2) 循环体中变量的位置,即n 和m 的关系. 2. 相关运算相关系数是信号处理中的⼀个重要概念,包括⾃相关系数和互相关系数.它们的定义分别为: ⾃相关系数12()[()()]()()(,;,)xx n kExnxnkxnxnkpxxnnk ?∞=?∞=+=++∑ 互相关系数 )]()([)(k n y n x E k xy +=γ k为相关系数的阶数实际应⽤时,我们可以⽤下式来估计两个平稳信号的互相关系数: 有偏估计 ∑??=+=10)()(1)(?k N n xy k n y n x N k γ⽆偏估计: ∑??=+?=10)()(1)(?k N n xy k n y n x k N k γ当x(n)和y(n)相等即为⾃相关系数的估值..所谓⽆偏估计就是该估计的数学期望等于被估计的参数值.四.实验步骤(⼀) 卷积运算1.在CCS 环境中打开本实验的⼯程(Ex5_1.pjt),编译并重建.out 输出⽂件,然后通过仿真器把执⾏代码下载到DSP 芯⽚中.2.把x, h和y添加到窗⼝中作为观察对象.3.单击运⾏键. 观察三个数组从初始化到卷积运算结束整个过程中的变化;记录卷积结果.(可单击变量名前的“+”号把数组展开);4.修改输⼊序列的长度和初始值,重复上述过程,观察并记录卷积结果.(⼆) 相关运算1.在CCS环境中打开本实验的⼯程(Ex5_2.pjt),编译并重建.out输出⽂件,然后通过仿真器把执⾏代码下载到DSP芯⽚中.2.把x, y和r添加到窗⼝中作为观察对象(选中变量名,单击⿏标右键,在弹出菜单中选择“Add Watch Window”命令).3.单击运⾏键, 观察并记录结果.4.修改估计模式mode,重复上述过程.分析有偏估计和⽆偏估计的差别.5.选定模式,修改输⼊数组的长度,重复上述过程,观察并分析结果与3或4有何不同.6.修改代码,实现x(n)的⾃相关系数的⽆偏估计.五.思考题1.分析阶数对相关系数的影响.实验3 快速傅⾥叶变换FFT⼀. 实验⽬的1.掌握FFT 算法的基本原理2.掌握⽤C 语⾔编写DSP 程序的⽅法.⼆.实验设备1.⼀台装有CCS 软件的计算机;2.DSP 实验箱的TMS320C5410主控板;3.DSP 硬件仿真器.三.实验原理包括两部分内容:1.FFT 按时间抽取的算法;)()()(21k X W k X k Y k N +=)()(2(21k X W k X N k Y k N ?=+ 式中X 1(k)和X 2(k)分别是输⼊序列x(n)的偶数序号部分x(2l)和奇数序号部分x(2l+1). 以上讨论中k=0,1,2,…N/2-1, n=0,1,2,…N-1, l=0,1,2,…N/2-1 .2.雷德算法.即,将输⼊序列按下列⽅式倒序.四.实验步骤1.在CCS 环境中打开本实验的⼯程(Ex5_3.pjt),编译并重建.out 输出⽂件,然后通过仿真器把执⾏代码下载到DSP 芯⽚中.2.单击运⾏键.3.选择view>graph>time/frequency … 观察并画出输⼊波形.(设置对话框中的参数: “start address ”设为 “x_re ”, “ acquisition buffer size ” 和 “display data size ”设为 “64”,“DSP data type ”设为 “32-bit floating point ”.)4.同样⽅法观察并画出输出波形(注意: “start address ”要设为 “y_re ”).5.在Watch 窗⼝中添加i, j, k, m, n, a, b ,c 等变量,在Debug 菜单中先“Restart ” x (0)x (1)x (2)x (3)x (4)x (5)x (6)x (7)x (0)x (4)x (2)x (6)x (1)x (5)x (3)x (7)然后“Go main”,单步运⾏程序,跟踪并记录FFT 算法的过程;(可以跳过程序开始部分对各个数组的赋值代码,⽅法是在雷德算法的第⼀⾏代码前设置断点,然后先单击运⾏)后⾯的代码,见下图。
dsp实验报告

实验一代数汇编指令基础实验一、实验目的:1.通过调试目标代码,掌握指令的功能,熟悉指令;2.通过指令的熟悉,能够指令应用于实际项目中。
二、实验原理:Ti公司的代数汇编指令。
三、实验程序:.title"算术指令综合实验".mmregs.sect ".vect".copy "vectors.asm".text_Start:;AR7=#767 ;A=#38CAH ;DP=#08AH ;RSA=#0123H;DP=#188H ;ASM=#0AHAR7=AMMR(*AR7+)=#1234HDP=#04HA=#9876HAR6=#230H*AR6+=#9ACDHARP=#6;@38H=ANOPNOPAR0=#003AHA=*AR6+0T=#08HSXM=1B=*AR6-<<TSAR7=#0220H*AR7=#0E5D8HA=*AR7+0B<<-12@3AH=#665AHAR2=#023AHBK=#0A=*AR2-0%<<12BK=#002AHAR3=#0256H*AR3- =HI(B)<<8ASM=#-8*AR3+ =A<<ASMAR4=#0216H*AR4=#8775HB=#025AHA=B<<ASMMMR(*AR4+)=BA=MMR(13H)AR2=#0245H*AR2=A<<7@3AH=A<<ASM*AR2+0%=B<<4;*AR2=#1CHASM=*AR2T=*AR4+LTD(*AR2+)B=RND(*AR2+)*AR3=#0F57AHA=UNS(*AR3)B=*AR3+*AR3+0B=TTRN=#12ACHA=DBL(*AR4+)B=DUAL(*AR2-)DBL(*AR3-)=ADUAL(*AR4+)=B*AR3+=HI(A)<<ASM||B=*AR2-<<16 *AR2+=HI(B)<<ASM||T=*AR3+A=#3456HIF(AGT)*AR4+=HI(A)<<ASMB=#0F679HIF(BLEQ)*AR3-=HI(B)<<ASMA=#0F98DHIF(AGT)*AR2+ =BRCIF(ALT)*AR3- =TB=#0125CHIF(BGEQ)*AR2+ =BRCCMPS(A,*AR4-)CMPS(B,*AR2+);B=@20DP=#40A=#1234H@22=AA=A+@9AH@25=AAR3=#0236H*AR3=#0F775HAR5=#024AH*AR5=#09ACDH NEXT: NOPA=#9ABCH*AR5+ =AA=A+#1000HA=A+#08ADEHSXM=0A=#07AB8H<<16A=A+#04ADEHA=A-#08ADEH<<16SXM=1B=#0FF7CHA=#0889AHA=A-#09ACDH<<16B=A-*AR5-C=1B=B-A<<ASM*AR5=AC16=0A=DBL(*AR5-)-AB=B-*AR3+A=B+*AR5+<<16A=A-B<<ASMB=*AR3+<<16-*AR4-<<16A=A+*AR4<<12B=A+*AR5<<-12A=B-#06789H<<16B=B+*AR7+0B+CARRYA=A-*AR2--BORROWSUBC(@25,A)A=A-UNS(*AR7+)T=#9ACDHB=DADST(*AR4,T)A=DADST(*AR7,T)C16=1A=A+DBL(*AR5+)A=A-DBL(*AR5-)T=#7654HC16=0A=DADST(*AR5+,T)C16=1A=DSADT(*AR5-,T)A=DBL(*AR5+)-A*AR3+ =HI(B)||B=A+*AR5+0%<<16*AR4-=HI(A)||A=*AR3-<<16-BGOTO NEXT;SXM=0A=#89ABHA=A+#4567H<<16*AR3=#9999HA=A&*AR3-B=#8897HB=B+#079ADH<<16A=A|B<<-12A=#8897HA=A+#079ADH<<16A=B^#0567DH<<12DP=#04@7AH=@7AH�ACD6H.end四、实验步骤:1、输入以上程序,并进行编译;2、打开code Explore ,并把编译好的程序装载,并进行调试3、逐步调试,并观察各种特殊寄存器的值和预期值是否对应,着重了解各种寻址的特点,及相对应的指令。
dsp实验报告

dsp实验报告实验一:CCS入门实验实验目的:1. 熟悉CCS集成开发环境,掌握工程的生成方法;熟悉SEED-DEC643实验环境; 掌握CCS集成开发环境的调试方法。
2.学习用标准C 语言编写程序;了解TI CCS开发平台下的C 语言程序设计方法和步骤; 熟悉使用软件仿真方式调试程序。
3. 学习用汇编语言编写程序; 了解汇编语言与 C 语言程序的区别和在设置上的不同;了解TMS320C6000 汇编语言程序结果和一些简单的汇编语句用法学习在CCS 环境中调试汇编代码。
4. 在了解纯C 语言程序工程和汇编语言程序工程结构的基础上,学习在C 工程中加入汇编编程的混合编程方法; 了解混合编程的注意事项;理解混合编程的必要性和在什么情况下要采用混合编程5. 熟悉CCS集成开发环境,掌握工程的生成方法; 熟悉SEED-DEC643实验环境;掌握CCS集成开发环境的调试方法。
实验原理:CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力序。
使用此命令后,要重新装载.out 文件后,再执行程序。
使用 CCS常遇见文件简介1. program.c: C 程序源文件;2. program.asm: 汇编程序源文件;3. filename.h: C 程序的头文件,包含DSP/BIOS API模块的头文件;4. filename.lib: 库文件;5. project.cmd: 连接命令文件;6. program.obj: 由源文件编译或汇编而得的目标文件;7. program.out: 经完整的编译、汇编以及连接后生成可执行文件; 8. program.map: 经完整的编译、汇编以及连接后生成空间分配文件; 9.project.wks: 存储环境设置信息的工作区文件。
P.S(CMD文件中常用的程序段名与含义1. .cinit 存放C程序中的变量初值和常量;2. .const 存放C程序中的字符常量、浮点常量和用const声明的常量;3. .text 存放C程序的代码;4. .bss 为C 程序中的全局和静态变量保留存储空间;5. .far 为C 程序中用far声明的全局和静态变量保留空间;6. .stack 为 C 程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;7. .sysmem 用于 C 程序中malloc、calloc 和 realloc 函数动态分配存储空间。
【精品】DSP实验报告

【精品】DSP实验报告一、实验目的1.探究数字信号处理器(DSP)的功能和应用。
2.熟悉DSP软件、硬件设计实验环境。
3.掌握DSP的基本编程方法。
4.实现数字信号的变换。
二、实验原理DSP是一种基于数字信号处理器的技术,是数码信号处理器技术和信号处理技术的一种应用。
DSP硬件处理器可以对数字信号进行滤波、基带处理和解调等。
DSP软件编程极为常见,可以设计各种数字信号处理算法、信号处理系统和软件运行环境。
使用DSP软件,我们可以过滤和处理模拟信号,包括声音和图像等。
三、实验器材和器件1.TMS320C5416数字信号处理器。
2.折标器。
3.信号源和信号处理器。
4.电器安全器材。
5.计算机和开发环境工具包。
四、实验步骤1.安装开发工具包,启动环境配置,并初始化DSP开发板和相关环境工具。
2.编写程序,加入滤波、处理和变换算法,提取有用信号和滤除噪声信号。
3.建立计算机接口和控制模块,并调试程序,验证结果。
五、实验结果本次实验结果如下:1.对于模拟信号输入,DSP通过滤波、变换等算法,进行信号分析和处理,有效提取信号,并消除噪声信号。
2.DSP的数字信号处理使得信号的提取和分析更加精确和高效,可以用于音频、视频、遥感等领域的处理。
3.当信号处理效果不佳时,需要调整算法和变换参数,重新调整信号滤波、变换和输出的参数,以获得更好的处理效果。
六、问题和分析在实验中,我们遇到了一些问题。
例如,信号处理的时候,出现了滤波不足,噪声信号无法完全滤除的情况。
我们通过调整算法和参数,进行重新优化,并在重新调整参数之后再次进行了测试,发现信号处理效果显著提高。
七、实验心得体会数字信号处理在现代信息技术领域是非常重要的,因此我们必须掌握DSP的理论原理和编程方法。
本次实验中,我们实际操作了DSP平台,并编写程序艇筏和优化算法,有效地提取信号,其结果是很有收获的。
通过本次实验,我们不仅学习了DSP的基本特性,还成功应用该技术处理信号数据,建立了初步的实践能力。
DSP实验报告一

DSP实验报告一引言本实验旨在通过实际操作,探索数字信号处理(DSP)的基本概念和技术。
DSP是一种通过数字计算来处理连续时间信号的技术,被广泛应用于音频处理、图像处理、通信系统等领域。
本实验将重点介绍数字信号的采样、量化和离散化过程,并通过实际编程实现。
实验过程1. 信号的采样1.1 信号的定义在DSP领域,信号是指随着时间变化的某种物理量,可以是声音、图像等。
我们首先需要定义一个连续的信号,用于采样和处理。
在本次实验中,我们选择了一个简单的正弦信号作为示例:x(t) = A \\sin(2\\pi f t)其中,A表示幅值,f表示频率,t表示时间。
1.2 采样过程为了将连续信号转换为离散信号,我们需要对信号进行采样。
采样是指在一定时间间隔内对连续信号进行测量。
我们可以通过模拟采样器来模拟采样过程。
在本实验中,我们选择了采样频率为100Hz,即每秒采样100次。
使用Python编程实现采样过程:import numpy as np# 信号参数设置A =1f =10# 采样频率设置fs =100# 采样点数设置N =100# 生成时间序列t = np.arange(N) / fs# 生成采样信号x = A * np.sin(2* np.pi * f * t)上述代码中,我们通过调整A和f的值来模拟不同的信号。
生成的信号将存储在x变量中,可以用于后续处理。
2. 信号的量化2.1 量化过程量化是指将连续信号的幅值转换为离散的数值。
在实际应用中,我们通常使用有限位数来表示信号的幅值。
常用的量化方式有线性量化和非线性量化。
在本实验中,我们选择了线性量化方式。
具体的量化过程可以通过下列Python代码实现:import math# 量化位数设置bits =8# 量化步长计算step_size =2* A / (2** bits -1)# 信号的量化x_quantized = np.round(x / step_size) * step_size上述代码中,我们通过调整bits的值来控制量化位数。
dsp实验报告

dsp实验报告DSP实验报告一、引言数字信号处理(Digital Signal Processing,DSP)是一种对数字信号进行处理和分析的技术。
它在许多领域中被广泛应用,如通信、音频处理、图像处理等。
本实验旨在通过实际操作,探索和理解DSP的基本原理和应用。
二、实验目的1. 理解数字信号处理的基本概念和原理;2. 掌握DSP实验平台的使用方法;3. 进行一系列DSP实验,加深对DSP技术的理解。
三、实验器材和软件1. DSP开发板;2. 电脑;3. DSP开发软件。
四、实验内容1. 实验一:信号采集与重构在此实验中,我们将通过DSP开发板采集模拟信号,并将其转换为数字信号进行处理。
首先,我们需要连接信号源和开发板,然后设置采样频率和采样时间。
接下来,我们将对采集到的信号进行重构,还原出原始模拟信号,并进行观察和分析。
2. 实验二:滤波器设计与实现滤波器是DSP中常用的模块,用于去除或增强信号中的特定频率成分。
在此实验中,我们将学习滤波器的设计和实现方法。
首先,我们将选择合适的滤波器类型和参数,然后使用DSP开发软件进行滤波器设计。
最后,我们将将设计好的滤波器加载到DSP开发板上,并进行实时滤波处理。
3. 实验三:频谱分析与频域处理频谱分析是DSP中常用的方法,用于分析信号的频率成分和能量分布。
在此实验中,我们将学习频谱分析的基本原理和方法,并进行实际操作。
我们将采集一个包含多个频率成分的信号,并使用FFT算法进行频谱分析。
然后,我们将对频谱进行处理,如频率选择、频率域滤波等,并观察处理后的效果。
4. 实验四:音频处理与效果实现音频处理是DSP中的重要应用之一。
在此实验中,我们将学习音频信号的处理方法,并实现一些常见的音频效果。
例如,均衡器、混响、合唱等。
我们将使用DSP开发软件进行算法设计,并将设计好的算法加载到DSP开发板上进行实时处理。
五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。
简单dsp课程设计实验

简单dsp课程设计实验一、教学目标本课程的目标是让学生了解数字信号处理(DSP)的基本原理和应用,掌握简单的DSP算法和程序设计。
通过本课程的学习,学生应达到以下目标:1.知识目标:•理解数字信号处理的基本概念、原理和特点。
•掌握常用的数字滤波器、离散余弦变换等DSP算法。
•学习DSP芯片的基本结构和编程方法。
2.技能目标:•能够使用MATLAB等工具进行DSP算法的仿真和分析。
•能够编写简单的DSP程序,进行数字信号处理。
•能够分析实验结果,解决实际问题。
3.情感态度价值观目标:•培养学生的创新意识和团队合作精神,提高解决实际问题的能力。
•激发学生对DSP技术的兴趣,培养学生的科学思维和终身学习的习惯。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.数字信号处理基本概念:数字信号处理的基本原理、优点和应用领域。
2.数字滤波器:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器的设计和应用。
3.离散余弦变换(DCT):DCT的原理和算法,DCT在图像处理中的应用。
4.DSP芯片和编程:DSP芯片的基本结构、工作原理和编程方法。
5.MATLAB在DSP中的应用:使用MATLAB进行DSP算法仿真和分析。
三、教学方法为了实现课程目标,我们将采用以下教学方法:1.讲授法:通过讲解和演示,让学生掌握数字信号处理的基本概念和原理。
2.讨论法:通过小组讨论和问题解答,促进学生对DSP技术的研究和思考。
3.案例分析法:通过分析实际案例,让学生了解DSP技术在工程应用中的重要性。
4.实验法:通过动手实验,让学生掌握DSP编程和算法实现。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《数字信号处理》(或其他合适的教材)。
2.参考书:提供相关的参考书籍,供学生深入学习和研究。
3.多媒体资料:制作课件、演示文稿等,以直观展示DSP算法和程序设计。
4.实验设备:提供DSP开发板和实验设备,让学生进行实际操作和编程。
DSP实验报告

实验一:CPU 定时器实验一:实验目的1、熟悉F2812 的CPU 定时器;2、掌握F2812 的CPU 定时器的控制方法;3、学会使用CPU 定时器中断方式控制程序流程。
二:实验设备计算机,CCS 3.1 版软件,DSP 硬件仿真器,E300 实验箱,2812CPU 板。
三:实验原理样例实验是采用CPU 定时器来定时使LED 亮灭的。
F2812 的CPU 定时器不同于事件管理器模块(EVA、EVB)中的通用定时器(GP)。
F2812 的CPU共有三个定时器,其中,CPU 定时器 1 和 2 被保留用作实时操作系统OS(例如DSPBIOS),CPU 定时器0 可以供用户使用。
定时器的一般操作如下:将周期寄存器PRDH:PRD 中的值装入32 为计数器寄存器TIMH:TIM。
然后计数器寄存器以F281x 的SYSCLKOUT 速率递减。
当计数器减到0 时,就会产生一个定时器中断输出信号(一个中断脉冲)。
下图为CPU 定时器的内部结构:四:实验步骤1 、F2812CPU 板的JUMP1 的1 和2 脚短接,拨码开关SW1 的第二位置ON;其余置OFF。
2 、E300 底板的开关SW4 的第2 位置ON,其余位置OFF。
其余开关设置为OFF。
3 、运行CCS 软件,调入样例程序,装载并运行;(进入CCS 界面后需要点“Debug--Connect”)4 、加载“..\ e300_03_cpu_timer\Debug\Example_281x_cpu_timer.out”;5 、单击“Debug \ Animate”运行,可观察到灯LED1~LED8 的变化规律:6 、单击“Debug \ Halt”,暂停程序运行,LED 灯停止闪烁;单击“Debug \ Run”,运行程序,LED 灯又开始按上述规律变化;五:实验程序及结果修改后程序如下:/*;**************************************************************;* 北京达盛科技有限公司;* 研发部;*;* ;*************************************************************//*----------------------- 文件信息----------------------------;*;* 文件名称: Example_DSP281x_e300_switch.c;* 适用平台: DSP E300 实验箱;;* CPU类型: DSP TMS320F2812;* 软件环境: CCS3.1;* 试验接线: 1、F2812CPU板上:JUMP1的1和2脚短接,拨码开关SW1的第二位置ON;;* 2、E300底板的开关SW4的第2位置ON,其余置OFF。
DSP实验报告_百度文库(精)

实验0 实验设备安装才CCS调试环境实验目的:按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。
实验步骤:以演示实验一为例:1.使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源;2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStart\sinewave\”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out;3.打开源文件exer3.asm,在注释行“set breakpoint in CCS !!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示;4.点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框5.双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1;DSP Data Type设置成16-bit signed integer,如下图所示;6.点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察7.点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果:心得体会:通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。
熟悉了DSP实验箱基本模块。
让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。
实验二基本算数运算2.1 实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
DSP实验报告

一.实验目的:通过数据采集加深对采样定理的理解,并对输入信号进行滤波处理。
二.实验仪器:DSP仿真器仿真软件(CCS)PC机实验箱示波器信号发生器三.实验步骤:1. 结合实验原理和前面的实验所学的知识,编写实验程序。
首先设置AD的采样频率设置为6KHz,信号的输出幅度为1V,输入频率为50Hz。
2. 将信号发生器,仿真器连接到实验箱。
3. 连接示波器到AD输入端和DA的输出端,设置输入信号为50Hz的正弦波形。
4. 运行编写好的程序,在示波器上观察和记录在采样频率为6KHz时的输入输出波形。
通过改变输出信号箱的输入频率,输入频率从50Hz逐渐增大,观察和记录下相应的输入输出波形,并分析输出变化的主要原因.四.实验原理和内容:模拟信号经过(A/D) 变换转换为数字信号的过程称之为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。
为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成份的两倍,这称之为采样定理。
根据香农采样定理:如果A/D转换器的输入信号具有有限带宽2×F,则只需要AD转换器的采样频率f大于2F,原始信号就可以完全从采样信号中恢复出来。
而如果采样频率低于信号频率的2倍,则不能不失真的恢复原始信号。
实验中,我们选择对一个确定的信号进行采样,然后将采样后的数据从DA输出,从DA的输出使用示波器查看输出后的波形。
如果满足采样定理,可以从示波器看到和原始信号一样的波形;反之,如果不满足采样定理,就不能从示波器看到和原始信号一样的波形。
调整AD转换器的采样频率,对两种情况分别验证采样定理。
因此,对于一个单一频率的正弦信号,当采样频率时就可保证可以由采样后的信号无失真地重现原信号;如果采样频率低于就会发生混叠失真。
在实际的情况中,首先要让信号通过一个截止频率小于的低通滤波器,使其成为一个限带信号。
然后对其采样就可以保证信号无混叠失真。
TLV1571的最大采样频率为625K,我们以实验二相同的方法对DSP数据总线进行设置,通过改变DSP读取总线数据的时间来改变采样频率,读取时间可以通过DSP的定时器来设置。
DSP实验报告

哈尔滨工程大学信息与通信工程学院实验名称:DSP原理与应用实验班级:20100813学号:**********学生姓名:**实验一自相关函数实验一.实验目的:熟悉C语言编程和VDSP编译环境。
学会用C语言编程实现自相关函数对正弦信号的应用。
二.实验要求:用VDSP集成环境产生一个正弦信号,然后用自相关函数对其进行处理,观察自相关函数运算后的波形。
自相关函数:自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系,其定义式为对于周期信号,积分平均时间T为信号周期。
对于有限时间内的信号,例如单个脉冲,当T趋于无穷大时,该平均值将趋于零,这时自相关函数可用下式计算自相关函数就是信号x(t)和它的时移信号x(t+τ)乘积的平均值,它是时移变量τ的函数。
例如信号的自相关函数为由此可见,正弦(余弦)信号的自相关函数同样是一个余弦函数。
它保留了原信号的频率成分,其频率不变,幅值等于原幅值平方的一半,即等于该频率分量的平均功率,但丢失了相角的信息。
三.实验结果:正弦信号经过自相关后的波形四.实验结论:自相关函数应用在检测信号回声(反射)。
若在宽带信号中存在着带时间延迟的回声,那么该信号的自相关函数将在处也达到峰值(另一峰值在处),这样可根据确定反射体的位置,同时自相关系数在处的值将给出反射信号相对强度的度量。
实验二 包络检波实验一.实验目的:熟悉C 语言编程和VDSP 编译环境。
学会用C 语言编程实现对信号进行包络提取。
二.实验要求:一个低频信号a(t)调制在一个高频信号t 0cos ω上,如图所示,这个信号表示为t t a t y 0cos )()(ω⋅= 低频信号和高频载波是相乘关系,将低频信号a(t)提取出来的过程就是求解包络.1) 将y(t)平方处理, t t a t a t t a t 02202222cos )()(cos )()(y ωω⋅+=⋅=平方后可以看到,变成了低频信号平方分量和一个高频信号之和.这样将信号通过一个低通滤波器就可以得到低频分量了.2) Hilbert变换3) 模拟电容充放电的方法三.实验结果:原始的包络信号:包络检波后的信号:四.实验结论:包络检波的应用在于从调幅波包络中提取调制信号的过程:先对调幅波进行整流,得到波包络变化的脉动电流,再以低通滤波器滤除去高频分量,便得到调制信号。
DSP实验指导书完全版正文_图文(精)

第一章实验系统介绍一、系统概述EL-DSP-EXPII教学实验系统属于一种综合的教学实验系统,该系统采用双CPU 设计,实现了DSP 的多处理器协调工作。
两个DSP 通过HPI 口并行连接,CPU1可以通过HPI 主机接口访问CPU2的存储空间。
该系统采用模块化分离式结构,使用灵活方便用户二次开发。
客户可根据自己的需求选用不同类型的CPU 适配板,我公司所有CPU 适配板是完全兼容的,用户在不需要改变任何配置情况下,更换CPU 适配板即可作TI 公司的不同类型的DSP 的相关试验。
除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量IO 扩展,语音CODEC 编解码、控制对象、人机接口等单元),可以完成DSP 基础实验、算法实验、控制对象实验和编解码通信试验。
EL-DSP-EXPII 教学实验系统功能框图二、硬件组成该实验系统其硬件资源主要包括:● CPU 单元● 数字量输入输出单元● 存储器及信号扩展单元● BOOTLOADER 单元● 语音模块● 液晶模块● CPLD 接口● A/D转换单元● D/A转换单元● 信号源单元● 温控单元● 步进电机● 直流电机● 键盘接口●电源模块1、 C PU 单元CPU 单元包括CPU1、CPU2两块可以更换的 CPU板,用户可根据需要选择不同种类的CPU 板。
板上除CPU 之外还包括以下单元: 1) CPU模式选择CPU 通常情况下可以根据用户需求工作在不同的模式下,主要用MP/MC ————的电平来决定。
当MP/MC ————为高电平时,DSP 工作在微处理器模式,当MP/MC —————为低电平时。
DSP 工作在为计算机方式。
在不同模式下存储器映射表有所不同。
详细信息请查阅相应的数据手册。
2)电源模块在CPU 板上由于TMS320VC54X 数字信号处理器内核采用3.3V 和1.8V 供电,因此需要将通用的5V 转换成3.3V 和1.8V 。
DSP实验报告(精)

DSP上机实验:DTMF信号的编码一、实验要求设计作业:双音多频(DTMF)信号的编码:把自己的电话号码DTMF编码生成为一个.wav文件。
【wavwrite()】技术指标:根据ITU Q.23建议,DTMF信号的技术指标是:传送/接收率为每秒10个号码,或每个号码100ms。
每个号码传送过程中,信号存在时间至少45ms,且不多于55ms,100ms的其余时间是静音。
在每个频率点上允许有不超过±1.5%的频率误差。
任何超过给定频率±3.5%的信号,均被认为是无效的,拒绝接收。
二、实验思想:1、编码:DTMF拨号键盘由一个4*4行列构成,每列代表一个高频信号,每行代表一个低频信号,每当按下一个键时,产生高、低频率的两个正弦信号,代表一个特定的数字或符号,根据ITU Q.23颁布的国际标准,DTMF传送或接受每个号码的时间为100ms,其中每个号码传送的过程中,信号存在时间至少45ms,其余时间静音。
用一个字符串变量来接受输入的电话号码,并将各个数字和符号的ASCII码用一个4*4矩阵表示,每接收到一个数字就对应两个频率,并产生由两个正弦波叠加的信号,完成DTMF编码,利用matlab提供的fft函数画出其频谱,用sound函数发出声音。
2、解码:采用Goertzel算法来检测DTMF信号,它是用IIR滤波器实现DFT算法的一种特殊方法,在实际DTMF解码中,只需要知道输入信号即DTMF信号的离散傅里叶变换X(k)的幅度信息,忽略相位信息,因为只要能得到8个特定频率点的幅度值,看哪两个频率对应的幅度最大,就能知道对应的是哪个数字,达到解码的目的,可以利用matlab提供的goertzel函数来对信号解码。
三、实验代码:d=input('请键入电话号码: ','s');sum=length(d);total_x=[];sum_x=[];sum_x=[sum_x,zeros(1,800)];for a=1:sumsymbol=abs(d(a));tm=[49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68]; for p=1:4;for q=1:4;if tm(p,q)==abs(d(a));break,endendif tm(p,q)==abs(d(a));break,endendf1=[697,770,852,941];f2=[1209,1336,1477,1633];n=1:400;x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000); x=[x,zeros(1,400)]; sum_x=sum_x+x;total_x=[total_x,x];endwavwrite(total_x,'soundwave')sound(total_x);t=(1:8800)/8000;subplot(2,1,1);plot(t,total_x);axis([0,1.2,-2,2]);xlabel('时间/s')title('DTMF信号时域波形')xk=fft(x); mxk=abs(xk);subplot(2,1,2);k=(1:800)*sum*8000/800;plot(k,mxk); xlabel('频率');title('DTMF信号频谱');disp('双频信号已生成并发出')四、实验结果图:请键入电话号码: 130xxxxxxxx。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一一、观察采样引起的混叠。
(来源:p57 习题1-3)设模拟信号为)3sin()2sin(4)5cos()(t t t t x πππ⋅+=,t 的单位为毫秒(ms)。
2. 设采样频率为3kHz ,确定与)(t x 混叠的采样重建信号)(t x a 。
3. 画出)(t x 和)(t x a 在)(60m s t ≤≤范围内的连续波形。
(因数字计算机无法真正画出连续波形,可用较密的离散点的连线来近似。
) 4. 分别用"" 和""⨯在两信号波形上标记出3kHz 采样点。
两信号波形是否相同?采样后的两序列是否相同?程序与分析: % problem 1% =============%作用与汇编中的;以及C++编程中的//作用一样,起注释作用 Clear %清屏% estimate x(t) and xa(t) with a much higher sampling freq. 'fs1'%因数字计算机无法真正画出连续波形,可用较密的离散点的连线来近似。
%因此,为画出x(n)与xa(t)的波形,取fs1=50KHZ 。
time_period=6; % unit: ms fs1=50; % unit: kHz T1=1/fs1; % unit: ms n1=0:fix(time_period/T1);%用两个冒号组成等增量语句,其格式为:t=[初值:增量:终值]。
%如:t=[0:0.02:0.08],t=0 0.02 0.04 0.06 0.08%当增量为1时,这个增量值可以略去,因而该语句只有一个冒号。
%如:k=1:6,k=1 2 3 4 5 6 %fix 向0舍入为整数,舍尾法x=cos(5*pi*n1*T1)+4*sin(2*pi*n1*T1).*sin(3*pi*n1*T1); xa=cos(pi*n1*T1);% obtain x(nT) and xa(nT) with given sampling freq. 'fs' fs=3; T=1/fs;n=0:fix(time_period/T);x_sample=cos(5*pi*n*T)+4*sin(2*pi*n*T).*sin(3*pi*n*T); xa_sample=cos(pi*n*T);figure,plot(n1*T1,x,'r',n1*T1,xa,'b',n*T,x_sample,'ro'),%figure 指令可以打开一个新的图形绘制窗口,在下一条这样的指令出现之前, %所有的绘图指令都会在这个窗口上绘制。
%plot 函数可以同时画多组数值图像,即以(X 坐标数组1,Y 坐标数组1,X %坐标数组2,Y 坐标数组2,……)的形式书写。
每组坐标书写后,可用一个‘’ %表示前面的一组坐标用怎样的形式绘制:线型,点型和颜色。
如‘r ’就表示%用绿色的线绘制,‘b ’蓝色。
‘ro ’红色圆圈等等。
hold on, stem(n*T,xa_sample,'b:x') %hold 保持当前图形窗的内容即:在画完一张图后用hold 命令保持住,继续在%当前窗画图。
%stem 离散序列绘图 %b:x 表示蓝色虚线x 号legend('x(t)','xa(t)','x(nT)','xa(nT)'),xlabel('t(ms)')%legend 这个指令可以在图像的右上角绘出一个图例,表示每条曲线代表什么, %名称需编程者指定。
%xlabel x 轴标注,ylabel :y 轴标注,title :三维坐标标注。
上面程序结果如下图所示:波形分析:x(t)与xa(t)两波形并不相同,但采样后,波形一致。
二、判别离散时间系统的时不变性。
(来源:p105 例3.2.2)设输入序列为)(n x ,系统)2()(n x n y =实现对)(n x 的抽取。
1. 设500,...,2,1),1002sin()(==n n n x π。
取延迟量D (例如D =30)。
记)()(D n x n x D -=,画出)(n x 、)(n x D 的序列波形。
2. 编程求出系统对)(n x 的响应)(n y 以及对)(n x D 的响应)(n y D3. 画出)(D n y 、)(n y D 的波形。
该系统是否为时不变的?程序与分析:% ============= % problem 2% ============= clear% plot x(n) and x(n-D) D=30; N=500; n=1:N;%增量为1的等增量语句 x=sin(2*pi/100*n); for n=1:N+D,if (n-D)<=0, xD(n)=0; else xD(n)=x(n-D); end end%求xD(n)的表达式 figure,subplot(2,1,1),%subplot(n,m,p),将图形分成n*m 个子图,在第p 个子图内绘图 plot(1:N,x,'r:',1:length(xD),xD,'b'), legend('x(n)','xD(n)'),xlabel('n') % plot y(n) and yD(n) for n=1:fix(N/2)%fix,对N/2去尾取整 y(n)=x(2*n); endfor n=1:length(y)+D,if (n-D)<=0, y_delay(n)=0; else y_delay(n)=y(n-D); end end%输入x(n),输出延迟D for n=1:fix(length(xD)/2) yD(n)=xD(2*n); end%输入延迟D ,对应的此时的输出 subplot(2,1,2),%在第二个子图内绘图plot(1:length(y),y,'r:',1:length(y_delay),y_delay,'r.:',1:length(yD),yD,'b.'), legend('y(n)','y(n-D)','yD(n)'),,xlabel('n') axis([0 530 -1 1])%axis(v),v 四元向量[xmin,xmax,ymin,ymax],坐标轴设定在v 规定的范围内上面程序结果如下图所示:波形分析:根据系统时不变的性质,当xD(n)=x(n-D)时,有yD(n)= y(n-D)。
由图2可以看出,y(n-D)与yD(n)的波形并不一致,则:系统为时变系统 三、利用卷积计算信号通过FIR 滤波器的输出,并观察输出信号的input-on 暂态、input-off暂态和稳态阶段。
(来源:p144 例4.1.8)考虑两个滤波器,⎩⎨⎧≤≤⋅=其它0140)75.0(25.0)(1n n h n,]1,5,10,105,1[51--=,-2h ;输入)(n x 为周期方波,第一个周期内⎩⎨⎧≤≤≤≤=492502401)(x x n x 。
1..分别画出)(n x 通过两个滤波器的输出)(1n y 、)(2n y 的波形)1990(≤≤n ,并与书上p144例4.1.8的两幅图比较是否一致。
2. 计算图中稳态部分的响应值。
程序与分析:% ============= % problem 3% =============clearh1=0.25*0.75.^(0:14);h2=1/5*[1 -5 10 -10 5 -1];%矩阵表示方法N=200;n=0:N-1;%增量为1的等增量语句x1=[ones(1,25) zeros(1,25)];% one period of 'x(n)'%ones(m,n),全1矩阵(m行,n列);zeros(m,n),全0矩阵(m行,n列) %eye(n),单位矩阵,n阶方阵x=[x1 x1 x1 x1];y1=conv(x,h1);y2=conv(x,h2);%y=conv(u,h)卷积语句figure,subplot(2,1,1),,plot(n,x,'r:',n,y1(1:N),'b'),%将图形分成2个子图,在第一个子图内绘图axis([0 200 -0.5 2.5]),grid on,%grid:图上加坐标网格legend('input','output'),xlabel('n')subplot(2,1,2),plot(n,x,'r:',n,y2(1:N),'b'),axis([0 200 -1.5 2.5]),grid on,%图上加坐标网格legend('input','output'),xlabel('n')上面程序结果如下图所示:1. 与书上P144图形一致2.1⎩⎨⎧≤≤⋅=其它0140)75.0(25.0)(1n n h nIts DC gain is almost unity:(M=14,m<=M 且m>=0)Ydc=∑h(m)=0.25∑0.75^m=1-0.75^(14+1)=0.9872.2]1,5,10,105,1[51--=,-2hH(Z)=1/5(1-1/Z)^5y dc=H(Z)|z=1→ydc=0实验二一、观察序列频谱,观察信号通过系统后波形与频谱的变化已知输入信号)(2)(5)(21n x n x n x +=,其中)8cos()(1nn x π=,)4cos()(2nn x π=,1,0-=N n ,N 可取5000点。
(1)画出)(),(),(21n x n x n x 的前100点波形 (2)画出)(n x 的DTFT 频谱)(ωX (πω≤≤0)由于计算机无法画出连续频谱,所以可在πω≤≤0内均匀取足够密的点数,如M =5000个频率点kMk πω=)1,0(-=M k ,求出这些频率点上的频谱值∑-=-=10)()(N n nj k k e n x X ωω)1,0(-=M k ,并画出|)(|k X ω随k ω变化的曲线。
(3)某LTI 系统)8()()(--=n u n u n h ,画出系统的幅度频响|)(|ωH(4)求系统对)(nx的响应)(ny(可以自己编程也可利用卷积函数)(⋅conv)。