1、1 随 机 信 号 分 析 试 验 报 告班 级 班 学 号 姓 名 2实验一1、熟悉并练习使用下列 Matlab 的函数,给出各个函数的功能说明和内部参数的意义,并给出至少一个使用例子和运行结果:1)randn()产生随机数数组或矩阵,其元素服从均值为 0,方差为 1 的正态分布(1)Y = randn 产生一个伪随机数(2)Y = randn(n) 产生 nn 的矩阵,其元素服从均值为 0,方差为 1的正态分布(3)Y = randn(m,n) 产生 mn 的矩阵,其元素服从均值为 0,方差为 1的正态分布(4)Y= randn(m n) 产生 mn 的矩阵,其元素服从均值为 0,方差为
2、1的正态分布选择(2)作为例子,运行结果如下: Y = randn(3)Y =1.3005 0.0342 0.97920.2691 0.9913 -0.8863-0.1551 -1.3618 -0.35622)rand()(1)Y = rand(n) 生成nn 随机矩阵,其元素在(0,1)内(2)Y = rand(m,n) 生成mn 随机矩阵(3)Y = rand(m n) 生成mn 随机矩阵(4)Y = rand(m,n,p,) 生成mnp 随机矩阵或数组(5)Y = rand(m n p) 生成mnp 随机矩阵或数组(6)Y = rand(size(A) 生成与矩阵A 相同大小的随机矩阵选
3、择(3)作为例子,运行结果如下: Y = rand(3 4)Y =0.0579 0.0099 0.1987 0.19880.3529 0.1389 0.6038 0.01530.8132 0.2028 0.2722 0.74683)normrnd()产生服从正态分布的随机数3(1)R = normrnd(mu,sigma) 产生服从均值为 mu,标准差为 sigma 的随机数,mu 和 sigma 可以为向量、矩阵、或多维数组。(2)R = normrnd(mu,sigma,v) 产生服从均值为 mu 标准差为 sigma 的随机数,v 是一个行向量。如果 v 是一个 12 的向量,则 R 为
4、一个 1 行 2 列的矩阵。如果 v是 1n 的,那么 R 是一个 n 维数组(3)R = normrnd(mu,sigma,m,n) 产生服从均值为 mu 标准差为 sigma 的随机数,标量 m 和 n 是 R 的行数和列数。选择(3)作为例子,运行结果如下: R = normrnd(1,1,3,4)R =1.4117 2.1139 1.9044 0.66384.1832 3.0668 1.1677 2.71431.8636 2.0593 2.2944 3.6236 4)mean()(1)M = mean(A) 如果 A 是一个向量,则返回 A 的均值。如果 A 是一个矩阵,则把 A 的每
5、一列看成一个矩阵,返回一个均 值(每一列的均值)行矩阵 (2)M = mean(A,dim) 返回由标量 dim 标定的那个维度的平均值。如(A,2)是一个列向量,包含着 A 中每一行的均值。选择(2)作为例子,运行结果如下: A =1 2 3 4 5 6 7M =45) var()求方差(1)V = var(X) 返回 X 的每一列的方差,即返回一个行向量。(2)V = var(X,w) 计算方差时加上权重 w选择(2)作为例子,运行结果如下: X=1:1:5;1:2:10;V=var(X,1)V =0 0.2500 1.0000 2.2500 4.00006)xcorr()计算互相关(1)
6、c=xcorr(x,y) 计算 x,y 的互相关(2)c=xcorr(x) 计算 x 的自相关4选择(2)作为例子,运行结果如下:R=normrnd(1,2,3)c=xcorr(R)c =-2.0953 0.8081 5.4014 -1.6986 0.6551 4.3787 1.6072 -0.6198 -4.1432-1.2036 -0.8064 -4.4636 -3.2012 0.2046 2.1184 1.4050 0.4327 2.18189.1743 1.7032 -8.7548 1.7032 2.2426 -0.3519 -8.7548 -0.3519 12.8829-1.2036
7、 -3.2012 1.4050 -0.8064 0.2046 0.4327 -4.4636 2.1184 2.1818-2.0953 -1.6986 1.6072 0.8081 0.6551 -0.6198 5.4014 4.3787 -4.14327)periodogram()计算功率谱密度Pxx,w=periodogram(x) 计算 x 的功率谱密度运行结果如下:X=-20:4:20;Y=periodogram(X);plot(Y)8) fft()离散傅里叶变换(1)Y = fft(X) 返回向量 X 用快速傅里叶算法得到的离散傅里叶变换,如果 X 是一个矩阵,则返回矩阵每一列的傅里叶变
8、换(2)Y = fft(X,n) 返回 n 点的离散傅里叶变换,如果 X 的长度小于n,X 的末尾填零。如果 X 的长度大于 n,则 X 被截5断。当 X 是一个矩阵时,列的长度也服从同样的操作。选择(1)作为例子,运行结果如下:X=0:0.1:1;Y=fft(X)Y =Columns 1 through 55.5000 -0.5500 + 1.8731i -0.5500 + 0.8558i -0.5500 + 0.4766i -0.5500 + 0.2512iColumns 6 through 10-0.5500 + 0.0791i -0.5500 - 0.0791i -0.5500 - 0
9、.2512i -0.5500 - 0.4766i -0.5500 - 0.8558iColumn 11-0.5500 - 1.8731i9)normpdf()求正态分布概率密度函数值Y = normpdf(X,mu,sigma) 对每一个 X 中的值返回参数为 mu,sigma 的正态分布概率密度函数值运行结果如下: x=-5:0.1:5;y=normpdf(x,1,2);plot(x,y)10)normcdf()求正态分布概率分布函数值P = normcdf(X,mu,sigma) 对每一个 X 中的值返回参数为 mu,sigma 的累计分布函数值运行结果如下: p = normcdf(1:
10、4,0,1)p =0.8413 0.9772 0.9987 1.000011)unifpdf()6求连续均匀分布的概率密度函数值Y = unifpdf(X,A,B) 对每一个 X 中的值返回参数为 A,B 的均匀分布函数值运行结果如下: x = 1:0.1:3;y = unifpdf(x,1,2)y =Columns 1 through 10 1 1 1 1 1 1 1 1 1 1Columns 11 through 20 1 0 0 0 0 0 0 0 0 0Column 21 012) unifcdf()求连续均匀分布的概率分布函数值P = unifcdf(X,A,B) 对每一个 X 中的
11、值返回参数为 A,B 的均匀分布累计分布函数值运行结果如下: y=unifcdf(0.5,-1,1)y =0.750013)raylpdf()求瑞利概率密度分布函数值Y = raylpdf(X,B) 对每一个 X 中的值返回参数为 B 的瑞利概率分布函数值运行结果如下:x = 0:0.2:4;p = raylpdf(x,1);plot(x,p)714)raylcdf()求瑞利分布的概率分布函数值P = raylcdf(X,B) 对每一个 X 中的值返回参数为 B 的瑞利分布的累计分布函数值运行结果如下:x = 0:0.2:5;p = raylcdf(x,1);plot(x,p)15)exppd
12、f()求指数分布的概率密度函数值Y = exppdf(X,mu) 对每一个 X 中的值返回参数为 mu 的瑞利分布的概率密度函数值运行结果如下: y = exppdf(3,2:6)y =0.1116 0.1226 0.1181 0.1098 0.101116)expcdf()求指数分布的概率分布函数值P = expcdf(X,mu) 对每一个 X 中的值返回参数为 mu 的瑞利分布的概率分布函数值运行结果如下: x = 0:0.2:5;p = expcdf(x,2);plot(x,p)817)chol()对称正定矩阵的 Cholesky 分解(1)R=chol(X) 产生一个上三角阵 R,使
13、RR=X。若 X 为非对称正定,则输出一个出错信息(2)R,p=chol(X) 不输出出错信息。当 X 为对称正定的,则 p=0,R 与上述格式得到的结果相同;否则 p 为一个正整数。如果 X 为满秩矩阵,则 R 为一个阶数为 q=p-1 的上三角阵,且满足 RR=X(1:q,1:q)。选择(2)作为例子,运行结果如下: n = 4;X = pascal(n);R = chol(X)R =1 1 1 10 1 2 30 0 1 30 0 0 118)ksdensity()计算概率密度估计(1)f,xi = ksdensity(x) 计算向量 x 样本的一个概率密度估计,返回向量 f 是在 xi
14、 各个点估计出的密度值(2)f = ksdensity(x,xi) 计算在确定点 xi 处的估计值选择(1)作为例子,运行结果如下:R = normrnd(2,1);f,xi = ksdensity(R);plot(xi,f)919)hist()画直方图(1)n = hist(Y) 将向量 Y 中的元素分成 10 个等长的区间,再返回每区间中元素个数,是个行向量(2)n = hist(Y,x) 画以 x 元素为中心的柱状图(3)n = hist(Y,nbins) 画以 nbins 为宽度的柱状图运行结果如下:Y=rand(80,2);hist(Y,8)20)int()计算积分(1)int(s)
15、 对符号表达式 s 中确定的符号变量计算计算不定积分(2)int(s,v) 对符号表达式 s 中指定的符号变量 v 计算不定积分.(3)int(s,a,b) 符号表达式 s 的定积分,a,b 分别为积分的上、下限(4)int(s,v,a,b) 符号表达式 s 关于变量 v 的定积分,a,b 为积分的上下限运行结果如下: syms x;int(x)ans =1/2*x22、产生高斯随机变量10(1) 产生数学期望为 0,方差为 1 的高斯随机变量;(2) 产生数学期望为 2,方差为 5 的高斯随机变量;(3) 利用计算机求上述随机变量的 100 个样本的数学期望和方差,并与理论值比较;解:(1)
16、randn(3,4)ans =0.9572 0.1419 0.7922 0.03570.4854 0.4218 0.9595 0.84910.8003 0.9157 0.6557 0.9340(2)normrnd(2,50.5,3,4)ans =0.4658 3.8036 6.5414 3.81546.0902 2.3977 -1.4405 -2.83791.3752 1.9891 -1.3931 3.8373(3)若 x=randn(1,100)y=mean(x)z=var(x,1)经 matlab 运行后得到:y =-0.0102z =1.0122计算结果中均值与方差均为随机变量,经多次运
17、算,均值与方差均变化较大,但他们的值均可近似认为是 0 和 1。若 x= normrnd(2,50.5,100,1)y=mean(x)z=var(x)经 matlab 运行后得到:y =2.0457z =5.1945计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们的值均可以近似认为是 2 和 5。3、产生 分布的随机变量(1) 产生自由度为2,数学期望为2,方差为4 的具有中心 分布的随机变量;(2) 产生自由度为2,数学期望为4,方差为12 的具有非中心 分布的随机变量;(3) 利用计算机求上述随机变量的100 个样本的数学期望和方差,并与理论值比较;解 :(1)由于 n=2,所以 x=randn(1,2)y=x.2