关于MATLAB MATLAB是美国Math Works公司开发的 种功能极其强大的高技术计算语言和 内容极其丰富的软件库。它以矩阵和向 量的运算以及运算结果的可视化为基础 把广泛应用于各个学科领域的数值分析 矩阵计算、函数生成、信号、 图形及图 象处理、建模与仿真等诸多强大功能集 成在一个便于用户使用的交互式环境之 中,为使用者提供了一个高效的编程工 具及丰富的算法资源。 2
2 MATLAB是美国MathWorks公司开发的 一种功能极其强大的高技术计算语言和 内容极其丰富的软件库。它以矩阵和向 量的运算以及运算结果的可视化为基础, 把广泛应用于各个学科领域的数值分析、 矩阵计算、函数生成、信号、图形及图 象处理、建模与仿真等诸多强大功能集 成在一个便于用户使用的交互式环境之 中,为使用者提供了一个高效的编程工 具及丰富的算法资源。 关于MATLAB
MATLAB.与信号处理直接有关的工具箱 Toolbox Signal Processing(信号处理工具箱) Wavelet (小波工具箱) Image Processing(图象处理工具箱) Higher-Order Spectral Analysis (高阶谱分析工具箱) 3
3 MATLAB与信号处理直接有关的工具箱 ( Toolbox) Signal Processing (信号处理工具箱) Wavelet (小波工具箱) Image Processing(图象处理工具箱) Higher-Order Spectral Analysis (高阶谱分析工具箱)
与信号处理间接有关的工具箱: Control System (控制系统) Communication (通信) System Identification 。(系统辨识) Statistics (统计) Neural Network (神经网终) 4
4 与信号处理间接有关的工具箱: Control System (控制系统) Communication (通信) System Identification (系统辨识) Statistics (统计) Neural Network (神经网络)
例: z=peaks;surf(z); 10 5 0 5 -10 60 40 50 40 30 20 20 10 0 0 5
5 例: z=peaks; surf(z);
当第一章内容有关的MATLAB文件 1.rand.m用来产生均值为0.5、幅度在 0~l之间均匀分布的伪白噪声:u=andN,1) (rand(N)生成N阶矩阵) 方右:-mo)-小、= 12 n=0 方差函数var(u) 标准差函数std(u) 如何改变u(n)的方差为P 即如何确定a使au的方差为P? 将au代替u带入上面方差公式可得ao2=P 6
6 1. rand.m 用来产生均值为0.5、幅度在 0~1之间均匀分布的伪白噪声: u=rand(N,1) (rand(N)生成N阶矩阵) 2 1 2 2 0 1 1 ( ) , 12 N u u u n u n N − = 方差: = − = u n( ) 与第二章内容有关的MATLAB文件 如何改变 u n( ) 的方差为P 方差函数var(u) 标准差函数std(u) 即如何确定a使au的方差为P? 将au代替u带入上面方差公式可得 2 2 u a P =
当第一章内容有关的MATLAB文件 1.rand.m用来产生均值为0.5、幅度在 0~l之间均匀分布的伪白噪声:u=andN,1) (rand(N)生成N阶矩阵) 2.randn.m用来产生均值为零、方差为1 服从高斯(正态)分布的白噪声信号 u=randn(1,N) x=randn(1000,1) y=randn(1000,1) v=var(X) h=std(y) 7
7 1. rand.m 用来产生均值为0.5、幅度在 0~1之间均匀分布的伪白噪声: u=rand(N,1) (rand(N)生成N阶矩阵) 2. randn.m 用来产生均值为零、方差为1 服从高斯(正态)分布的白噪声信号 u=randn(1, N) u n( ) 与第二章内容有关的MATLAB文件 x=randn(1000,1) y=randn(1000,1) v=var(x) h=std(y)
3.sinc:用来产生“sinc函数: sinc函数定义为:1 t=0 sinc(t)=0 t=kπ sin(πt)/πtt为其它 t=-4:0.1:4; x4=sinc(t); %产生抽样函数 plot(t,x4) 0 8 抽样函数
8 3.sinc :用来产生 “sinc” 函数: sinc函数定义为: 1 0 sin ( ) 0 sin( ) t c t t k t t t = = = 为其它 t=-4:0.1:4; x4=sinc(t); % plot(t,x4)
4.conv.m 用来实现两个离散序列的线性卷 积。其调用格式是:y=conv(x,h), 若(n)和y(n)的长度分别为M和N,则返回值是长度 为M+N-1的序列。 例 x(n)=[345];h(n=[2678],求其线性卷积。 MATLAB语句如下: x=[345]; x=[345]; h=[2678]: h=[2678]: y=xcorr(x,h) y=conv(x,h) y=245386 653810-0 结果y=62655826740 ◆两序列的相关运算 y(m)=∑x(n)x2(n-m) MATLAB实现:y=xcorr(x1,x2). 9
9 4. conv.m 用来实现两个离散序列的线性卷 积。其调用格式是:y=conv(x,h). 若x(n)和y(n)的长度分别为M和N, 则返回值是长度 为M+N-1的序列。 例 x(n)=[3 4 5]; h(n)=[2 6 7 8],求其线性卷积。 MATLAB语句如下: x=[3 4 5]; h=[2 6 7 8]; y=conv(x,h) 结果 y=6 26 55 82 67 40 ◆两序列的相关运算 1 2 ( ) ( ) ( ) n y m x n x n m = − MATLAB实现:y=xcorr(x1,x2)。 x=[3 4 5]; h=[2 6 7 8]; y=xcorr(x,h) y=24 53 86 65 38 10 -0
5.xcorr; 其互相关和自相关。格式是: (I)xy=xcorr(x,y):求x,y的互相关; (2)rx=xcorr(x,M,'fag'):求x的自相关,M: x的单边长度,总长度为2M+1;‘fag是定 标标志,若flag=biased,则表示是“有偏 估计,需将rx(m)都除以N,若fag-unbiased, 则表示是“无偏”估计,需将rx(m)都除以 (N一abs(m));若'fag缺省,则rx不定标。 M和‘fag同样适用于求互相关。 10
10 5.xcorr: 其互相关和自相关。格式是: (1)rxy=xcorr(x,y) : 求 x,y 的互相关; (2)rx=xcorr(x,M,’flag’):求x的自相关,M: rx的单边长度,总长度为2M+1; ‘flag’是定 标标志,若 flag=biased, 则表示是“有偏” 估计,需将rx(m)都除以N,若flag=unbiased, 则表示是“无偏”估计,需将rx(m)都除以 (N-abs(m));若’flag’缺省,则rx不定标。 M和‘flag’同样适用于求互相关
第三章乙变换 ,在MATLAB语言中有专门对信号进行正反Z变换的函数 ztrans()和iztrans()。其调用格式分别如下: ◆F=ztrans(f) 对f(n)进行Z变换,其结果为F(Z) ◆F=ztrans(f,w)对f(n)进行Z变换, 其结果为F(W) ◆F=ztrans(f,kw) 对f(k)进行Z变换,其结果为F(W) ◆f=iztrans(F) 对F(Z)进行Z反变换,其结果为f(n) ◆f=iztrans(f,k) 对F(Z)进行Z反变换,其结果为f(k) ◆f=iztrans(F,w,k对F(W)进行Z反变换,其结果为f(k 注意:在调用函数ztrans()及iztrans()之前, 要用 Syms命令对所有需要用到的变量(如t,u,V,W) 等进行 说明,即要将这些变量说明成符号变量 11
11 第三章 Z变换 . 在MATLAB语言中有专门对信号进行正反Z变换的函数 ztrans( ) 和iztrans( )。其调用格式分别如下: ◆F=ztrans( f ) 对f(n)进行Z变换,其结果为F(z) ◆F=ztrans(f,w) 对f(n)进行Z变换,其结果为F(w) ◆F=ztrans(f,k,w) 对f(k)进行Z变换,其结果为F(w) ◆f=iztrans ( F ) 对F(z)进行Z反变换,其结果为f(n) ◆f=iztrans(F,k) 对F(z)进行Z反变换,其结果为f(k) ◆f=iztrans(F,w,k) 对F(w)进行Z反变换,其结果为f(k) ◆注意: 在调用函数ztrans( )及iztrans( )之前,要用 syms命令对所有需要用到的变量(如t,u,v,w)等进行 说明,即要将这些变量说明成符号变量