关于 MATLAB MATLAB是美国 Math Works公司开发的 种功能极其强大的高技术计算语言和 内容极其丰富的软件库。它以矩阵和向 量的运算以及运算结果的可视化为基础 把广泛应用于各个学科领域的数值分析、 矩阵计算、函数生成、信号、图形及图 象处理、建模与仿真等诸多强大功能集 成在一个便于用户使用的交互式环境之 中,为使用者提供了一个高效的编程工 具及丰富的算法资源
2 MATLAB是美国MathWorks公司开发的 一种功能极其强大的高技术计算语言和 内容极其丰富的软件库。它以矩阵和向 量的运算以及运算结果的可视化为基础, 把广泛应用于各个学科领域的数值分析、 矩阵计算、函数生成、信号、图形及图 象处理、建模与仿真等诸多强大功能集 成在一个便于用户使用的交互式环境之 中,为使用者提供了一个高效的编程工 具及丰富的算法资源。 关于MATLAB
MATLAB与信号处理直接有关的工具箱 ( Toolbox Signal Processing(信号处理工具箱) Wavelet (小波工具箱) Image Processing(图象处理工具箱) Higher-Order Spectral analysis (高阶谱分析工具箱)
3 MATLAB与信号处理直接有关的工具箱 ( Toolbox) Signal Processing (信号处理工具箱) Wavelet (小波工具箱) Image Processing(图象处理工具箱) Higher-Order Spectral Analysis (高阶谱分析工具箱)
与信号处理间接有关的工具箱: Control System (控制系统) Communication (通信) System Identification(系统辨识) Statistics (统计) Neural network(神经网络)
4 与信号处理间接有关的工具箱: Control System (控制系统) Communication (通信) System Identification (系统辨识) Statistics (统计) Neural Network (神经网络)
例 z=peaks; surf(z); 10 5 60 20 10 5
5 例: z=peaks; surf(z);
章内容有关的 MATLAB文件 1.rand.m用来产生均值为0.5、幅度在 0-~1之间均匀分布的伪白噪声:u=rand(N,1) ( rand(N)生成N阶矩阵) 方差:a2=∑[(n)-A,a2= 12 方差函数var(u)标准差函数sdu) 如何改变l(m)的方差为P 即如何确定a使au的方差为P? 将au代替u带入上面方差公式可得a2a2=P
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-~1之间均匀分布的伪白噪声:u=rand(N,1) ( rand(N)生成N阶矩阵) 2. randn. m用来产生均值为零、方差为1 服从高斯(正态)分布的白噪声信号 u-ranan (1,N) X= randn(1000,1) y=randn(1000, 1) v=var(x) h=std()
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)
3sinc:用来产生“sinc函数: sinc函数定义为: t=0 sinc(t)=30 t=kn sin(z)yxtt为其它 t=-4:0.1:4 X4=sinc(t) %产生抽样函数 plot(t, X4) 0升 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 若X(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=245386653810-0 结果y=62655826740 ◆两序列的相关算y(m)=∑x(m)x2(n-m) MATLAB实现:y=xcor(x1,x2)
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:其互相关和自相关。格式是 (1)xy=xcor(xy):求xy的互相关 (2) X-Xcorr(xM;ag):求x的自相关,M rx的单边长度,总长度为2M+1;‘fag是定 标标志,若fag- biased,则表示是“有偏” 估计,需将rx(m)都除以N,若fag= unbiased, 则表示是“无偏”估计,需将rx(m)都除以 (N-abs(m);若’fag'缺省,则rx不定标 M和‘fag同样适用于求互相关
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’同样适用于求互相关
第三章Z变换 在 MATLAB语言中有专门对信号进行正反Z变换的函数 trans()和 iztrans()。其调用格式分别如下: ◆F= trans(f)对f(n)进行Z变换,其结果为F(z2) ◆F= trans(fw)对f(n选行Z变换,其结果为F(w) ◆F= trans(6kW)对f(k进行Z变换其结果为F(w) ◆f= iztrans(F)对F(2)进行Z反变换其结果为f(n) ◆f= iztrans(Fk)对F(z)进行Z反变换,其结果为f(k) ◆f= iztrans(FWk)对F(W进行Z反变换其结果为f(k ◆注意:在调用函数 trans()及 iztrans()之前,要用 syms命令对所有卿要用到的变量(如tuVW)等进行 说明。即要将这些变量说明成符号变量
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)等进行 说明,即要将这些变量说明成符号变量