dsp-软件实验报告(精)

dsp-软件实验报告(精)
dsp-软件实验报告(精)

数字信号处理

MATLAB仿真实验报告

学院:电子工程学院

班级: 2011211203

学号: 2011210876

姓名:孙月鹏

班内序号: 04

一、实验一:数字信号的 FFT 分析

、实验内容及要求

(1 离散信号的频谱分析:

设信号

此信号的0.3pi 和 0.302pi两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。

(2 DTMF 信号频谱分析

用计算机声卡采用一段通信系统中电话双音多频(DTMF)拨号数字 0~9的数据,采用快速傅立叶变换(FFT)分析这10个号码DTMF拨号时的频谱。

2、实验结果

x(n的时域图与频谱:得到三根清晰的谱线

号码9的频谱号码8的频谱

号码7的频谱号码6的频谱

、实现代码及分析

(1第一小题:

k=1000; %DFT点数

n=[1:1:k]; %对时域信号进行采样

x=0.001*cos(0.45*n*pi+sin(0.3*n*pi-cos(0.302*n*pi-pi/4;

subplot(2,1,1;stem(n,x,'.'; %用.画出时域图

title('时域序列';xlabel('n';ylabel('x(n';

xk=fft(x,k; %进行K点DFT变换

w=2*pi/k*[0:1:k-1]; %数字角频率

subplot(2,1,2;stem(w/pi,abs(xk; %画出频谱图

axis([0.2,0.5,0,2]; %设置窗函数的宽度与限幅

title('1000点dft';xlabel('数字频率';ylabel('|xk(k|';

% 此题关键在于DFT点数N的确定。经过计算和实验,当N=1000时能满足题目要求,看到3条清晰地谱线

(2)第二小题

clear;

close all;

f=[941 1336;697 1209;697 1336;697 1477;

770 1209;770 1336;770 1477;852 1209;

852 1336;852 1477] %0-9的频率

n=1:400;fs=4000; %取样频率为4000hz

fprintf('请输入数字(0 to 9:\n'

k=input (''

f1=f(k+1,1; %因为从0开始计算,+1得输

f2=f(k+1,2; %入数字的两个频率

N=400;

x1=sin(2*pi*f1*n/fs+sin(2*pi*f2*n/fs;%DTMF的输入信号时域

xn=[x1,zeros(1,400]; %补零

subplot(2,1,1;plot(xn %画出时域图

xlabel('n'

ylabel('xn'

subplot(2,1,2;

fn=fs*n/N; %取样点的频率

plot(fn,abs(fft(xn(1:400; %400点fft变换,画出频谱图

axis([0,4000,0,300]

xlabel('f'

ylabel('FFT'

二、实验二: DTMF 信号的编码

1、实验内容及要求

1)把您的联系电话号码通过DTMF 编码生成为一个 .wav 文件。

技术指标:

根据 ITU Q.23 建议,DTMF 信号的技术指标是:传送/接收率为每秒 10 个号码,或每个号码 100ms。

每个号码传送过程中,信号存在时间至少 45ms,且不多于 55ms,100ms 的其余时间是静音。

2)对所生成的DTMF文件进行解码。

由于只需要知道 8 个特定点的频谱值,因此采用一种称为 Goertzel 算法的

IIR 滤波器可以有效地提高计算效率。其传输函数为

2、实验结果

输入号码界面

生成的时域图(占空比为50%)

电话号码的FFT图:每个数字都有两条主谱线

显示检测到的号码

3)实验代码及分析

%第一部分,产生编码

clc;

tm=[49,50,51,65; 52,53,54,66;55,56,57,67;42,48,35,68]; %DTMF表中的ASCII码

f1=[697,770,852,941]; %行频率向量

f2=[1209,1336,1477,1633]; %列频率向量

d=input('please enter number: ','s' %输入电话号码

sum=length(d; %电话号码长度

total_x=[]; %电话号码信号

sum_x=[];

sum_x=[sum_x,zeros(1,800];

for a=1:sum %循环sum次

symbol=abs(d(a; %求输入的ASCII码

for p=1:4;

for q=1:4;

if tm(p,q==abs(d(a; break,end %检测码相符的列号q

end

if tm(p,q==abs(d(a;break,end %检测码相符的行号p

end

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]; %将所有编码连接起来

end

sound(total_x; %播放声音

t=total_x/2;

wavwrite(t,'我的手机号码'; %生成声音文件

plot(total_x;

title('DTMF信号时域波形';

%代码主要分成三部分,即根据输入的数字确定双频率、产生正弦信号和生成文件以及绘图。在产生正弦信号的过程中有增加静音和连接运算。整体上用循环对电话号码的每一位进行相同处理。

%第二部分,检测端

k=[18,20,22,25,32,35,38];

N=210;

tm=[49,50,51;52,53,54;55,56,57;0,48,0];

for i=1:sum j=800*(i-1;

X=goertzel(total_x(j+1:j+N,k+1; %算法公式

value=abs(X;

figure(2

subplot(2,6,i;

stem(k,value,'.','r'; %画出FFT频谱

title('FFT x(n';xlabel('k';ylabel('|X(k|';

limit=20;

for i1=5:7 %判决,确定频率

if value(i1>limit break;end

end

for j1=1:4

if value(j1>limit break;end

end

buffer(i=tm(j1,i1-4; %根据频率确定号码

end

disp(['接收端检测到的号码']

disp(setstr(buffer %显示检测到的号码

%检测端编码首先要根据goertzel公式算出FFT,再利用判决的方法找出频率的分布,从而确定输入的电话号码。

三、实验三:FIR 数字滤波器的设计和实现

1、实验内容及要求:

录制自己的一段声音,长度为 45秒,取样频率 32kHz,然后叠加一个高斯白噪声,使得信噪比为 20dB。请采用窗口法设计一个 FIR 带通滤波器,滤除噪声提高质量。

? 提示:

滤波器指标参考:通带边缘频率为 4kHz,阻带边缘频率为4.5kHz,阻带衰减大于 50dB;

Matlab 函数 y = awgn(x,snr,'measured' ,首先测量输入信号 x 的功率,然后对其叠加高斯白噪声;

2、实验结果

原始声音时域图与频谱图

叠加白噪声的时域图与频谱图

(但明显声音信号太弱,被白噪声盖过去了)

滤波器的幅频特性

滤波后的时域图与频谱特性

(可以看到45Khz以后的频谱都被滤掉了)

3、代码及分析

%产生原始声音及频谱

clear all

close all

[y1,fs,bits]=wavread('record-1.wav'; %按照采样频率取得y1 y2=y1(:,1;

fs=32000;

k=1:4096;

yk1=fft(y2,4096;

figure (1

subplot(2,1,1;plot(y2;title('原始声音时域';

subplot(2,1,2;plot(32/4096*k,abs(yk1;axis([0,17,0,0.05]; xlabel('f/kHZ';title('原始声音频域';

wavplay(y1,42000

%加噪及其频谱

y3=awgn(y2,20,'measured','db';%awgn?为加性高斯白噪声yk2=fft(y3,4096;

figure (2

subplot(2,1,1;plot(y3;title('加噪后声音时域';

subplot(2,1,2;plot(32/4096*k,abs(yk2;

xlabel('f/KHZ';title('加噪后声音频域';

wavplay(y3,42000;

%滤波器设计

fp=4000;fr=4500;

wp=2*pi*fp/fs;wr=2*pi*fr/fs;

tr_width=wr-wp;

N=ceil(6.6*pi/tr_width+1;

n=0:1:N;

wc=(wr+wp/2;

alpha=(N-1/2;

n=0:1:N-1;

m=n-alpha+eps;

hd=sin(wc*m./(pi*m;

b=fir1(N,wc/(4*pi/3.65;

w_ham=(hamming(N';

h=hd.*w_ham;

[H,w]=freqz(h,[1],1000,'whole';

H=(H(1:1:501';

w=(w(1:1:501';

mag=abs(H;

db=20*log10((mag+eps/max(mag; pha=angle(H;

delta_w=2*pi/1000;

x=filter(b,1,y3;

figure(3

subplot(1,1,1;plot(w/pi,db;

title('滤波器幅频响应';

x=conv(h,y3;

%滤除噪声后频谱

figure(4

subplot(2,1,1;plot(x;

title('滤除噪声后时域图';

Xk=fft(x,4096;

subplot(2,1,2;

plot(32/4096*k,abs(Xk;axis([0,16,0,5]

title('滤除噪声后频域图'

xlabel('f/KHZ';

wavplay(x,42000;

%根据要求,所求的滤波器是一个低通滤波器

%因为衰减大于50DB,窗函数选择了汉明窗

4、错误分析与总结

问题主要出在第三道题目上:

1)实验要求的声音文件格式为wav,但录音软件的的格式wma,所以需要格式转换。首先实验的是直接更改格式名,尽管在播放器中可以播放,但仍然不可以识别;其次实验的是用matlab直接录音,但频谱集中在录音的采样频率附近,仍不能做正常的分析;最后用的是格式工厂的转换,尽管感觉频谱仍有改变,但并不影响实验结果。

2)用matlab对声音进行波形提取后,再用相同的fs播放,会发现声音的频率变低,进过实验,必须用比fs高一些的频率播放,才能听到正确的声音。

3)对比其他同学的频谱,发现我的原始声音的频谱的幅度就很低,加入白噪声之后,就很难看到声音的频谱了。但声音的播放就没有什么问题。直到最后也没有想明白为什么。

5、心得与体会

在这次实验中,我们分别用MATLAB实现了简单的FFT变换、IIR滤波器设计与FIR滤波器设计,真切的感受到了MATLAB仿真的便捷性。在MATLAB中,利用简单的几行代码,就能够完成特定的滤波器设计,是一种很好的辅助手段。于此同时,我也感受到了实践环节对知识的掌握、理论的学习非常重要。利用matlab

我可以很好的观察到N点的多少、窗函数的选择给FFT频谱、以及滤波器性能带来的改变。

随着课程的逐渐深入,我们大三学生将逐渐从课本上学习知识到与实践相结合。MATLAB是一项功能强大的软件,学完这门实验之后,我希望自己可以抽出实践继续学习MATLAB,将它运用到更多学科、更多学习上面。

DSP实验报告

一、综合实验内容和目的 1、实验目的 (1) 通过实验学习掌握TMS320F28335的浮点处理; (2) 学习并掌握A/D模块的使用方法; (3) 学习并掌握中断方式和查询方式的相关知识及其相互之间的转换; (4) 学习信号时域分析的方法,了解相关电量参数的计算方法; (5) 了解数字滤波的一些基本方法。 2、实验内容 要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T,信号的均方根大小V rms、平均值V avg、峰-峰值V pp。 其中,均方根V rms的计算公式如下: V= rms 式中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向量表,将程

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课程的实用性和趣味性。

DSP实验报告

DSP实验报告 软件实验 1无限冲激响应滤波器(IIR) 算法 一.实验目的 1 .掌握设计IIR 数字滤波器的原理和方法。 2 .熟悉IIR 数字滤波器特性。 3 .了解IIR 数字滤波器的设计方法。 二.实验设备 PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.21 软件。 三.实验原理 1 .无限冲激响应数字滤波器的基础理论。 2 .模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3 .数字滤波器系数的确定方法。 4 .根据要求设计低通IIR 滤波器: 要求:低通巴特沃斯滤波器在其通带边缘1kHz 处的增益为-3dB ,12kHz 处的阻带衰减为30dB ,采样频率25kHz 。设计: - 确定待求通带边缘频率fp1Hz 、待求阻带边缘频率fs1Hz 和待求阻带衰减-20log δsdB 。 模拟边缘频率为:fp1=1000Hz ,fs1=12000Hz 阻带边缘衰减为:-20log δs=30dB - 用Ω= 2πf/fs 把由Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1 和Ωs1 。 Ωp1=2 πfp1/fs=2 π1000/25000=0.08 π弧度 Ωs1=2 πfs1/fs=2 π12000/25000=0.96 π弧度 - 计算预扭曲模拟频率以避免双线性变换带来的失真。 由w=2fs tan( Ω/2) 求得wp1 和ws1 ,单位为弧度/ 秒。 wp1=2fs tan( Ωp1/2)=6316.5 弧度/ 秒 ws1=2fs tan( Ωs1/2)=794727.2 弧度/ 秒 - 由已给定的阻带衰减-20log δs 确定阻带边缘增益δs 。

DSP运行实验报告

DSP运行实验报告 一、实验目的 熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行; 熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。 二、实验原理 CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。 如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。 在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。 三、实验设备、仪器及材料 安装有WINDOWS XP操作系统和CCS3.3的计算机。 四、实验步骤(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运行。 第一步:安装CCS,如果不使用仿真器,CCS 的运行环境要设置成一个模拟仿真器(软仿真)。

第二步:运行CCS,进入CCS 开发环境。 第三步:打开一个工程。 将实验目录下的EXP01目录拷到D:\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“Project Open”对话框中选 EXP01\CPUtimer\CpuTimer.pjt,选“打开”, 第四步:编译工程。 在[Project]菜单中选“Rebuild All”,生成CpuTimer.out文件。 第五步:装载程序。 用[File]\[Load Program]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug 文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。

dsp实验报告4

实验2.4 外中断 一.实验目的 1.通过实验熟悉VC5509A的中断响应过程。 2.学会C语言中断程序设计,以及运用中断程序控制程序流程。 二.实验设备 计算机,ICETEK-VC5509-A实验箱及电源。 三.实验原理 1.中断及中断处理过程: ⑴中断简介:中断是一种由硬件或软件驱动的信号,DSP在接到此信号时,将当前程序悬挂起来,转去执行另外一个任务,这个任务我们称为中断服务程序(ISR)。TMS320C55x DSP 可支持32个ISR,可由硬件或软件触发。 ⑵DSP处理中断的步骤: ①接收中断请求:由软件或硬件发出。 ②响应中断请求:对于可屏蔽中断,需要满足若干条件,才发生响应;而对于不可屏蔽中断,则立即响应。 ③准备执行中断服务程序。 - 完成当前正在执行的指令;将进入流水线但还未解码的指令清除。 - 自动保存若干寄存器的值到数据堆栈和系统堆栈。 - 取得用户定义的中断向量表中当前中断向量,中断向量指向中断服务程序入口。 ④执行中断服务程序。中断服务程序包含中断返回指令,这样返回时可以出栈以前保存的关键寄存器数据,从而恢复中断服务程序执行前的现场。 ⑶中断向量表: 中断向量表的构成请参见TI的文档sprs295d.pdf之3.11节。 中断向量表的地址可以由用户指定。 ⑷外中断: TMS320C5509可以响应INT0-INT4五个外中断。 2.ICETEK-CTR板的键盘接口: 显示/控制模块ICETEK-CTR通过接口P8连接小键盘,接收小键盘传送的扫描码,并在每个扫描码结束后保存,同时向DSP的INT2发送中断信号;当DSP读键盘时将扫描码送到数据总线上。小键盘上每次按下一个键将产生2个扫描码,2次中断。 3.程序编制 由一个不含中断处理程序的工程通过改写加入中断处理程序部分大致需要如下操作(假设使用INT2): ⑴编制中断服务程序:参见实验程序,编写单独的一个函数XINT,此函数使用interrupt 修饰,没有参数和返回值。 ⑵构造中断向量表:可以用汇编语言构造,编写一个汇编语言模块程序vector.asm。 ⑶修改链接命令文件:在MEMORY小节中开辟单独的地址段用以存放中断向量表;在SECTIONS小节中指定.vectors段到前步开设的内存段中。 ⑷主程序中进行初始化设置:定位中断向量表、使能中断、清中断等。 4.实验程序流程图:

DSP实验报告

DSP实验报告

软件实验 1无限冲激响应滤波器(IIR) 算法 一.实验目的 1 .掌握设计IIR 数字滤波器的原理和方法。 2 .熟悉IIR 数字滤波器特性。 3 .了解IIR 数字滤波器的设计方法。 二.实验设备 PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.21 软件。 三.实验原理 1 .无限冲激响应数字滤波器的基础理论。 2 .模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3 .数字滤波器系数的确定方法。 4 .根据要求设计低通IIR 滤波器: 要求:低通巴特沃斯滤波器在其通带边缘1kHz 处的增益为-3dB ,12kHz 处的阻带衰减为30dB ,采样频率25kHz 。设计: - 确定待求通带边缘频率fp1Hz 、待求阻带边缘频率fs1Hz 和待求阻带衰减-20log δsdB 。 模拟边缘频率为:fp1=1000Hz ,fs1=12000Hz 阻带边缘衰减为:-20log δs=30dB - 用Ω= 2πf/fs 把由Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1 和Ωs1 。 Ωp1=2 πfp1/fs=2 π1000/25000=0.08 π弧度 Ωs1=2 πfs1/fs=2 π12000/25000=0.96 π弧度 - 计算预扭曲模拟频率以避免双线性变换带来的失真。 由w=2fs tan( Ω/2) 求得wp1 和ws1 ,单位为弧度/ 秒。 wp1=2fs tan( Ωp1/2)=6316.5 弧度/ 秒 ws1=2fs tan( Ωs1/2)=794727.2 弧度/ 秒 - 由已给定的阻带衰减-20log δs 确定阻带边缘增益δs 。 因为-20log δs=30 ,所以log δs=-30/20 ,δs=0.03162

DSP原理与应用实验报告

DSP原理与应用实验报告 姓名: 学号: 班级: 学院: 指导教师:

实验一代数汇编指令基础实验 一、实验目的: 1.通过调试目标代码,掌握指令的功能,熟悉指令; 2.通过指令的熟悉,能够指令应用于实际项目中。 二、实验原理: Ti公司的代数汇编指令。 三、实验程序: .title"算术指令综合实验" .mmregs .sect ".vect" .copy "vectors.asm" .text _Start: ; AR7=#767 ; A=#38CAH ; DP=#08AH ; RSA=#0123H; DP=#188H ; ASM=#0AH AR7=A MMR(*AR7+)=#1234H DP=#04H A=#9876H AR6=#230H *AR6+=#9ACDH ARP=#6 ; @38H=A NOP NOP AR0=#003AH A=*AR6+0 T=#08H SXM=1 B=*AR6-<

DSP实验报告word版

实验一 离散系统的时域分析 一、实验目的 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) 00 10 ()00 1()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 end stem(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) 000 10()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 n x n e αω+=(0.1j0.3)n x(n)e (10n 10) -+= -<<

DSP实验报告模版

我们做的dsp实验是实验一,实验二,实验三!模板上只有1 3 !2要自己仿照实验一写! 不要弄错了!实验题目在另外一个共享表格里! 实验一数据存储实验 一、实验目的 1. 掌握ccs的使用 2. 掌握 tms320c54x 程序空间的分配; 3. 掌握 tms320c54x 数据空间的分配; 4. 能够熟练运用tms320c54x 数据空间的指令。 二、实验设备 计算机,ccs 3.1版软件,dsp仿真器,e300实验箱,dsp-54xp cpu板。 三、实验步骤与内容 1. 在进行 dsp实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示: 2. e300 底板的开关sw4 的第1位置on,其余位置off。其余开关设置为off。 sw5全部置on;其余开关不做设置要求 3. 上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则dsp开发系统与计算机连接存在问题。 4. 运行ccs程序 1) 待计算机启动成功后,实验箱220v电源置“on”,实验箱上电 2) 启动ccs3.1,进入ccs界面后,点击“debug—connect” 3) 此时仿真器上的“绿色指示灯”应点亮,ccs正常启动,表明系统连接正常;否则仿真器的连接、jtag 接口或ccs 相关设置存在问题,这时需掉电检查仿真器的连接、jtag 接口连接是否正确,或检查ccs相关设置是否存在问题。 5. 成功运行ccs 程序后,首先应熟悉ccs的用户界面; 6. 学会在ccs环境下创建工程文件、添加程序文件、编写程序、编译、装载、调试,学习如何使用观察窗口等。 7. 用“project\open”打开“c:\ti5000\myprojects\01_mem\ mem.pjt”. 编译并装载“\ 01_mem\debug\mem.out” 8.用“edit”下拉菜单中的“memory/fill”编辑内存单元,参数设置如下图: 单击“ok”此时以0x1000 为起始地址的16个内存单元被修改成:0x0009 9.用“view”下拉菜单“memory”观察内存单元变化,输入要查看的内存单元地址,本实验要查看0x1000h~0x100fh 单元的数值变化,输入地址0x1000h; 单击“ok”如下图所示: 10. 点击“debug\go main”进入主程序,在程序中“加软件断点1”和“加软件断点2”处 施加软件断点。 11. 单击“debug\run”运行程序,也可以“单步”运行程序;当程序运行到“软件断点1” 处时,查看0x1000h~0x1007h单元的值变化, 12. 再单击“debug\run”,当程序运行到“软件断点2”处时,查看0x1008~0x100f

DSP实验报告重叠保留法和重叠相加法(精)

北京邮电大学 实 学班姓学 日 验报告 MATLAB 实现线性卷积运算院:信息与通信工程学院级:名: ______ 号: 期: 实验名称:用 索引

一、实验原 理 ..................................................................................................................... 3 1、算法产生背景 (3) 2、算法基本思 想 ...........................................................................................................................3 1)重叠相加法 (3) 2)重叠保留 法 ...........................................................................................................................4 二、流程图设计 . ................................................................................................................. 5 1、重叠相加 法 . .............................................................................................................................. 5 2、重叠保留 法 . (6) 三、MATLAB 源代 码 . ........................................................................................................... 7 1、重叠相加源码 ...........................................................................................................................7 2、重叠保留源 码 ...........................................................................................................................8 四、实验结果与分析 ........................................................................................................... 9 ①调用CONV (计 算 . ......................................................................................................................... 9 ②测试重叠相加算法 (9) ③测试重叠保留算 法 .....................................................................................................................9 五、讨论与总结 . ............................................................................................................... 10 1、算法效率分 析: .....................................................................................................................10 A. 重叠相加法 . (10)

DSP实验报告

DSP实验报告 电子111班 刘卓 112099 同组人:张顺 112108

指令实验 一、实验目的 1、了解DSP的结构及引脚功能; 2、掌握DSP的基本指令。 二、实验要求 了解怎样对DSP进行简单的编程操作、运算控制等基本汇编语言及算术语言、实验测试及除错验证。 三、实验步骤 见教材342页。 四、实验结果 1、直观结果 .title "ex1" .mmregs .def _c_int00 DAT0 .SET 60H DAT1 .SET 61H DAT2 .SET 62H DAT3 .SET 63H .text ADD3 .MACRO P1,P2,P3,ADDRP LD P1,A ADD P2,A ADD P3,A STL A,ADDRP .ENDM _c_int00:B start start: LD #004h,DP ;DP=0004,ST0=1804 STM #1000h,SP ;SP=1000 SSBX INTM ;INTM=1 bk0: ST #0012h,DAT0 ;D(0x0260)=0x0012 LD #0023h,A ;A=0000000023 ADD DAT0,A ;A=0000000035,ST0=1004,C=0 NOP NOP bk1: ST #0054h,DAT0 ;D(0x0260)= 0x0054 LD #0002h,A ;A=0000000002 SUB DAT0,A ;A=FFFFFFFFAE NOP NOP bk2: ST #0345h,DAT0 ;D(0x0260)=0x0345 STM #0002h,T ;T=0002

DSP实验报告4剖析.

DSP实验报告 院系:哈尔滨理工大学荣成校区 专业:电子信息工程 学号: 1230160101 姓名:董小天 日期: 2015年6月16日

实验四无限冲击相应滤波器(IIR)算法实验 一、实验目的 1、熟悉设计IIR数字滤波器的原理与方法 2、掌握数字滤波器的计算机仿真方法; 3、通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。 二、实验设备 计算机,CCS 3.1版软件,实验箱,DSP仿真器,连接线。 三、实验原理 1、无限冲击响数字滤波器的基础理论; 2、模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器); 3、双线性变换的设计原理。 四、实验步骤 1、复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识; 2、阅读本实验所提供的样例子程序; 3、运行CCS软件,对样例程序进行跟踪,分析结果; 4、填写实验报告。 5、样例程序实验操作说明 A.实验前准备 ①实验箱和CPU板设置:SW2的2、4置ON,1、3置OFF;S2全部置ON;JP3开关的3、6位置ON,其余置off,S23全部置OFF。 ②用导线连接“信号源”2号孔“信号源1”和“A/D单元”2号孔“ADIN1”; B.实验 启动CCS 3.1,打开工程文件exp03_iir。在程序中m=0处设置断点,运行 打开一个图形观察窗口;设置双综观察在起始地址x、y,数值变化为256,32位浮点型变量。 五、实验结果及代码

实验代码 #define UCHAR unsigned char #define UINT16 unsigned int #define UINT32 unsigned long #define TRUE 1 #define FALSE 0 //--------------------------------------------------------- //----------------定义寄存器地址-------------- #define IODIR_ADDR 0x3400 #define IODATA_ADDR 0x3401 //---------------定义寄存器操作-------------- #define IODIR *(ioport unsigned int *)IODIR_ADDR #define IODATA *(ioport unsigned int *)IODATA_ADDR #define IER0 (*(volatile unsigned int*)0x0000) //Interrupt Enable Register 0 #define IFR0 (*(volatile unsigned int*)0x0001) //Interrupt Flag Register 0 #define IER1 (*(volatile unsigned int*)0x0045) //Interrupt Enable Register 1 #define IFR1 (*(volatile unsigned int*)0x0046) //Interrupt Flag Register 1 #define AD_Addr 0x20008 #define AD_in (*(unsigned int *)AD_Addr) //AD输入 //---------------------------------------------------------- /* 全局变量定义*/

DSP技术及课程设计实验报告二(精)

DSP技术及课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

DSP实验报告

实验报告 课程名称: 微机原理及其应用 指导老师: 徐习东 成绩: 实验名称: 实验一二三综合实验报告 实验类型: 同组学生姓名: 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1、 了解DSP 的基本原理和实验过程。完成实验一、二、三。完成4段程序的运行过程。 2、 了解DSP 的编程方法,学习TI 资源文件的使用方法, 3、 认识中断、GPIO 、定时器等的编程使用方法。 二、实验内容和原理 实验一 LED 绿灯的控制: 共阳极发光二极管原理图如下 图1 发光二极管原理图 通过GPIO 控制发光二极管DS20~DS25的亮灭。当GPIOFx=0时,对应的发光二极管被点亮。 GPIO 端口: GPIOF13~GPIOF8 实验二

实验名称:DSP实验综合报告姓名:学号: 装订线 利用CPU定时器和中断实现点亮了4盏规定的绿灯,同时控制灯分别以1s,100ms,10ms,1ms为周期交替亮灭。 通过设置CPU定时器,使1ms产生1个中断输出,再通过循环计数控制当分别产生1ms、10ms、100ms、1s的时间间隔进入中断,控制相应LED亮灭。 实验三 分别用两种TI资源的方法编程,实现控制绿灯和红灯的要求。方法一是仅仅使用TI规定的变量编程,方法二是使用TI资源的内置文件,初始化文件和.c文件等中的自带函数。 把6盏绿灯及16盏红灯有规律地控制点亮。 红灯的控制: LED接口如图: 1、一端接电源高电平红灯的控制: 2、一端接锁存器的输出; 3、由两个锁存器控制16盏灯;

DSP实验报告

姓名:班级:自动化15学号:2015 实验一数据存储实验 一实验目的 1.掌握TMS320F2812程序空间的分配; 2.掌握TMS320F2812数据空间的分配; 3.能够熟练运用TMS320F2812数据空间的指令。 二实验步骤与内容 实验步骤 1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法 如下所示: 2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON; 其余OFF 3.E300底板的开关SW4的第2位置ON,其余位置OFF。其余开关设置为 OFF。 4.上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。 5.运行CCS程序 1)待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电 2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300 TechV-2812\normal ; 6.成功运行CCS5.5程序后,出现如下图所示界面:

7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择 “Open Project”命令打开该工程,如下图所示,可以双击才看左侧源文件; 8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击 按钮进入仿真模式,完全进入后如下图所示:

9.用“View”下拉菜单中的“Memory/Browser”查看内存单元,参数设置 如下图:注意:下面的参数设置都是以16进制。 此时可以观测到以0x003F9020为起始地址的存储单元内的数据; 10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运 行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示: 11.关闭Memory Browser窗口,点击按钮,退出仿真模式。右键点击 Project Explorer窗口下的工程文件“e300_01_mem”,选择Close Project命令关闭该工程,然后关闭CCS软件,本实验完毕。 内容

DSP实验报告5

DSP 第五次实验 1.实验目的: (1)进一步熟悉matlab 实验环境和语言。 (2)掌握求序列圆周翻褶的MATLAB 方法。 (3)掌握求序列DFT 及IDFT 矩阵的MATLAB 方法。 (4)掌握用MATLAB 求解用圆周卷积计算线性卷积的时域的方法。 (5)掌握用FFT 计算有限长序列的线性卷积和线性相关的方法。 2.实验内容及总结: 1.圆周翻褶 【例3.27】 已知()[2,3,4,5,6],8X n N ==,求x(n)的8点圆周翻褶序列88(())()x n R n -。 代码: clc;clear all x=[2,3,4,5,6];N=8; x=[x,zeros(1,N-length(x))];nx=0:N-1 y=x(mod(-nx,N)+1); subplot(121),stem([0:N-1],x);title('原序列'); xlabel('n');ylabel('x(n)');grid; subplot(122),stem([0:N-1],y);title('圆周翻褶序列'); xlabel('n');ylabel('x((n))8 R8(n)');grid; 结果:

总结: 对于圆周翻褶 (0),0 ()(())() (),11 N N x n y n x n R n x N n n N = =-=? -≤≤-MA TLAB可用 y=x(mode(-nx,N)+1)求得。因此,要求X(n)=[2,3,4,5,6],N=8的8点圆周翻褶序列,要先将x(n)补零到8点长度再求圆周翻褶。 x=[x,zeros(1,N-length(x))];nx=0:N-1 %x补零到8点长 y=x(mod(-nx,N)+1); %圆周翻褶从一开始,因此得到8点长 %序列,应该再加一 2.DFT矩阵,IDFT矩阵 【例3.29】已知N=4的DFT矩阵w4,求IDFT矩阵w4I。 代码:

东南大学DSP实验报告

DSP实验报告 实验三:快速傅里叶变换及其应用

【一】 观察高斯序列的时域和幅频特性,固定信号Xa(n)中参数p = 8,改变q的值,使p分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同的值是,对信号序列的时域和幅频特性的影响;固定q = 8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少是,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 1、P = 8,q = 2、4、8的高斯序列的时域及幅频特性为 程序代码:>> n = 0:15; p1 = 8; p2 = 13; p3 = 14; q1 = 2;

q2 = 4; q3 = 8; x1 = exp(-(n-p1).*(n-p1)/q1); x2 = exp(-(n-p1).*(n-p1)/q2); x3 = exp(-(n-p1).*(n-p1)/q3); x1w = fft(x1); x2w = fft(x2); x3w = fft(x3); subplot(3,2,1); stem(x1); subplot(3,2,2); stem(abs(x1w)); subplot(3,2,3); stem(x2); subplot(3,2,4); stem(abs(x2w)); subplot(3,2,5); stem(x3); subplot(3,2,6); stem(abs(x3w)); 结果分析:当P不变时,随着Q的增大,信号时域波形变化变缓,波形变“胖”,信号频域低频分量增加,泄漏减小。

DSP实验报告

姓名:班级:自动化15 学号:2015 实验一数据存储实验 一实验目的 1.掌握TMS320F2812程序空间的分配; 2.掌握TMS320F2812数据空间的分配; 3.能够熟练运用TMS320F2812数据空间的指令。 二实验步骤与内容 实验步骤 1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法 如下所示: 2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON; 其余OFF 3.E300底板的开关SW4的第2位置ON,其余位置OFF。其余开关设置为 OFF。 4.上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。 5.运行CCS程序 1)待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电

2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300 TechV-2812\normal ; 6.成功运行CCS5.5程序后,出现如下图所示界面: 7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择 “Open Project”命令打开该工程,如下图所示,可以双击才看左侧源文件; 8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击 按钮进入仿真模式,完全进入后如下图所示:

9.用“View”下拉菜单中的“Memory/Browser”查看内存单元,参数设置 如下图:注意:下面的参数设置都是以16进制。 此时可以观测到以0x003F9020为起始地址的存储单元内的数据; 10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运 行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示: 11.关闭Memory Browser窗口,点击按钮,退出仿真模式。右键点击 Project Explorer窗口下的工程文件“e300_01_mem”,选择Close Project命令关闭该工程,然后关闭CCS软件,本实验完毕。 内容

DSP实验报告

实验报告 课程名称DSP原理与应用 实验项目DSP软件开发工具CCS的使用 指导教师沈冰夏王勇潘建军 学院信息与通信工程 专业电子信息工程 班级/学号 学生姓名 实验日期 2014.11.19 成绩

一、实验目的 1.掌握CCS的软件仿真和硬件仿真7两种仿真模式。 2.掌握CCS软件开发工具的设置。 3.掌握CCS工程的创建和管理,程序编辑、编译、链接、加载、运行、调试的软件开发步 骤。 4.熟悉CCS调试工具和分析工具的使用。 二、实验仪器及工具 PC机、TI 的软件开发工具CCStudio v3.3;ICETEK-VC5509教学实验箱。 三、实验内容 https://www.360docs.net/doc/9d5116620.html,S软件仿真模式下库和可执行程序的开发步骤。 https://www.360docs.net/doc/9d5116620.html,S软件仿真模式下调试工具和分析工具的使用。 https://www.360docs.net/doc/9d5116620.html,S硬件仿真模式程序的调试及VC5509A片内外存储器的查看。 四、实验步骤 (一)、CCS软件仿真模式下库和可执行程序的开发步骤 1.点击桌面“Setup CCStudio v3.3”图标,按C:\VC5509AE\DOCS\ICETEK-VC5509-A指导书 3.3-v3.pdf 给出的步骤设置CCS为软件仿真模式,例如“C55xx Rev3.0 CPU Functional Simulator”,保存并退出,鼠标点击“CCStudio v3.3”图标打开CCS集成开发环境。2.找到CCS的安装目录(默认安装在C:\CCStudio_v3.3\目录下),在 C:\CCStudio_v3.3\MyProjects\目录下新建文件夹,可取名为myapplication。把 C:\CCStudio_v3.3\tutorial\sim55xx\maxminmath\目录下所有.c和.cmd文件拷贝到这个新建文件夹中。 3.选择菜单Project→New,新建库工程.pjt,可取名为maxminlibrary.pjt,注意新建工程时 Project类型选择“Library(.lib)”,添加averagevalue.c、maximumvalue.c和minimumvalue.c 三个C源代码文件到工程,阅读三个文件,理解代码的含义。选择菜单Project→Build Option,选择“Archiver(归档器)”选项卡,查看归档器选项。选择菜单Project→Rebuild all,或单击工具栏上的“Rebuild All”按钮,编译生成.lib。 4.再新建一可执行工程.pjt,可取名为mainapplication.pjt,注意Project类型选择 Executable(.out),分别添加main 函数文件testapp. c、链接器命令文件 mainapplication.cmd、运行支持库rts55.lib(位于c:ti\c5500\cgtools\lib\目录下)、库文件maxminlibrary.lib(..\debug\目录下),理解testapp.c代码的含义。选择菜单Project→Build Option,选择编译器(Compile)选项卡,“Category:”列表下点击Assembly, 选中“Keep generated .asm Files(-k)”复选框,观察上面编译选项的变化;选择链接器(Linker)选项

相关主题
相关文档
最新文档