当前位置:文档之家› 《随机信号处理》课程设计

《随机信号处理》课程设计

《随机信号处理》课程设计————————————————————————————————作者:————————————————————————————————日期:华北水利水电大学随机信号处理上机实验报告学院:数学与信息科学专业:信息与计算科学姓名:孙志攀学号:201216511指导老师:蒋礼日期:2015年10月20日实验一1、熟悉并练习使用下列Matlab 的函数,给出各个函数的功能说明和内部参数的意义,并给出至少一个使用例子和运行结果1.rand()(1)Y = rand(n) 生成n×n 随机矩阵,其元素在(0,1)内(2)Y = rand(m,n) 生成m×n 随机矩阵(3)Y = rand([m n]) 生成m×n 随机矩阵(4)Y = rand(m,n,p,…) 生成m×n×p×…随机矩阵或数组(5)Y = rand([m n p…]) 生成m×n×p×…随机矩阵或数组(6)Y = rand(size(A)) 生成与矩阵A 相同大小的随机矩阵选择(3)作为例子,运行结果如下:2.randn()产生随机数数组或矩阵,其元素服从均值为0,方差为1的正态分布(1)Y = randn 产生一个伪随机数(2)Y = randn(n) 产生n×n的矩阵,其元素服从均值为0,方差为1的正态分布(3)Y = randn(m,n) 产生m×n的矩阵,其元素服从均值为0,方差为1的正态分布(4)Y= randn([m n]) 产生m×n的矩阵,其元素服从均值为0,方差为1的正态分布选择(3)作为例子,运行结果如下:3.normrnd()产生服从正态分布的随机数(1)R = normrnd(mu,sigma) 产生服从均值为mu,标准差为sigma的随机数,mu和sigma 可以为向量、矩阵、或多维数组。

(2)R = normrnd(mu,sigma,v) 产生服从均值为mu 标准差为sigma的随机数,v是一个行向量。

如果v是一个1×2的向量,则R为一个1行2列的矩阵。

如果v是1×n的,那么R 是一个n维数组(3)R = normrnd(mu,sigma,m,n) 产生服从均值为mu 标准差为sigma的随机数,标量m和n是R的行数和列数。

选择(3)作为例子,运行结果如下:>> R = normrnd(2,1,3,4)R =1.41172.1139 1.9044 0.66384.1832 3.0668 1.1677 2.71431.86362.0593 2.29443.62364.mean()(1)M = mean(A) 如果A是一个向量,则返回A的均值。

如果A是一个矩阵,则把A的每一列看成一个矩阵,返回一个均值(每一列的均值)行矩阵(2)M = mean(A,dim) 返回由标量dim标定的那个维度的平均值。

如(A,2)是一个列向量,包含着A中每一行的均值。

选择(2)作为例子,运行结果如下:>> A = [2 2 3; 3 4 6; 4 5 8; 3 9 7];M=mean(A,2)M =2.33334.33335.66676.33335.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)c=xcorr(x,y) 计算x,y的互相关(2)c=xcorr(x) 计算x的自相关选择(2)作为例子,运行结果如下:>> x=normrnd(3,1,3,4);c=xcorr(x)c =Columns 1 through 65.7322 5.5904 9.4211 10.1106 4.6526 4.537518.1391 15.0984 23.3099 23.7231 14.3009 11.843326.5151 21.2285 25.1494 27.2039 21.2285 17.135618.1391 14.3009 13.3476 15.5832 15.0984 11.84335.7322 4.6526 3.0791 4.3145 5.5904 4.5375Columns 7 through 127.6467 8.2064 3.0791 3.0029 5.0606 5.431018.2264 18.5110 13.3476 11.6251 18.4445 19.100020.4102 22.1727 25.1494 20.4102 27.3464 28.649811.6251 13.2468 23.3099 18.2264 18.4445 20.71743.00294.2078 9.4211 7.64675.0606 7.0910Columns 13 through 164.3145 4.2078 7.0910 7.610015.5832 13.2468 20.7174 21.260627.2039 22.1727 28.6498 30.472323.7231 18.5110 19.1000 21.260610.1106 8.2064 5.4310 7.61007.periodogram()计算功率谱密度[Pxx,w]=periodogram(x) 计算x的功率谱密度运行结果如下:X=[-20:4:20];Y=periodogram(X);plot(Y)8.fft()离散傅里叶变换(1)Y = fft(X) 返回向量X用快速傅里叶算法得到的离散傅里叶变换,如果X是一个矩阵,则返回矩阵每一列的傅里叶变换(2)Y = fft(X,n) 返回n点的离散傅里叶变换,如果X的长度小于n,X的末尾填零。

如果X的长度大于n,则X被截断。

当X是一个矩阵时,列的长度也服从同样的操作。

选择(1)作为例子,运行结果如下:X=[0:.2:1];Y = fft(X)Y =3.0000 -0.6000 + 1.0392i -0.6000 + 0.3464i -0.6000 -0.6000 - 0.3464i -0.6000 - 1.0392i9.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:4,0,1)p =0.8413 0.9772 0.9987 1.000011.unifpdf()求连续均匀分布的概率密度函数值Y = unifpdf(X,A,B) 对每一个X中的值返回参数为A,B的均匀分布函数值运行结果如下:>> x = 1:0.1:3;y = unifpdf(x,1,2)y =Columns 1 through 101 1 1 1 1 1 1 1 1 1Columns 11 through 201 0 0 0 0 0 0 0 0 0Column 2112.unifcdf()求连续均匀分布的概率分布函数值P = unifcdf(X,A,B) 对每一个X中的值返回参数为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)14.raylcdf()求瑞利分布的概率分布函数值P = raylcdf(X,B) 对每一个X中的值返回参数为B的瑞利分布的累计分布函数值运行结果如下:x = 0:0.2:5;p = raylcdf(x,1);plot(x,p)15.exppdf()求指数分布的概率密度函数值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)17.chol()对称正定矩阵的Cholesky分解(1)R=chol(X) 产生一个上三角阵R,使R'R=X。

若X为非对称正定,则输出一个出错信息(2)[R,p]=chol(X) 不输出出错信息。

当X为对称正定的,则p=0,R与上述格式得到的结果相同;否则p为一个正整数。

如果X为满秩矩阵,则R为一个阶数为q=p-1的上三角阵,且满足R'R=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 各个点估计出的密度值(2)f = ksdensity(x,xi) 计算在确定点xi处的估计值选择(1)作为例子,运行结果如下:R = normrnd(2,1);[f,xi] = ksdensity(R);plot(xi,f)19. 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) 对符号表达式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*x^22、产生高斯随机变量(1)产生数学期望为0,方差为1 的高斯随机变量;(2)产生数学期望为5,方差为10 的高斯随机变量;(3)利用计算机求上述随机变量的100 个样本的数学期望和方差,并与理论值比较;解:(1)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(5,10,3,4)ans =27.4330 5.0029 14.6365 15.836013.5432 6.9760 7.0150 14.1185-4.3204 7.9095 -3.6209 1.6324(3)若x=randn(1,100)y=mean(x)z=var(x,1)经matlab运行后得到:y =-0.0102z =1.0122计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是0和1。

相关主题