江苏大学数字信号处理学生实验一

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

3、MATLAB 的退出 要退出 MATLAB 系统,有三种方法: (1)单击 MATLAB 命令窗口的“关闭”按钮。 (2)在命令窗口 File 菜单中选 Exit MATLAB 命令。 (3)在 MATLAB 命令窗口输入 Exit 和 Quit 命令。
2
《数字信号处理》上机实验指导
实验一 信号的产生与信号的产生与数学变换
二、MATLAB 集成环境 MATLAB 6.X 是一个高度集成的语言环境,在该环境下既可以进行交互式的 操作,又可以编写程序、运行程序并跟踪调试程序。 1、MATLAB 的启动 启动 MATLAB 有两种常见方法: (1)通过“开始”按钮,选择“程序”菜单项,然后打开“MATLAB”菜单中 的“MATLAB”程序,就可启动 MATLAB;
6
《数字信号处理》上机实验指导
3
sinc 功能:产生 sinc 或 sin(πt)/ πt 函数波形。 格式:y=sinc(x) 说明:sinc(x)用于计算 sinc 函数,即
⎧1 ⎪ sin c(t ) = ⎨ sin(π t ) ⎪ ⎩ πt
t =0 t≠0
sinc 函数之所以重要,是因为它的傅里叶变换正好是幅值为 1 的矩形脉冲。 举例: x=linspace(-5,5); y=sinc(x); plot(x,y)
3
《数字信号处理》上机实验指导
附录:Matlab 中用于数字信号处理的函数
附录一
一、Matlab 中的信号表示
(1)Matlab 语言中的基本数据类型是向量和矩阵,所以很自然地、信号处理工具箱中 的信号也用向量或矩阵表示。行向量和列向量表示单通道信号,矩阵表示多通道信号,矩阵 中的每一列表示一个通道。 例 1:输入语句: x = [4
《数字信号处理》上机实验指导
MATLAB 简介
基于 FORTRAN 语言的 MATLAB(Matrix Laboratory)正式版本于 1984 年推荐出,后 经一次次改版,现在所用的 6.x 版已经用 C 语言作了完全的改写。MATLAB 是一个交互式 程序,可在 MATLAB 语言编写程序下运行用 MATLAB 语言编写的程序。与一般的高级语 言相比,MATLAB 编程效率高,现成的工具包多而全,可移植性好,但执行效率差些。由 于该软件以陈列(包括矩阵)运算为基础,具有极强的运算功能,适合于可靠的数值计算, 方便于数据可视化, 而计算机性能的提高在很大程度上有已弥补了执行效率的缺陷。 为了便 于应用,MATLAB 又开发了伪真环境 SIMULINK 以及大量配套工具箱,如控制系统、系统 识别、鲁棒控制(robust control) 、神经网络(neural network) 、最优化、信号处理等。目前 MATLAB 已广泛应用于系统分析、应用数学、物理、化学、工程、经济等许多领域,成为 控制、电路与系统、通信与信息系统、信息与信号处理等学科最流行的软件之一。 一、MATLAB 信号处理工具箱 近些年来,信号处理的理论和方法有了很大的发展, MATLAB 的信号工具箱( Signal Processing Toolbox)覆盖了经典信号处理理论的大多数内容,是一个非常优秀的算法研究和 辅助设计工具,它不仅提供了大量的工具函数,而且还提供交互式的滤波器分析、设计工具 和谱分析。
4
《数字信号处理》上机实验指导
然后定义采样信号 y=sin(2*pi*50*t)+2*sin(2*pi*120*t)+0.5*randn(size(t)); 键入命令 plot(t(1:50),y(1:50)) 可以绘出信号 y 的前 50 个采样点的图形,见图 1.1.2
5 4
3 2
1
3
0
2
-1
1
0.5
0
-0.5
-1 0
0.05
0.1
0.15
0.2
图 1.1.3 三角波波形 思考:width=0.5 时,三角波形是怎样的? 2 square 功能:产生方波。 格式: x=square(t) x= square(t,duty) 说明:square(t)产生周期为 2π,幅值为+1、-1 的方波。 x= square(t,duty)产生指定周期的方波, duty 为正半周期的比例。 思考:参考三角波,产生周期为 0.02 的方波
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -5 0 5
二、工具箱中的信号产生函数
5
《数字信号处理》上机实验指导
信号处理工具箱提供了 8 个信号产生函数,分别用于产生锯齿波(或三角波) 、方波、 sinc 函数波形和 Dirichlet 函数(或周期 sinc 函数)波形。 1 sawtooth 功能:产生锯齿波或三角波 格式: x=sawtooth(t) x= sawtooth(t,width) 说明:sawtooth(t)类似于 sin(t),产生周期为 2π,幅值从-1 到+1 的锯齿波。 在 2π的整数倍处,值为-1,从-1 到+1 这一段波形的斜率为 1/π。 x= sawtooth(t,width)产生三角波。 举例:产生周期为 0.02 的三角波,结果见图 1.1.3。 Fs=10000; t=0:1/Fs:1.5; x=sawtooth(2*pi*50*t); plot(t,x),axis([0 0.2 -1 1])
需要注意的是,Matlab 约定向量和矩阵的下标从 1 开始,如果用户要指定信号的真实时间 下标,则应另外构造一个向量作为一个时间轴。 例 3:表示离散信号
x(n) = { x(−3)
则定义时间轴向量
x(−2) x(−1) x(0)
x(1)
x(2)
x(3)
x(4)
ห้องสมุดไป่ตู้
x(5)}
n = [−3 −2 −1 0 1 2 3 4 5]
然后定义采样点向量
y = [1 4 3 2 0 4 5 2 1]
键入命令
stem(n,y) 可以得到具有真实时间下标的信号图形,见图 1.1.1 例 4:表示特定采样频率的信号 若要产生具有特定采样频率的信号, 也需要定义时间轴向量。 例如要产生一个采样频率 为 1000HZ 的离散信号,应先定义时间轴 Fs=1000; t=(0:1/Fs:1);
1
《数字信号处理》上机实验指导
(2)利用 Windows 建立快捷方式的功能,将 MATLAB 程序以快捷方式放在桌 面上。只要在桌面上双击该图标即可启动 MATLAB。 2、MATLAB 工作界面 启动 MATLAB 后,其工作界面如下图所示: (1)命令窗口区(Command Window) 可在命令窗口区里输入变量或函数进行运行。 (2)命令历史区(Command History) 列出了执行过的函数,可浏览或选定某些函数进行运行。 (3)快捷工具区(Launch Pad) 可快捷找到所需的工具、演示和文档。 (4)当前路径浏览器(Current Directory Browser) 通过路径浏览器可打开需要运行的文件。 (5)工作区浏览器(Workspace Browser) 工作区列出了MATLAB运行过程中产生的变量或矩阵。 (6)帮助浏览器(Help Browser) 选中菜单项“Help”中的子菜单“MATLAB Help”或者直接点击帮助按钮都 可以打开Help Browser。
1 0 -4
-2
-3
-2
0
2
4
6
0
0.01
0.02
0.03
0.04
0.05
图 1. 1.1
具有真实时间下标的信号
图 1.1.2
具有特定采样频率的信号
例 5:典型信号的数学描述和 Matlab 实现 表 1.1.1 典型信号的数学描述和 Matlab 实现 名 称 数 学 描 述
Matlab 实 现
单位采样信号
一、实验目的 1、熟悉 MATLAB 的运行环境。 2、熟悉信号处理工具箱中的信号产生与表示的相关函数。 3、熟悉离散傅立叶变换(DFT),快速傅立叶变换(FFT) 、DCT、Hilbert、 Chirp-z 变换的基本概念、原理和方法。 4、熟悉 MATLAB 中有关信号变换的相关函数。 二、实验要求 1、掌握 MATLAB 中信号的产生与表示的基本方法。 2、掌握信号的基本运算即信号的延迟、相加与相乘、标量乘、信号的能量、 功率、信号的折叠、奇偶分解等基本运算。 3、掌握 MATLAB 中信号几种主要变换函数(DFT、FFT、DCT、Hilbert、Chirp -z 变换)的基本应用。 4、握利用 MATLAB 中的函数对信号做时频域分析 三、实验内容 1、熟悉 MATLAB 中信号产生与表示的基本方法。 附录一: 1).Matlab 中的信号表示:例 1-例 6; 2).信号产生函数: 锯齿波 (或三角波) 、 方波、 sinc 函数波形和 Dirichlet 函数(或周期 sinc 函数)波形; 3) 信号的基本运算和基本属性:信号加 、信号乘 、幅度变化、位移、 折叠、采样和、采样积。 2、熟悉关于 MATLAB 中信号的数学变换的相关函数及其基本应用。 附录二: 1) 离散傅立叶变换(DFT); 2) 快速离散傅立叶变换(FFT); 3、对 信 号 x(t)=0.5*sin(2*pi*f1*t)+ 2*sin(2*pi*f2*t), 其 中 f1=15Hz,f2=40Hz,采样频率:100Hz,在下列情况下绘制幅频图。分析所 用数据长度不同时对傅里叶变换结果的影响。 (1) 数据个数 32,FFT 采样点数 NFFT=32; (2) 数据个数 32,FFT 采样点数 NFFT=128; (3) 数据个数 136,FFT 采样点数 NFFT=128; (4) 数据个数 136,FFT 采样点数 NFFT=512;
MATLAB 信号处理工具箱在语音处理、雷达信号处理、实时控制、生物医学工程等众多 领域中得到成功的应用。
按照功能,MATLAB 信号处理工具箱共有 9 大类: 1.信号和波形的产生; 2.FFT、DCT、Hilbert 和其他一些数学变换; 3.滤波器的设计、分析和实现; 4.随机信号处理与经典谱估计; 5.参数模型功率谱估计; 6.多采样率信号处理; 7.窗函数; 8.时-频分析; 9.倒谱分析。 当前,世界上已有一千多所大学将 MATLAB 用于《数字信号处理》课程实验。本院的 《数字信号处理》课程也将以 MATLAB 为基础作实验。本实验的目的是使实验者了解和学 会 MATLAB 的基本语句、方法及程序,重点还在于以此为工具研究《数字信号处理》的一 些问题。为此,要求实验者必须完成本实验指导书中规定的内容,然后根据自己的时间和兴 趣决定是否观看其它演示或学习更多的内容,因为 MATLAB 的深入学习是非常耗时的。
单位阶跃信号
⎧ ⎪1 n ≥ 0 u ( n) = ⎨ ⎪ ⎩0 n < 0
x ( n) = a n ∀n, a ∈ R ∀n
实指数信号 复指数信号 正(余)弦信号 周期信号
x(n) = e(σ + jω ) n
x(n) = cos(ω n + θ ) ∀n
x(n) = x( x + n) ∀n
例 6:随机信号实现 用 Matlab 本身所带的函数 rand 和 randn 产生随机信号: 1. rand(1,N)产生[0,1]上均匀分布的随机信号; 2. randn(1,N)产生均值为 0,方差为 1 的白噪声信号。
Matlab 中的信号表示与产生
3 7 9 1]'
就定义了一个 5 采样点的离散信号。以 x 为基础,可以定义三通道信号 例 2:输入语句: y = [ x 结果为
x * 2 x / 2] ,
y= 4.0000 3.0000 7.0000 9.0000 1.0000 8.0000 6.0000 14.0000 18.0000 2.0000 2.0000 1.5000 3.5000 4.5000 0.5000
δ ( n) = ⎨
⎧1 n = 0 ⎪ ⎪ ⎩0 n = 1
x=zeros(1,N); x(1)=1 x=ones(1,N) n=0:N-1; x=a.^n; n=0:N-1; x=exp((sigema+j*w)*n); n=0:N-1; x=cos(w*n+sita) 重复罗列一个周期的信号即可,如产生 三个周期的信号为 x(n)=(xx xx xx)
相关文档
最新文档