DSP实验报告
dsp实验报告总结doc
![dsp实验报告总结doc](https://img.taocdn.com/s3/m/78b42419f121dd36a22d8232.png)
3.2 DSP总体结构
3.3 电源模块设计
3.4 时钟模块设计
3.5 存储器模块设计
3.6复位模块设计
篇二:DSP实验报告
DSP课程设计 实 验 报 告
语音压缩、存储和回放
学 院:电子信息工程学院电子科学与技术专业 设计人员: 吴莲梅 08214085电子0803班 杨 莹 08214088电子0803班指导老师: 日 期:
(1)A律限制采样值为12比特,A律的压缩可以按照下列公式进行定义:
A|x|11?lnA|x|1
(0?|x|?)?sgn(x)(?|x|?1)F(x)?sgn(x)
1?lnAA1?lnAA
式中,A是压缩参数(在欧洲,A=87.6)x是需要压缩的归一化整数。从线性到A律的压缩转换如下表所示:(压缩后的码字组成:比特0-3表示量化值,比特4-6表示段值,压缩后
一、 设计目的
设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
二、 系统分析
1.1设计要求 硬件要求:
(1)使用TMS320VC5416作为核心芯片。 (2)具有最简单的led控制功能。 (3)具有存放程序的外部Flash芯片。 (4)外部输入+5V电源。 (5)绘制出系统的功能框图。
(6) 仪器仪表--如频谱分析、函数发生、锁相环、地震处理等。 (7) 自动控制--如引擎控制、深空、自动驾驶、机器人控制、磁盘控制。 (8) 医疗--如助听、超声设备、诊断工具、病人监护等。(9) 家用电器--如高保真音响、音乐合成、音调控制、玩具与游戏、数字 电话/电视等 DSP 的发展前景 DSP 的功能越来越强,应用越来越广,达到甚至超过了微控制器的功能,比 微控制器做得更好而且价格更便宜, 许多家电用第二代 DSP 来控制大功率电机就 是一个很好的例子。汽车、个人通信装置、家用电器以及数以百万计的工厂使用 DSP 系统。数码相机、IP 电话和手持电子设备的热销带来了对 DSP 芯片的巨大需 求。而手机、
DSP实验报告6
![DSP实验报告6](https://img.taocdn.com/s3/m/3f73a74d6fdb6f1aff00bed5b9f3f90f76c64df1.png)
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实验报告](https://img.taocdn.com/s3/m/36eddfb0336c1eb91b375d95.png)
实验一数字IO应用实验—、实验目的1. 了解DSP开发系统的组成和结构2. 在实验设备上完成I/O硬件连接,编写I/O实验程序并运行验证。
3. 内存观察工具的使用二、实验设备计算机,CCS3.1版本软件,DSP仿真器,教学实验箱三、实验原理2.键值读取程序:该部分有两种方法进行键值的判断。
方法1:利用内存观察工具进行观察方法2:利用LED1-LED8的亮灭对应显示键值。
a)外部中断1的应用参照实验五;b)内存观察键值:程序中定义了三个变量“W”“row”和“col”。
“W”代表是CPLD中键盘的扫描数值,“row”和“col”分别代表键盘的行和列,由行和列可以判定按键的位置。
上述三个变量可以在观察窗口中观察的。
c)利用LED灯显示键值原理,参看实验一。
具体的LED灯显示值以查表的形式读出,请参看“”库文件。
本实验的CPLD地址译码说明:基地址:0x0000,当底板片选CS0为低时,分配有效。
CPU的IO空间:基地址+0x0200 LED灯output 8位外部中断用XINT1:由CPLD分配,中断信号由键盘按键产生。
中断下降沿触发。
KEY_DAT_REG(R):基地址+0x0004;四、实验步骤和内容1.2407CPU板JUMP1的1和2脚短接,拨码开关S1的第一位置ON,其余置OFF;2.E300板上的开关SW4的第一位置ON,其余OFF;SW3的第四位置ON其余的SW置OFF“DEBUG→Connect”)4.打开系统项目文件 \e300.test\ normal \05_key interface \;“\Debug\”文件“Debug\Go Main”跳到主程序的开始;7.指定位置设置断点;8.View--〉Watch Window打开变量观察窗口;9. 将变量“w”“row”和“col”添加到观察窗口中,改变变量观察窗口的显示方式为HEX显示。
“Debug--〉Animate”全速运行,然后点击E300板上键盘按键,观察窗口中变量变化,同时LED1-LED8灯也相应变化,指示键值。
DSP实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/360d7257f01dc281e53af0de.png)
实验一 CCS编程环境及实验箱使用入门一、实验目的1、熟悉DSP集成开发环境CCS,熟悉CCS中工程管理和程序编辑、汇编和链接的过程。
2、熟悉SEED-DTK系列DSP实验平台,掌握CCS中源文件管理、编辑和调试的方法。
二、实验要求1、掌握CCS环境下软件工作及编译方法。
2、了解SEED-DTK实验平台的基本组成,熟悉SEED-DEC5416实验环境。
三、实验内容1、利用SEED-DTK实验箱来完成工程管理,以及源文件管理、编译、汇编、链接和调试。
(1)安装、配置SEED-XDSUSB2.0仿真器。
(2)建立DSP工程(3)建立DSP源文件(4)学习使用CCS的调试工具2、在CCS下开发DSP软件项目需要先建立一个工程文件,扩展名缺省为*.pjt,所有关于项目的信息都会存储在这个工程文件中;若用C语言开发,需要使用Project → Add Files to Project…命令将C语言的标准支持库rts.lib 或rts_ext.lib添加到工程文件中。
此外,还需要将链接器命令文件*.cmd添加到工程文件中。
执行Project → Rebuild All命令,对工程进行编译、汇编和链接,在Output 窗口中将显示相关信息。
目标文件*.out生成成功后,执行菜单命令File →Load Program,选择*.out文件并打开,将生成的可执行程序加载到DSP中,CCS 将自动打开一个“反汇编”窗口,显示加载程序的反汇编指令。
执行菜单命令Debug → Run运行程序。
四、实验步骤1、将DSP仿真器与计算机连接好;2、将DSP仿真器的JTAG插头与SEED-DEC54xx单元的J1连接;3、启动计算机后,打开SEED-DTK实验箱的电源。
观察SEED-DTK-101单元的+5V、+3.3V、+15V和-15V的电源指示灯,以及SEED-DEC54xx的D1以及SEED-DSK2812的D2是否均亮;若有不亮,断开电源,检查电源。
DSP实验报告_6
![DSP实验报告_6](https://img.taocdn.com/s3/m/0732f964a7c30c22590102020740be1e650eccc3.png)
实验一: 闪灯实验熟悉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实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/430e210deff9aef8941e0641.png)
一、综合实验内容和目的1、实验目的(1) 通过实验学习掌握TMS320F28335的浮点处理; (2) 学习并掌握A/D 模块的使用方法;(3) 学习并掌握中断方式和查询方式的相关知识及其相互之间的转换; (4) 学习信号时域分析的方法,了解相关电量参数的计算方法; (5) 了解数字滤波的一些基本方法。
2、实验内容要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T ,信号的均方根大小V rms 、平均值V avg 、峰-峰值V pp 。
其中,均方根V rms 的计算公式如下:()21N rms iV u i N =∑ 式中N 为采样点数,()u i 为采样序列中的第i 个采样点。
要求2:所设计软件需要计算采样的波形周期个数,并控制采样点数大于1个波形周期,且小于3个波形周期大小。
要求3:对采集的数据需要加一定的数字滤波。
二、硬件电路相关硬件:TMS320F28335DSP 实验箱,仿真器。
硬件结构图三、程序流程图1、主程序流程图程序的主流程图2、子程序流程图参数计算的流程图四、实验结果和分析1、实验过程分析(1) 使用的函数原型声明对ADC模件相关参数进行定义:ADC时钟预定标,使外设时钟HSPCLK 为25MHz,ADC模块时钟为12.5MHz,采样保持周期为16个ADC时钟。
(2) 定义全局变量根据程序需要,定义相关变量。
主要有:ConversionCount、Voltage[1024]、Voltage1[1024]、Voltage2[1024]、filter_buf[N]、filter_i、Max、Min、T、temp、temp1、temp2、temp3、Num、V、Vav、Vpp、Vrm、fre。
这些变量的声明请见报告后所附的源程序。
(3) 编写主函数完成系统寄存器及GPIO初始化;清除所有中断,初始化PIE向量表,将程序中使用的ADC中断重新映射到ISR;对外部设备ADC模块进行初始化;使能PIE中ADCINT中断;配置ADC模块;等待ADC中断。
DSP实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/613d6a0010a6f524ccbf85ea.png)
实验报告实验一、1、A=[1.2,3,5.1,-1.5,2.4],n=[-2,-1,0,1,2];B=0.5m,m=0~10;请编程完成下面操作并画图表示结果A×B,A-B,A.*B,A(n-2)程序A=[1.2,3,5.1,-1.5,2.4];ns1=[-2,-1,0,1,2];m=0:10;B=(0.5).^m;nf1=-2+length(A)-1;nf2=0+length(B)-1;n1=-2:nf1;n2=0:nf2;n=min(ns1,0):max(nf1,nf2);y1=zeros(1,length(n));y2=y1;y1(find((n>=-2)&(n<=nf1)==1))=A; %给y1赋值Ay2(find((n>=0)&(n<=nf2)==1))=B;y3=y2';ya=y1-y2;ym=y1.*y2;ys=y1*y3;ny=ns1+2;y=A;subplot(321);stem(n1,A,'.');ylabel('A(n)');grid;subplot(322);stem(n2,B,'.');xlabel('n');ylabel('B(n)');grid; subplot(323);stem(n,ya,'.');ylabel('A-B');grid;subplot(324);stem(n,ym,'.');xlabel('n');ylabel('A.*B');grid;subplot(325);stem(ny,y,'.');xlabel('ny');ylabel('A(n-2)');grid; subplot(326);stem(1,ys,'.');xlabel('n');ylabel('A*B');grid;2、p138 2.28n=0:50;x1=0.9.^(abs(n));x2=3*cos(0.5*pi*n+0.25*pi)+2*sin(0.3*pi*n);a=1;N=1000;[X,w]=freqz(x1,a,N);magX=abs(X);angX=angle(X);%subplot(251);stem(n,x1);grid;%title('原序列');ylabel('h(n)');subplot(241);plot(w/pi,magX);grid;title('幅频特性');ylabel('模值');subplot(242);plot(w/pi,angX);grid;title('相频特性');ylabel('弧度');%输入xn,求输出ynny1=n(1)+n(1);ny2=n(end)+n(end);ny=ny1:ny2;y1=conv(x1,x2);subplot(243);stem(n,x2);grid;title('输入序列x(n)');ylabel('y(n)');subplot(244);stem(ny,y1);grid;title('h2(n)*x(n)');ylabel('y(n)');n=0:50;x3=0.3.^n+0.5.^n;x2=3*cos(0.5*pi*n+0.25*pi)+2*sin(0.3*pi*n);a=1;N=1000;[X,w]=freqz(x3,a,N);magX=abs(X);angX=angle(X);%subplot(256);stem(n,x3);grid;%title('原序列');ylabel('h(n)'); subplot(245);plot(w/pi,magX);grid; title('幅频特性');ylabel('模值'); subplot(246);plot(w/pi,angX);grid; title('相频特性');ylabel('弧度');%输入xn,求输出ynny1=n(1)+n(1);ny2=n(end)+n(end);ny=ny1:ny2;y2=conv(x3,x2);subplot(247);stem(n,x2);grid;title('输入序列x(n)');ylabel('y(n)'); subplot(248);stem(ny,y2);grid;title('h2(n)*x(n)');ylabel('y(n)');2.34.clear all;n=0:0.5:39;x=2*cos(pi*n/5);subplot(331);stem(n,x);B1=[1,1];A1=[1,-0.6];y1=filter(B1,A1,x);subplot(332);stem(n,y1);subplot(333);zplane(B1,A1);subplot(334);stem(n,x);B2=[1,1,1];A2=[1,0.5,-0.25]; y2=filter(B2,A2,x);subplot(335);stem(n,y2);subplot(336);zplane(B2,A2);subplot(337);stem(n,x);B3=[1,0,1];A3=[1,-6,9];y3=filter(B3,A3,x);subplot(338);stem(n,y3);subplot(339);zplane(B3,A3);实验二、p211 3.6clc; clear all;n=0:4;x=[2,1,4,2,3];[H, w]=freqz(x,1,'whole'); figure(1);plot(abs(H));hold on;[Y]=fft(x);stem(n*512/5,abs(Y)); grid;n=0:7;x=[2,1,4,2,3,0,0,0];[H, w]=freqz(x,1,'whole'); figure(2);plot(abs(H));hold on;[Y]=fft(x);stem(n*512/8,abs(Y)); grid;Xk =Columns 1 through 77.3223 + 0.0000i -2.3347 - 0.4963i 0.4792 + 0.2134i -0.2926 - 0.2126i 0.1167 + 0.1296i -0.0806 - 0.1397i 0.0357 + 0.1100iColumns 8 through 14-0.0120 - 0.1139i -0.0120 + 0.1139i 0.0357 - 0.1100i -0.0806 + 0.1397i 0.1167 - 0.1296i -0.2926 + 0.2126i 0.4792 - 0.2134iColumn 15-2.3347 + 0.4963i程序:N=8;n=0:1:N-1;xn=3*cos(0.25*pi*n);[Xk]=fft(xn,N);magXk=abs(Xk);angXk=angle(Xk);subplot(221);stem(n,magXk,'.');grid;xlabel('n');title('幅频特性');ylabel('模值');subplot(222);stem(n,angXk,'.');grid;xlabel('n');title('相频特性');ylabel('模值');N=15;n=-7:1:7;for i=1:1:Nxn(i)=0.8.^(abs(i-8));[Xk]=fft(xn,N)magXk=abs(Xk);angXk=angle(Xk);subplot(223);stem(n,magXk,'.');grid;xlabel('n');title('幅频特性');ylabel('模值');subplot(224);stem(n,angXk,'.');grid;xlabel('n');title('相频特性');ylabel('模值');3.32N=11;n=0:1:N-1;k=0:1:N-1;xn=cos(0.48*pi*n)+cos(0.52*pi*n);WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;subplot(221);plot(k,abs(Xk));gridxlabel('k');title('频谱曲线');ylabel('x(k)');N=101;n=0:1:N-1;k=0:1:N-1;n1=0:1:10;xn=cos(0.48*pi*n1)+cos(0.52*pi*n1);xn=[xn,zeros(1,N-length(n1))];%将序列补90个0所需长度WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;subplot(222);plot(k,abs(Xk));gridxlabel('k');title('频谱曲线');ylabel('x(k)');N=101;n=0:1:N-1;k=0:1:N-1;xn=cos(0.48*pi*n)+cos(0.52*pi*n);WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;subplot(223);plot(k,abs(Xk));grid;xlabel('k');title('幅频特性曲线');ylabel('|x(k)|');实验三、5.18 (1)(2)(3)(4)b =1.0000 1.6667 1.3333 1.3333 0.3333 -0.3333a =1.0000 -1.2500 1.2400 -0.8465 0.3675 -0.1147C =8.0587 - 2.9703i8.0587 + 2.9703i31.6073 + 0.0000i-29.5838 -10.1490i-29.5838 +10.1490iB =-0.0000 + 0.7000i-0.0000 - 0.7000i0.6500 + 0.0000i0.3000 + 0.5196i0.3000 - 0.5196iA =17.4429程序:sos=[1,0,1,1,-0.6,0.36;1,-1/3,0,1,-0.65,0;1,2,1,1,0,0.49]; [b,a]=sos2tf(sos)%级联型到直接型的转换[C,B,A]=residuez(6*b,a)%直接型到并联型的转换直接I型直接II型级联型:实验四、P464 7.17椭圆函数数字带通滤波器程序clear,clcFs=25000;wp1=2*5000/Fs;wp2=2*7000/Fs;ws1=2*3500/Fs;ws2=2*8500/Fs; wp=[wp1,wp2];ws=[ws1,ws2];Rp=0.5;As=45;[N,wc]=ellipord(wp,ws,Rp,As);[b,a]=ellip(N,Rp,As,wc);hn=dimpulse(b,a);w0=[ws1*pi,wp1*pi,wp2*pi,ws2*pi];Hx=freqz(b,a,w0);[H,w]=freqz(b,a);dbHx=-20*log10(abs(H)/max(abs(H)));[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,1,1),plot(12.5*w/pi,db,'linewidth',2);title('椭圆函数数字带通幅度响应(dB)');xlabel('f(KHz)');ylabel('dB');axis([0,12.5,-50,3]);set(gca,'xtickmode','manual','xtick',[1.25,3.5,5,7,8.5,10,12.5]); set(gca,'ytickmode','manual','ytick',[-50,-As,-10,0]);grid; subplot(2,1,2),plot(w/pi,pha,'linewidth',2);title('椭圆函数数字带通相位响应');xlabel('\omega/\pi');ylabel('rad');grid;axis([0,1,-4,4]);figure(2),stem(hn,'.','linewidth',2);title('系统冲激响应');xlabel('n');axis([0,121,-0.15,0.15]);N=4;切比雪夫I型带通滤波器clear,clcFs=25000;wp1=2*5000/Fs;wp2=2*7000/Fs;ws1=2*3500/Fs;ws2=2*8500/Fs; wp=[wp1,wp2];ws=[ws1,ws2];Rp=0.5;As=45;[N,wc]=cheb1ord(wp,ws,Rp,As);[b,a]=cheby1(N,Rp,wc)hn=dimpulse(b,a)w0=[ws1*pi,wp1*pi,wp2*pi,ws2*pi];Hx=freqz(b,a,w0);[H,w]=freqz(b,a);dbHx=-20*log10(abs(H)/max(abs(H)));[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,1,1),plot(12.5*w/pi,db,'linewidth',2);title('切比雪夫I型数字带通幅度响应(dB)');xlabel('f(KHz)');ylabel('dB');axis([0,12.5,-50,3]);set(gca,'xtickmode','manual','xtick',[1.25,3.5,5,7,8.5,10,12.5]); set(gca,'ytickmode','manual','ytick',[-50,-As,-10,0]);grid; subplot(2,1,2),plot(w/pi,pha,'linewidth',2);title('切比雪夫I型数字带通相位响应');xlabel('\omega/\pi');ylabel('rad');grid;axis([0,1,-4,4]);figure(2),stem(hn,'.','linewidth',2);title('系统冲激响应');xlabel('n');axis([0,151,-0.16,0.16]);N=5;切比雪夫II型带通滤波器clear,clcFs=25000;wp1=2*5000/Fs;wp2=2*7000/Fs;ws1=2*3500/Fs;ws2=2*8500/Fs; wp=[wp1,wp2];ws=[ws1,ws2];Rp=0.5;As=45;[N,wc]=cheb2ord(wp,ws,Rp,As);[b,a]=cheby2(N,As,wc);hn=dimpulse(b,a);w0=[ws1*pi,wp1*pi,wp2*pi,ws2*pi];Hx=freqz(b,a,w0);[H,w]=freqz(b,a);dbHx=-20*log10(abs(H)/max(abs(H)));[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,1,1),plot(12.5*w/pi,db,'linewidth',2);title('切比雪夫II型数字带通幅度响应(dB)');xlabel('f(KHz)');ylabel('dB');axis([0,12.5,-50,3]);set(gca,'xtickmode','manual','xtick',[1.25,3.5,5,7,8.5,10,12.5]); set(gca,'ytickmode','manual','ytick',[-50,-As,-10,0]);grid; subplot(2,1,2),plot(w/pi,pha,'linewidth',2);title('切比雪夫II型数字带通相位响应');xlabel('\omega/\pi');ylabel('rad');grid;axis([0,1,-4,4]);figure(2),stem(hn,'.','linewidth',2);title('系统冲激响应');xlabel('n');axis([0,60,-0.22,0.22]);N=5;巴特沃斯型带通滤波器clear,clcFs=25000;wp1=2*5000/Fs;wp2=2*7000/Fs;ws1=2*3500/Fs;ws2=2*8500/Fs; wp=[wp1,wp2];ws=[ws1,ws2];Rp=0.5;As=45;[N,wc]=buttord(wp,ws,Rp,As);[b,a]=butter(N,wc);hn=dimpulse(b,a);w0=[ws1*pi,wp1*pi,wp2*pi,ws2*pi];Hx=freqz(b,a,w0);[H,w]=freqz(b,a);dbHx=-20*log10(abs(H)/max(abs(H)));[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,1,1),plot(12.5*w/pi,db,'linewidth',2);title('巴特沃斯型数字带通幅度响应(dB)');xlabel('f(KHz)');ylabel('dB');axis([0,12.5,-50,3]);set(gca,'xtickmode','manual','xtick',[1.25,3.5,5,7,8.5,10,12.5]); set(gca,'ytickmode','manual','ytick',[-50,-As,-10,0]);grid; subplot(2,1,2),plot(w/pi,pha,'linewidth',2);title('巴特沃斯型数字带通相位响应');xlabel('\omega/\pi');ylabel('rad');grid;axis([0,1,-4,4]);figure(2),stem(hn,'.','linewidth',2);title('系统冲激响应');xlabel('n');axis([0,60,-0.2,0.2]);N=7;实验五、P561 8.11,设计线性相位FIR低通数字滤波器dev =0.0575 0.0002h =Columns 1 through 13-0.0028 -0.0087 -0.0086 0.0044 0.0153 0.0066 -0.0058 0.0032 0.0148 0.0005 -0.0126 0.0073 0.0194Columns 14 through 26-0.0096 -0.0201 0.0199 0.0253 -0.0309 -0.0268 0.0537 0.0302 -0.0991 -0.0307 0.3165 0.5320 0.3165Columns 27 through 39-0.0307 -0.0991 0.0302 0.0537 -0.0268 -0.0309 0.0253 0.0199 -0.0201 -0.0096 0.0194 0.0073 -0.0126Columns 40 through 490.0005 0.0148 0.0032 -0.0058 0.0066 0.0153 0.0044 -0.0086 -0.0087 -0.0028程序:clc,clear all;Rp=1;As=75;Fs=100*10^3;f=[25*10^3,30*10^3];a=[1,0];dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)][M,f0,a0,weights]=firpmord(f,a,dev,Fs);h=firpm(M,f0,a0,weights)[H,f]=freqz(h,1,1024,Fs);subplot(211);plot(f/Fs,20*log10(abs(H)),'linewidth',2);title('幅度响应(dB)');xlabel('f/Fs');ylabel('20log|H(e^j^\omega)|(dB)');axis([0,0.5,-140,20]);set(gca,'xtickmode','manual','xtick',[0,0.1,0.2,0.25,0.3,0.4,0.5]); set(gca,'ytickmode','manual','ytick',[-140,-110,-70,-30,0,20]);grid; subplot(212);plot(f/Fs,angle(H),'linewidth',2);grid;title('相位响应');xlabel('f/Fs');ylabel('arg[H(e^j^\omega)]');8.18用firpm,firpmord设计一个FIR线性相位双带通滤波器M =36f0 =0.10000.20000.40000.50000.60000.70000.80000.90001.0000 a0 =11110 weights =17.19471.000017.19471.000017.1947h =Columns 1 through 130.0159 -0.0002 -0.0071 -0.0027 -0.0281 0.0135 -0.0019 -0.0273 -0.0010 0.0271 0.0458 -0.0003 0.0441Columns 14 through 26-0.0461 0.0363 0.0835 -0.2605 -0.0810 -0.0732 0.0333 0.4606 0.0333 -0.0732 -0.0810 -0.2605 0.0835Columns 27 through 390.0363 -0.0461 0.0441 -0.0003 0.0458 0.0271 -0.0010 -0.0273 -0.0019 0.0135 -0.0281 -0.0027 -0.0071Columns 40 through 41-0.0002 0.0159程序:clc,clear all;Rp=1;As=50;f=[0.1,0.2,0.4,0.5,0.6,0.7,0.8,0.9,];a=[0,1,0,1,0];delta1=(10^(Rp/20)-1)/(10^(Rp/20)+1);delta2=(1+delta1)*(10^(-As/20));dev=[delta2,delta1,delta2,delta1,delta2];[M,f0,a0,weights]=firpmord(f,a,dev)h=firpm(M+4,f0,a0,weights)[H,f]=freqz(h,1,1024);subplot(211);plot(f/pi,20*log10(abs(H)),'linewidth',2);grid;title('幅度响应(dB)');xlabel('\omega/\pi');ylabel('20log|H(e^j^\omega)|(dB)');axis([0,1,-100,10]);set(gca,'xtickmode','manual','xtick',[0:0.1:1]);grid on;set(gca,'ytickmode','manual','ytick',[-100,-50,-1,10]);grid onsubplot(212);plot(f/pi,angle(H),'linewidth',2);gridtitle('相位响应');xlabel('\omega/\pi');ylabel('arg[H(e^j^\omega)]'); figure(2),stem(h,'.','linewidth',2);title('系统冲激响应');xlabel('n');axis([0,40,-0.6,0.6]);grid;N=5;实验六频域抽样定理和音频信号的处理一、频域抽样定理的验证给定信号1, 013 ()27, 14260,n nx n n n+≤≤⎧⎪=-≤≤⎨⎪⎩其它。
dsp实验报告
![dsp实验报告](https://img.taocdn.com/s3/m/ab745f9d0129bd64783e0912a216147917117eb4.png)
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实验报告](https://img.taocdn.com/s3/m/d1880d6db5daa58da0116c175f0e7cd1842518bc.png)
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信号处理实验报告](https://img.taocdn.com/s3/m/a35c2f8c0408763231126edb6f1aff00bfd5707c.png)
dsp信号处理实验报告DSP信号处理实验报告一、引言数字信号处理(DSP)是一种将连续信号转换为离散信号,并对其进行处理和分析的技术。
在现代通信、音频处理、图像处理等领域中,DSP技术被广泛应用。
本实验旨在通过对DSP信号处理的实践,加深对该技术的理解与应用。
二、实验目的本实验旨在通过对DSP信号处理的实践,掌握以下内容:1. 学习使用DSP芯片进行信号采集和处理;2. 理解离散信号的采样和重构过程;3. 掌握常见的DSP信号处理算法和方法。
三、实验原理1. 信号采集与重构在DSP信号处理中,首先需要对模拟信号进行采样,将连续信号转换为离散信号。
采样过程中需要注意采样频率的选择,以避免混叠现象的发生。
采样完成后,需要对离散信号进行重构,恢复为连续信号。
2. DSP信号处理算法DSP信号处理涉及到多种算法和方法,如滤波、频谱分析、时域分析等。
其中,滤波是一种常见的信号处理方法,可以通过滤波器对信号进行去噪、增强等处理。
频谱分析可以将信号在频域上进行分析,了解信号的频率成分和能量分布。
时域分析则关注信号的时序特征,如幅值、相位等。
四、实验步骤1. 信号采集与重构在实验中,我们使用DSP芯片进行信号采集与重构。
将模拟信号输入DSP芯片的模拟输入端口,通过ADC(模数转换器)将模拟信号转换为数字信号。
然后,通过DAC(数模转换器)将数字信号转换为模拟信号输出。
2. 滤波处理为了演示滤波处理的效果,我们选择了一个含有噪声的信号进行处理。
首先,使用FIR滤波器对信号进行低通滤波,去除高频噪声。
然后,使用IIR滤波器对信号进行高通滤波,增强低频成分。
3. 频谱分析为了对信号的频率成分和能量分布进行分析,我们使用FFT(快速傅里叶变换)算法对信号进行频谱分析。
通过观察频谱图,可以了解信号的频率特性。
4. 时域分析为了对信号的时序特征进行分析,我们使用时域分析方法对信号进行处理。
通过计算信号的均值、方差、峰值等指标,可以了解信号的幅值、相位等特性。
DSP课程实验报告
![DSP课程实验报告](https://img.taocdn.com/s3/m/ec7cff37af45b307e871972e.png)
目录目录 (1)实验一试验名称:RGB转灰度,添加噪声实验 (2)实验二试验名称:图像平滑,中值滤波实验 (7)实验三试验名称:图像锐化实验 (9)实验四试验名称:灰度变换实验 (11)实验五试验名称:灰度直方图,直方图均衡实验 (13)实验六试验名称:边沿提取,灰度反转,二值化实验 (16)实验七试验名称:熟悉imgLib的使用实验 (18)实验一试验名称:RGB转灰度,添加噪声实验一、试验目的1、熟悉CCS,学会运用CCS导入图像,并仿真DSP处理图像2、掌握如何将目标图像由彩色转为灰色3、掌握如何给目标图像添加各类噪声二、试验设备1、PC机一台,windows操作系统2、CCS编程环境三、试验原理(1)彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。
而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。
因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。
图像的灰度化处理,一般有以下三种处理方法:方法一:加权平均法根据重要性及其它指标,将R、G、B三个分量以不同的权值进行加权平均。
由于人眼对绿色的敏感度最高,对蓝色敏感度最低。
因此,在MATLAB中我们可以按下式系统函数,对RGB三分量进行加权平均能得到较合理的灰度图像。
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))方法二:平均值法将彩色图像中的R、G、B三个分量的亮度求简单的平均值,将得到均值作为灰度值输出而得到灰度图。
DSP实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/61c8a8345901020207409c27.png)
实验一: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实验报告_百度文库(精)
![DSP实验报告_百度文库(精)](https://img.taocdn.com/s3/m/0c28356df242336c1eb95e1b.png)
实验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图像处理实验报告](https://img.taocdn.com/s3/m/553dcd20cbaedd3383c4bb4cf7ec4afe04a1b1af.png)
dsp图像处理实验报告DSP图像处理实验报告一、引言数字信号处理(DSP)是一种用于处理数字信号的技术,广泛应用于各个领域。
图像处理是DSP的一个重要应用,通过对图像进行数字化处理,可以实现图像增强、边缘检测、目标识别等功能。
本实验旨在通过DSP技术对图像进行处理,探索图像处理算法的实际应用。
二、实验目的1. 了解数字信号处理在图像处理中的应用;2. 掌握DSP平台的基本操作和图像处理算法的实现;3. 进一步熟悉MATLAB软件的使用。
三、实验环境和工具本实验使用的DSP平台为TMS320C6713,开发环境为Code Composer Studio (CCS)。
图像处理算法的实现主要依赖于MATLAB软件。
四、实验步骤1. 图像采集与预处理首先,通过CCD摄像头采集一张待处理的图像,并将其转化为数字信号。
然后,对图像进行预处理,包括去噪、灰度化等操作,以提高后续处理的效果。
2. 图像增强图像增强是指通过一系列算法和技术,提高图像的质量、清晰度和对比度。
在本实验中,我们采用了直方图均衡化算法对图像进行增强。
该算法通过对图像像素值的统计分析,调整像素值的分布,使得图像的对比度更加明显,细节更加突出。
3. 边缘检测边缘检测是图像处理的重要环节,可以用于目标识别、图像分割等应用。
在本实验中,我们采用了Canny算法进行边缘检测。
Canny算法是一种经典的边缘检测算法,通过对图像进行多次滤波和梯度计算,得到图像的边缘信息。
4. 目标识别目标识别是图像处理中的关键任务之一,可以应用于人脸识别、车牌识别等领域。
在本实验中,我们以人脸识别为例,使用了Haar特征分类器进行目标识别。
Haar特征分类器是一种基于图像特征的分类器,通过对图像进行特征提取和分类器训练,可以实现对目标的快速准确识别。
五、实验结果与分析通过对图像进行处理,我们得到了增强后的图像、边缘检测结果和目标识别结果。
经过对比分析,我们发现图像增强算法能够有效提高图像的对比度和清晰度,使得图像更加易于观察和分析。
DSP实验报告
![DSP实验报告 ](https://img.taocdn.com/s3/m/7804ced56f1aff00bed51e21.png)
一、综合实验内容和要求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实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/f4caea49cf84b9d528ea7ad1.png)
实验一 离散系统的时域分析一、实验目的1、掌握离散时间信号的MATLAB 表示;2、信号运算;3、差分方程的求解;4、离散时间信号的卷积运算。
二、实验原理1、离散时间信号离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。
它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n 取整数代表时间的离散时刻。
在matlab 中用向量来表示一个有限长度的序列。
2、序列的类型为了分析的方便,在数字信号处理中规定了一些基本的序列。
a) 单位采样序列function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0];调用该函数[x,n]=impseq(-2,8,2); stem(n,x)0010()001()0n n n n n n n n n δδ =⎧=⎨ ≠⎩ =⎧-⎨≠⎩单位采样序列的另一种生成方法n0=-2; n=[-10:10]; nc=length(n); x=zeros(1,nc); for i=1:nc if n(i)==n0 x(i)=1 end endstem(n,x)b) 单位阶跃序列function [x,n]=stepseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)>=0];调用该函数[x,n]=stepseq(-2,8,2); stem(n,x)00010()001()0n n n n n n n n nεε >=⎧=⎨<⎩ >=⎧-⎨ <⎩c) 实数指数序列x(n)=an (运算符“.^”)n=[0:10]; x=0.9.^n; stem(n,x)d) 复数指数序列n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n);real_x=real(x); image_x=imag(x); mag_x=abs(x); phase_x=angle(x); subplot(2,2,1); stem(n,real_x) subplot(2,2,2); stem(n,image_x) subplot(2,2,3); stem(n,mag_x) subplot(2,2,4); stem(n,phase_x)()()j nx n e αω+=(0.1j0.3)n x(n)e (10n 10)-+= -<<e) 正弦和余弦序列 n=[0:10]; x=3*cos(0.1*pi*n+pi/3);stem(n,x)f)随机序列rand(1,N)产生其元素在[0,1]之间均匀分布长度为N 的随机序列。
DSP实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/6c5fbb402b160b4e767fcf0b.png)
实验报告利用DSP实现实时滤波姓名:班级:学号:一、实验任务1、实验背景在信号与信息处理中,提取有用信息就要对信号进行滤波。
利用DSP可以实时地对信号进行数字滤波。
本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。
自适应滤波不仅能够选择信号,而且能够控制信号的特性。
自适应滤波器具有跟踪信号和噪声变化的能力,它的系数能够被一种自适应算法所修改。
利用DSP可以实时地对信号进行自适应滤波。
DSP利用直接存储器访问方式DMA采集数据时不打扰CPU,因此CPU可以对信号进行实时地滤波。
本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。
2、实验要求1.建立信号处理系统的概念,学会使用DSP处理器;2.了解DSP处理系统的关键器件的使用方法;3.掌握DSP课程设计的基本方法,巩固信号处理的基本理论4.掌握查阅有关资料和使用器件手册的基本方法,学会阅读原版英文资料;5.掌握DSP集成开发环境的使用和调试方法;6.掌握DSP片外资源和片上资源访问的基本方法,如存储器、McBSP、DMA、A/D 和D/A转换器等。
二、设计内容1、基本部分:(1)对DMA进行初始化;(2)对A/D、D/A进行初始化;(3)编写DMA中断服务程序,实现信号的实时滤波;(4)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数,利用MATLAB设计数字滤波器,提取滤波器参数;(5)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波。
(6)比较加不同窗和阶数时滤波器的滤波效果;(7)测试所设计滤波器的幅频特性和相频特性,并与MATLIB下的设计结果进行比较。
2、拓展部分:(1)滤波后信号实时输出的同时,将数据存放在数据文件中;(2)利用自适应滤波实现语音信号回波对消。
三、设计方案、算法原理说明1、设计方案流图如下:主程序简要说明:模拟音频进过codec电路(codec已设置好初值),转化为数据流,存放于缓冲区中,用于对数据处理。
东南大学系统实验(DSP)实验报告
![东南大学系统实验(DSP)实验报告](https://img.taocdn.com/s3/m/f80a0331ee06eff9aef807d7.png)
系统实验(DSP)实验报告一、 实验题目⑴ 图像的锐化处理(高通滤波处理)处理模板如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+--=004100αααααM 25.0=α 对应数学表达式:()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα⑵ 图像的边缘检测方向方向和y x 的梯度分别为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∆10110110131xf ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∆11100011131y f 总梯度幅度yx f f f ∆+∆=∆[,1(),1()1,1()1,1(),1()1,1(||31-------+++++-+=∆yx f y x f y x f y x f y x f y x f fx[,1()1,()1,1()1,1()1,()1,1(||31+-+-+---++-+--=∆yx f y x f y x f y x f y x f y x f f y⎩⎨⎧≥∆=elseT f ify x g 01),(二、 实验原理为了更加通俗地描述图像处理方法,这里引入模板的概念。
模板就是一个矩阵,模板大小通常为2⨯2、3⨯3,模板也好比一个窗口,将模板窗口覆盖在图像上,窗口覆盖到的象素就是将要处理的象素,而象素所对应的模板矩阵元素的值就是加权值,模板运算就是将模板矩阵元素与对应的象素值相乘并求和。
如下图所示,模板为3⨯3大小,对应到图像上窗口亦为3⨯3大小,窗口中有九个象素与模板相对应。
模板第一行11m 与)1,1(--y x f 、12m 与)1,(-y x f 、13m 与图像模板示意图)1,1(-+y x f 相对应,模板第二、三行依此类推。
根据模板运行规则,3⨯3模板对应的表达式数学为:)1,1()1,()1,1(),1(),(),1()1,1()1,()1,1(),(333231232221131211++⋅++⋅++-⋅++⋅+⋅+-⋅+-+⋅+-⋅+--⋅=y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x g⑴、图像的锐化处理锐化式可以用模板表示为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+--=004100αααααM 对应的数学表达式是:()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα⑵、图像的边界检测边界特点:沿边界走向特性变化比较缓慢,垂直于边界走向特性变化比较剧烈。
DSP实验报告
![DSP实验报告](https://img.taocdn.com/s3/m/ffa29b210722192e4536f6b9.png)
实验一、汇编语言与C语言的混合编程实验指导书实验1.4一、实验目的:1. 在了解纯C 语言程序工程和汇编语言程序工程结构的基础上,学习在C 工程中加入汇编编程的混合编程方法。
2. 了解混合编程的注意事项。
3. 理解混合编程的必要性和在什么情况下要采用混合编程。
二、实验设备:计算机,ICETEK-VC5416-A 实验箱(或ICETEK 仿真器+ICETEK-VC5416-A 系统板+相关连线及电源)。
三、实验内容:1.使用C 语言开发应用程序的优缺点2.使用汇编语言开发应用程序的优缺点3.如何混合编程4.何时使用混合编程技术5.使用混合编程时的注意事项6.实验程序解释四、实验步骤及实验结果:1.实验准备- 设置软件仿真模式,参看:第三部分、第一章、四、1。
- 启动CCS,参看:第三部分、第一章、五、1。
2.打开工程、浏览程序内容、编译生成和下载可执行代码、(1) 打开工程:选择菜单Project->Open…,选择打开工程文件C:\ICETEK\VC5416Ae\VC5416Ae\Lab0104-CASM\CASM.pjt(2) 展开工程管理窗口中CASM 工程,双击Source 下的CProgram.c 项,打开CProgram.c 源程序窗口。
可以看到,程序完成了一个简单的运算,它先开设了三个全局变量x、y、z,然后分别给x 和y 赋初值,再在循环中计算x+y,结果赋值给z。
(3) 编译并下载程序:图 3.2.1.14此设置完成在每次编译完成后将程序自动下载到DSP上。
选择菜单Project->Build All,编译、连接和下载程序。
(4) 运行程序,观察结果:在程序中有“在此加软件断点”注释的语句上加软件断点;将变量z 加入变量观察窗口;运行程序到断点,观察变量z 的结果值。
3.修改程序(1) 修改算法部分成单独子程序:我们假设在循环中进行的运算是需要用汇编语言程序模块优化的部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告实验1 TMS320VC5402EVM实验板及CCS调试软件的操作一、实验目的了解5402EVM实验板的硬件电路;上各主要元件的功能和用途;了解CCS调试软件的基本操作。
二、实验要求(1)实验板主要是了解5402EVM实验板上主要芯片的功能和用途、各插座的引脚定义、跳线器的配置。
(2)CCS调试软件主要是了解如何启动CCS,如何打开寄存器窗口、存储器窗口、反汇编窗口,怎样建立工程、怎样进行编译、汇编和连接,如何下载程序,如何通过单步、设断点等进行调试。
三、实验步骤(1)了解实验板整体图主要芯片的功能和用途插座的引脚定义●跳线器的配置●地址空间分布●状态位分配(0000H@IS)●其他资源●实验连接图接220V交流电源DSP实验板 DSP开发系统(2)熟悉CCS进入CCS调试环境加电后,从桌面双击如下图标:或按如下操作:●进入CCS调试环境后的窗口●打开寄存器窗口●寄存器窗口打开后●打开一个工程●编译、汇编、链接生成可执行文件●编译、汇编、链接操作后●加载程序●单步执行设断点●全速运行●打开存储器窗口●存储器窗口打开后●多窗口显示●操作后●图形显示存储器内容●设定图形显示的参数●操作后(3)用户软件的组成需要用户编写的软件文件一般由源程序文件(C语言或汇编语言)和命令文件(.CMD)组成。
后者的功能是将前者经编译、汇编生成的目标(OBJ)文件通过链接(LINK)转换成实验2 TMS320C5000基本软件的操作存储器实验一、实验目的了解DSP内部数据存储器和程序存储器的结构;了解DSP指令的几种寻址方式。
二、实验原理和要求主要是掌握进行数据的存储、移动的指令,并能通过CCS5000仿真界面观察其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、打开四个内存窗口:●Data页的0x2000起始处●Data页的0x3000起始处●Data页的0x3FF0起始处(堆栈区)●Program页的0x80起始处3、按照实验一的步骤设置断点,观察方法也基本相同,下面仅对各个小段程序进行简要说明:Break1: 立即数寻址方式;Break2: 绝对地址寻址方式-数据存储器地址寻址;存储单元DDAT1(0x2001)被赋值为5678h。
Break3: 绝对地址寻址方式-程序存储器地址寻址;1234h被赋给PDAT0单元Break4: 累加器寻址方式;Break5: 直接寻址方式(DP为基准);3210h被赋给DAT3(0x2003h)Break6: 直接寻址方式(SP为基准);9876h被赋给DAT3(0x4002)Break7: 间接寻址方式;9876h被赋给以DDAT3的值为地址的单元Break8: 存储器映射寄存器寻址方式;寄存器T被赋值7788hBreak9: 堆栈寻址方式;T中的值(#7788h)被压栈入SP-1所指向的单元中Break10: 将程序存储器0x80为起始地址的0x100个字复制到数据存储器的0x3000为起始地址的空间中;Break11: 将256个递增数据0,1,…255存放在起始地址为0x3100的一段数据存储器中。
0x3100地址开始存放0~255的递增数据高精度算法实验一、实验目的了解DSP高精度算法所用的指令和用法。
二、实验原理和要求主要是掌握对两个32位的数据进行加、减、乘运算和对两个16位的数据进行除运算,并能通过CCS5000仿真界面观察其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、打开四个内存窗口:●Data页的0x2000起始处(加法区)●Data页的0x2100起始处(减法区)●Data页的0x2200起始处(乘法区)●Data页的0x2300起始处(除法区)3、单步或设置断点运行,观察内存窗口中的数据变化。
各个小段程序的简要说明如下:LP_ADD:32位加法;LP_SUB:32位减法;LP_MUL:32位无符号整数乘法;LP_DIV:16位无符号除法。
加法:78785656h+34341212h=ACAC6868h78785656h-34341212h=44444444h乘法:78785656h*354341212h=1890F27BF0001E0Ch除法:5656h/1212h=4,余0E0E.求平均值实验一、实验目的掌握对一组数据求其平均值的方法。
二、实验原理和要求主要是掌握对2的几何级数个数据和任意个数据求其进平均值的方法,并能通过CCS5000仿真界面观察其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、打开2个内存窗口:●Data页的0x2000起始处(待求平均值的数据区)●Data页的0x2100起始处(平均值区)3、单步或设置断点运行,观察内存窗口中的数据变化。
各个小段程序的简要说明如下:LP_DATA:生成64个原始数据;LP_AVER64:求上述64个数据的平均值;LP_AVER19:求上述前19个数据的平均值。
生成64个数据:64个数据的平均值19个数据与它们的平均值:实验3 TMS320C5000基本硬件的操作软件定时实验一、实验目的掌握用软件实现定时的方法。
二、实验原理和要求主要是掌握用内外循环嵌套的方式实现数十毫秒以上大时间间隔的方法,并能通过发光二极管的亮灭或用示波器观察VC5402的XF引脚的波形检查其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、全速运行程序,观察发光二极管D8的亮灭变化的时间间隔,或用示波器观察XF引脚(实验板上右下角处有XF测试孔)的波形正负脉冲的时间宽度。
实验现象:观察发光二极管D8,它亮1s,灭1s.定时器中断实验一、实验目的掌握用定时器中断实现定时的方法。
二、实验原理和要求主要是掌握VC5402内部定时器控制和中断操作的方法,用定时器实现1ms的小延迟,再用计数器对此延迟进行计数,从而实现数十毫秒以上大时间间隔,并能通过发光二极管的亮灭或用示波器观察VC5402的XF引脚的波形检查其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、全速运行程序,观察发光二极管D8的亮灭变化的时间间隔,或用示波器观察XF引脚(实验板上右下角处有XF测试孔)的波形正负脉冲的时间宽度。
实验现象:可以用计数器的数值设定二极管的闪烁周期.跑马灯实验一、实验目的掌握使用I/O端口、控制输出(发光二极管)的方法。
二、实验原理和要求主要是掌握通过软件延迟和控制I/O端口,使4个发光二极管循环、轮流点亮的方法,并能通过观察发光二极管的亮灭来检查其正确性。
三、程序文件四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、全速运行程序,观察发光二极管D2~D5是否循环、轮流亮灭。
实验现象:发光二极管D2~D5可以循环、轮流亮灭。
硬件中断实验一、实验目的掌握使用硬件中断及其相应软件的方法。
二、实验原理和要求本次实验使用VC5402的INT0硬件中断。
INT0中断引脚外部已接上拉电阻,并连接到3芯排针插座J5的第3脚(上为3脚,下为1脚,且为地GND),可将J5-3脚与地短接(或J5的1、3脚短接)产生INT0中断。
INT0脚每接地一次,就产生一次中断,程序中中断计数器的值就增1。
通过本次实验,要求掌握在使用硬件中断时中断引脚的处理、相关软件的设计(中断寄存器IMR、总中断使能位INTM、中断矢量的连接、中断服务子程序),另外,要求掌握断点调试、动画调试的技巧。
三、程序文件程序文件名说明Hard_int .asm 主程序vector.asm 中断入口矢量表head.h 头文件,全局变量定义global.inc 全局标号四、实验步骤1、启动CCS,打开项目文件,编译程序,加载目标代码文件;2、打开存储器窗口(DATA页,起始地址为0x2000);3、在行“LOOPXF:”处设断点;4、点击动画运行图标或按F12或点击“Debug\Animate”进行动画运行;5、将J5的第3脚对地短路,观察存储器窗口0x2000单元(中断计数器)的变化和发光二极管D8的亮灭变化。
实验现象:将J5的第3脚对地短路,0x2000单元中从0000变到00001,见下图。
实验4 TMS320C5000基本算法FFT 实验一、实验目的掌握在VC5402上实现FFT的方法。
二、实验原理和要求本实验是256点复数FFT,结合了“实验12 A/D变换实验”。
两路采样数据交替存放在缓冲区(AD_BUF)中,共256*2=512点。
缓冲区存满后立即拷贝到另一缓冲区(FFT_DATA)中,比特反转后,结果存在缓冲区(DATA_PROC)中,然后进行基-2、8级256点复数FFT,频谱值仍在缓冲区(DATA_PROC)中。
通过本次实验,要求掌握进行FFT前采样数据的归一化处理、在数据存储区中的存放位置和顺序等预处理方法,理解FFT后的频谱数据与实际频谱的对应关系。
三、程序文件四、实验步骤1、将信号发生器的输出频率调至100~2000Hz范围,输出幅度调到Vpp=400mV;2、将信号发生器的地与VC5402 EVM实验板上的地相连,信号发生器的输出(+)极与EVM实验板上的插针CZ5-2、4脚(最下面为1脚)相连;3、用示波器观察信号发生器的输出波形;4、启动CCS,打开项目文件,编译程序,加载目标代码文件;5、打开4个图形显示窗口:●点击“View\Graph\Time\Frequency…”●在出现的“Graph Property Dialog”窗口中:(1)“Start Address”分别填“AD_BUF”、“AD_BUF+1”、“FFT_DATA”、“DATA_PROC”;(2)“Acquisition buffer size”分别填“256”、“256”、“512”、“512”;(3)“Display Data Size”分别填“256”、“256”、“512”、“512”;(4)“DSP Data Type”选“16-bit signed integer”;(5)点击“OK”。
●点击“Window\Tile Vertically”,再适当调整各窗口;6、在行“LOOPXF:”下面的行“SSBX OVM”处设断点;7、在行“B LOOPXF”处设断点;8、点击动画运行图标或按F12或点击“Debug\Animate”进行动画运行;9、一边小范围调整信号发生器上的频率,一边观察图形显示窗口中的变化,特别是“DATA_PROC”窗口中波形(谱线)的变化。
实验现象:将信号发生器的频率从小调到大,四个观察窗口的图象依次如下图所示。