《数字信号处理》实验指导书(2015版)

  • 格式:doc
  • 大小:479.00 KB
  • 文档页数:27

数字信号处理

实验指导书

电子信息工程学院

2015年4月

目 录

实验一 离散信号产生和基本运算 ............................................................................................... 3

实验二 基于MATLAB的离散系统时域分析 ............................................................................ 7

实验三 基于 ICETEK-F2812-A 教学系统软件的离散系统时域分析 ..................................... 9

实验四 基于 MATLAB 的 FFT 算法的应用 .......................................................................... 14

实验五 基于 ICETEK-F2812-A 的 FFT 算法分析 .................................. 错误!未定义书签。

实验六 基于 ICETEK-F2812-A 的数字滤波器设计 ................................. 错误!未定义书签。

实验七 基于ICETEK-F2812-A的交通灯综合控制 ................................... 错误!未定义书签。

实验八 基于BWDSP100的步进电机控制 ................................................. 错误!未定义书签。

实验一 离散信号产生和基本运算

一、 实验目的

1.掌握MATLAB最基本的矩阵运算语句。

2.掌握对常用离散信号的理解与运算实现。

二、实验原理

1. 向量的生成

(1)利用冒号“:”运算生成向量,其语句格式有两种:

A=m:n

B=m:p:n

第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。第二种格式用于生成步长为p的均匀等分的向量。

(2)利用函数linspace()生成向量,linspace()的调用格式为:

A=linspace(m,n)

B=linspace(m,n,s)

第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。

2. 矩阵的算术运算

(1)加法和减法

对于同维矩阵指令的

A+B

A-B

对于矩阵和标量(一个数)的加减运算,指令为:

A+3

A-9

(2)乘法和除法运算

A*B 是数学中的矩阵乘法,遵循矩阵乘法规则

A.*B 是同维矩阵对应位置元素做乘法

B=inv(A)是求矩阵的逆

A/B 是数学中的矩阵除法,遵循矩阵除法规则

A./B 是同维矩阵对应位置元素相除

另A’ 表示矩阵的转置运算

3. 数组函数 下面列举一些基本函数,他们的用法和格式都相同。

sin(A),cos(A),exp(A),log(A)(相当于ln)

sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部

式中A可以是标量也可以是矩阵

例: 利用等差向量产生一个正弦值向量

t=0:0.1:10

A=sin(t)

plot(A)

这时候即可看到一个绘有正弦曲线的窗口弹出

另:每条语句后面加“;”表示不要显示当前语句的执行结果

不加“;”表示要显示当前语句的执行结果。

4. 二维曲线的绘制plot()函数

plot()函数是将各个数据点通过连折线的方式来绘制二维图形的,其命令格式有以下几种:

(1) plot(y)当y为向量时,以y的序号作为X轴,按向量y的值绘制曲线。

(2) plot(x,y)x,y均为向量时,以x向量作为X轴,向量y作为Y轴绘制曲线。

(3) plot(x,y1,’option1’,x,y2,’option2’,……)以公共的x向量作为X轴,分别以向量y1,y2……的数据绘制多条曲线,每条曲线的属性由相应的‘option’来确定。Option选项可以是表示曲线颜色的字符、表示线型格式的符号和表示数据点的标记,各个选项有的可以连在一起使用。

(4)plot(x1,y1,’option1’,x2,y2,’option2’,……)分别以向量x1,x2,……作为X轴,以y1,y2,……的数据绘制多条曲线,每条曲线的属性由相应的选项‘option’来确定。

表1plot函数中option选项的取值和含义

符号 颜色 符号 线型 符号 标记 符号 标记

‘b’ 蓝色 ‘-’ 实线 ‘.’ 点 ‘d’ ◇

‘g’ 绿色 ‘:’ 虚线 ‘o’ 圆圈 ‘ˇ’ ▽

‘m’ 品红 -. 点画线 ‘x’ 叉号 ‘^’ △

‘c’ 青色 ‘--’ 双画线 ‘+’ 加号 ‘<’ 左三角

‘k’ 黑色 ‘none’ 无线 ‘*’ 星号 ‘>’ 右三角

‘r’ 红色 ‘s’ □ ‘p’ 五角星

‘y’ 黄色 ‘h’ 六角星

5.常用离散信号的MATLAB实现函数

(1).单位抽样序列01)(n 00nn在MATLAB中利用zeros()函数实现;1)1();,1(xNzerosx

如果)(n在时间轴上延迟了k个单位,得到)(kn即:01)(kn 0nkn

(2).单位阶跃序列01)(nu 00nn在MATLAB中可以利用ones()函数实现。);,1(Nonesx

(3).正弦序列)/2sin()(FsfnAnx,在MATLAB)/***2sin(*1:0faiFsnfpiAxNn

(4).复指数序列njernx)(,在MATLAB中,)**exp(1:0nwjrxNn

(5).指数序列nanx)(,在MATLAB中,naxNn.^1:0

三、实验内容

(1)熟悉MATLAB的使用环境和方法;

(2)练习使用基本的向量生成、矩阵运算、绘图等语句;

A) 利用冒号(:)生成向量

X1=[1 2 3 4 5]

X2=[1.000 1.500 2.000 2.500]

X3=[5 4 3 2 1]

B) 分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵

C) 分别输入矩阵

123456789A 1.01.11.22.02.12.23.03.13.2B

D) 分别计算A+B,A-B,A+3,A-4,A*B,A.*B,C=inv(A),A/B,A./B

E) 分别计算sin(x1),cos(x1),exp(x1),log(x2),sqrt(x2)

(3)生成以上五种基本离散信号函数;

(4)绘出信号znenx)(,当6)12/1(jz、6)12/1(jz时、121z、 62jz、6jz时的信号实部和虚部图;

(5)绘出信号)1.0*2sin(5.1)(nnx的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期?

四、实验预习要求

1. 预习实验原理。

2. 熟悉实验程序。

3. 思考课程设计实验部分程序的编写。

五、实验报告要求

1. 简述实验目的与步骤

2. 写出各步输入语句和输出结果

六、思考题

1. 矩阵的乘法和除法有几种,它们有什么区别?

2. 离散正弦序列的性质。 实验二 基于MATLAB的离散系统时域分析

一、实验目的

1. 学习MATLAB语言的编程和调试技巧;

2. 掌握离散卷积方法和MATLAB语言实现。

二、实验原理

时域中,离散时间系统对输入信号或延迟信号进行运算处理,生成具有所需特性的输出信号。本实验通过MATLAB仿真一些简单的离散时间信号和系统,并研究其时域特性。涉及到离散时间信号、离散时间系统、系统性质及线性卷积等知识点。

一个离散时间系统,输入信号为x(n),输出信号为y(n),运算关系用T[﹒]表示,则输入与输出的关系可表示为y(n)=T[x(n)]。

(1)线性时不变系统的输入输出关系可通过单位脉冲响应h(n)表示:

()()()()()mynxnhnxmhnm

式中*表示卷积运算。

(2)线性时不变系统的实现:

可物理实现的线性时不变系统是稳定的、因果的。这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:0(n)h:,0n;-(n)nh。在MATLAB语言中采用conv实现卷积运算即:y=conv(x,h),它默认从n=0开始。

三、实验内容

1. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用 filter、conv、impz三种函数完成。

]1[][]2[125.0]1[75.0][nxnxnynyny

]}4[]3[]2[]1[{25.0][nxnxnxnxny

给出理论计算结果和程序计算结果并讨论。

四、实验预习要求

1. 预习实验原理。

2. 熟悉实验程序。