数字信号处理实验讲义2012(2)

2018-11-17 22:09

数字信号处理讲义

3. 编写MATLAB程序:

MATLAB 的程序以 .M 结尾,你可以使用MATLAB窗口中File--?New?M--file 的菜单命令来建立一个.m空白文件,编写完成后,你保存一下,然后可以在MATLAB窗口中敲此文件名执行该文件。 函数编写 script编写

4. 常用的MATLAB命令归类: 通用命令:

Help 在线帮助 Path 路径设置 What 列出当前路径下的.m文件 Clc 清除当前命令窗口命令 Quit 退出MATLAB

Demo 例程演示 Who 列出当前变量 Clear 清除所有变量 Clf 清除当前图形 运算符:

加法: + 点乘: .* 点除: .\\

减法: — 指数: .^ 乘法: * 除法: \\ 关系运算符:

小于 < 大于 > 小于等于 <= 大于等于 >= 等于 == 不等于 ~ = 基本矩阵

zeros 零阵 ones 1阵

2

数字信号处理讲义

信号运算 abs angle real imag conv fft

ifft

图形函数 figure axis hold text gtext plot

subplot title

xlabel ylabel grid stem bar polar

取模值 相角 实部 虚部 卷积

快速傅立叶变换

快速傅立叶反变换

生成一图框 设置坐标轴 保持原图 在图上标记文字

通过鼠标点击方式在图上标记文字

画图

子图 添加图名

给X轴增加文本标注 给Y轴增加文本标注 设置网格线

离散序列数据杆状图 条形图

极坐标

3

数字信号处理讲义

实验二 离散时间信号分析

实验目的:

通过Matlab实现基本信号的表示和运算。理解信号的构成和性质。 实验任务:

1. 学习使用基本信号在Matlab 中的基本表示方法。

2. 了解本实验中的扩展函数的结构和组成,实现自己设计的扩展函数的编程:

(1)写一新的卷积函数conv_m,它可求出带下标的序列卷积。

(2)修改给出的evenodd函数,使他能接受任意序列并把它分解成共轭对称分量和共轭反对称分量。

3. 掌握复杂信号的表示方法;并对复杂信号进行编程实现。

(1)产生下列序列并绘出离散图:

(a). x(n)=2δ(n+2)-δ(n-4) -5≤n≤5 (b) x(n)=n[u(n)-u(n-10)]+10e

-0.3(n-10)

[u(n-10)-u(n-2)] 0≤n≤20

(c) x(n)=cos (0.04πn)+0.2w(n) 0≤n≤50

其中w(n)是均值为零、方差为1的白噪声序列

x(n)=[x1 x1 x1 x1],其中x1=[5 4 3 2 1] (d) ~ (e) 已知x(n)=u(n)-u(n-10),要求将它分解成奇偶序列。

(2) 用Matlab产生一矩形脉冲串,连续时间为2s,脉冲个数为10,并绘制其波形图。

4. 掌握复序列x(n)的实部、虚部、幅值和相位离散图,并编程实现。 产生复信号: x(n)=e(-0.1+j0.3)n -10≤n≤10 并画出复序列x(n)的实部、虚部、幅值和相位离散图。

4

数字信号处理讲义

一.离散信号

在数字信号处理(DSP)中,所有的信号都是离散(时间)信号,因此首先应解决在MATLAB中如何表示离散信号。

设一模拟信号经A/D变换后,得到序列信号

x(n)={x(n)}={ ?, x (-1), x ( 0 ) , x (1 ),?}

由于MATLAB对下标的约定为从1开始递增,因此要表示x(n),一般应采用两个矢量,如:

n=[-3,-2,-1,0,1,2,3,4,5] y=[1,-1,3,2,0,4,5,2,1]

这表示了一个含9个采样点的矢量:y(n)={x(-3), x (-2) , x (-1) , x (0) ,x (1 ) ,? x (5) }。

通常情况下,序列值从x(0)开始,因此一个N点序列x(n)={x (0) ,x (1) ,? ,x (N-1)}可简单地表示成

y=[x (0), x (1) ,? , x (N-1)]

这时y的下标为1~N。

二.基本信号表示

1.单位取样序列

?(n)??n?0?1

0 n?0?这一函数可利用MATLAB的zeros函数实现:

x=zeros(1,N); x(1)=1

还可以借助于关系操作符实现:

n=1:N;

5

数字信号处理讲义

x=[n==1];

如要产生

n1?n?n0?0??(n?n0)??1 n?n0 (n1?n2)

?0 n0?n?n2? 则可采用MATLAB实现:

2.单位阶跃序列

n=n1:n2; x=[(n-n0)==0];

n?0?1 u(n)??0 n?0?这一函数可利用MATLAB的ones函数实现:

x=ones(1,N);

还借助于关系操作符“>=”来实现。如要产生在n1≤n0≤n2上的单位阶跃序列

?1 n?n0 u(n?n0)??0 n?n0?则可采用MATLAB实现:

n=n1:n2; x=[(n-n0)>=0];

3.实指数序列

x(n)=an ?n;a?R

采用MATLAB实现:

n=0:N-1;

6


数字信号处理实验讲义2012(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016尔雅中国古代史课后作业答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: