DSP-B实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 Matlab 的基本应用

一、实验目的

1、 掌握MATLAB 软件的基本使用方法。

2、 掌握变量和文件名的命名规则以及M 文件编辑器的基本使用方法。

3、 学会使用MATLAB 的帮助系统。

4、 掌握数组的构造方法和数组、矩阵的四则运算。

5、 掌握绘图常用函数的使用。

6、 掌握简单的脚本文件和函数文件的编写及调试方法。

二、实验内容与要求

1. 已知1u =,3v =,用MATLAB 分别执行下列语句。并在实验报告中记录语句和结果。

a. 43u v

b. ()

222v u v -+ c. 3

33

v v u - d.243v π 注意:变量名的命名规则。

2. 在M 文件编辑器中编写程序画出函数0.22x y e -=的图形,要求标注相关信息(如标题、横坐标、纵坐标等)以增加图形的可读性。

3. 构造数组并回答以下指令运行后的结果是什么。在实验报告中列出方法和结果

1.1 3.2 3.40.60.6 1.10.6 3.11.30.6 5.50A -⎡⎤

⎢⎥=-⎢⎥

⎢⎥⎣⎦

(1)求矩阵A 的大小,(提示:函数size)。并回答它与length(A)的区别是什么?

(2)A(:, 3) A(3, :) A (2,3) A (2:end,:) A(1,[1 3]) (3 ) 列出数组A 中所包含的数值0.6的下标。提示:用函数find 。 (4)A (1:2,[1 4])=[20 21; 22 23]

4. 构造以下数组并回答以下表达式的结果是什么。在实验报告中列出方法和结果

⎥⎦⎤⎢⎣⎡--=2122a ⎥⎦

⎢⎣⎡-=2011b

⎥⎦

⎢⎣⎡-=21c )2(eye d =

(1)r = a + b; (2)r = a * d; (3)r = a .* d; (4)r = a * c; (5)r = a .* c; (6)r = a \ b; (7)r = a .\ b; (8)r = a .^ b; (9)r=a.*[c c]

5. 运行下列语句,回答以下命令运行的结果。

回答这几个函数的作用,并比较它们之间的区别。

6. 编写脚本文件。输入一组数据(数据可为正、负或零),根据以下公式计算其平均值和标准方差。(注:采用for 循环)

∑==

N

i i

x

N

x 1

1

注意:学习程序的调试方法。

7. (选做)编写函数文件,通过输入不同的x,y 值,根据以下公式计算f(x,y)的值并显示。

⎪⎪⎩⎪

⎪⎨⎧<<+≥<+<≥+≥≥+=0,00,00,00,0),(222

2y x y

x y x y x y x y x y x y x y x f

注意:函数文件的编写格式和调用方法。

实验2 序列的时域表示与运算

一、实验目的

1. 掌握离散时间信号的表示;

2. 掌握离散时间信号的基本运算(加、减、乘、反折、移位)的规则;

3. 能用MATLAB 进行简单的编程;

4. 学习MATLAB 函数的调用,实现序列的显示和运算。

二、实验内容与要求

请在实验报告中记录以下程序和结果

1.用MATLAB 产生并画出下列序列的样本。

1)

()()()10

10()1[221],025m x n m n m n m n δδ==+----≤≤∑

2) ()()()()()()2

2()[56]10200.5[410]n

x n n u n u n n u n u n δ=+--++--- 3) ()3()0.9cos(0.2/3),020n

x n n n ππ=+≤≤ 4)

()24()10cos(0.0008),0100x n n w n n π=+≤≤,式中()w n 是在[-1,1]之间均匀分

布的随机序列;

2. 学习函数的调用。设}1,2,3,4,5,6,7,6,5,4,3,2,1{)(↑

=n x ,求解并画出下面序列。

)4(3)5(2)(1+--=n x n x n y )2()()3()(2---=n x n x n x n y 3. 已知序列1010][)3.01.0(≤≤-=+-n e n x n

j ,在一个图形窗中分别画出该序列的

实部、虚部、幅值和相位图。

注:学习abs 、angle 、real 、imag 、subplot 、title 函数的使用。

4. 若线性时不变系统的单位样值响应为)()6.0()(n u n h n =,输入序列

)10()()(--=n u n u n x ,求系统的输出)(n y ,并画出其波形图。(思考:你可以用几种

方法来实现?)

三、实验所用部分函数如下

1.单位冲激序列(信号)生成函数impseq

[x,n] = impseq(n0,n1,n2)

2.阶跃序列(信号)生成函数stepseq

[x,n] = stepseq(n0,n1,n2)

3.序列(信号)相加函数sigadd

[y,n] = sigadd(x1,n1,x2,n2)

以上为MATLAB没有,需外加入的函数(将相应函数拷贝到自己当前目录下)

4. 正(余)弦生成函数sin、cos

y = sin(x) ,y = cos(x) (注意:x以弧度为单位)

5. 随机序列生成函数rand,用法如:

Y = rand (n) 生成n×n阶的均匀分布随机阵;

Y = rand (m, n) 生成m×n阶的随机阵;

rand 返回在[0,1]区间上的一个随机数;

将上面的rand写成randn则可以生成均值为0、方差为1的正态分布的随机变量。

6.全1矩阵生成函数ones (m, n) :生成m×n阶全1矩阵

7.全0矩阵生成函数zeros (m, n) :生成m×n阶全0矩阵

8.离散序列绘图函数stem

stem (y) 以1、2、3…为横坐标, y为纵坐标画杆形图;

stem(x, y) 以x为横坐标, y为纵坐标画杆形图(x与y数据个数必须一致);

stem (…,’fill’)选项’fill’指定杆顶为实心,若无此选项则默认空心。

9.线性坐标平面绘图函数plot

用法与stem 类似,具体用法可查看MATLAB帮助

以上为MATLAB内置函数(在此仅为同学复习MATLAB提供)

四、参考程序

1.典型序列函数

1)单位阶跃函数(the step sequence)

function [x,n] = stepseq(n0,n1,n2)

% Generates x(n) = u(n-n0); n1 <= n,n0 <= n2

% ------------------------------------------

% [x,n] = stepseq(n0,n1,n2)

相关文档
最新文档