随机信号实验报告1gong

更新时间:2023-12-18 18:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验名称:实验日期:姓 名:学 号:随 机 信 号 分 析

实验报告

实验一 2011.12.11 巩庆超 090250108

哈尔滨工业大学(威海)

- 1 -

1、熟悉并练习使用下列Matlab 的函数,给出各个函数的功能说明和内部参数的意义,并给 出至少一个使用例子和运行结果:

(1) rand(m,n) 生成m×n 随机矩阵,其元素在(0,1)内 例:>> y=rand(2,3) y =

0.8147 0.1270 0.6324 0.9058 0.9134 0.0975

(2) randn(m,n)

产生随机数数组或矩阵,其元素服从均值为0,方差为1的正态分布。 例: y=randn(4,4) y =

-0.4336 -1.3499 0.7147 1.4090 0.3426 3.0349 -0.2050 1.4172 3.5784 0.7254 -0.1241 0.6715 2.7694 -0.0631 1.4897 -1.2075) (3) normrnd()

y = normrnd(m,n,a,b) 产生均值为m,标准差为n的正态随机过程,a和b是y的维数。 例: y= normrnd(3,1,3,3) y =

3.7172 4.0347 3.2939 4.6302 3.7269 2.2127

3.4889 2.6966 3.8884

(4) y= mean(A) A的均值。

例:A = [2 2 3; 3 4 6; 4 5 8; 3 9 7;3 5 7];M=mean(A)为每一列的平均值 M =

3.0000 5.0000 6.2000 (5) var() 求方差

例:X=[1:1:5;1:2:10;1:3:15];V=var(X,1) V =

0 0.6667 2.6667 6.0000 10.6667

(6) xcorr(x,y) 计算x,y的互相关,当x=y时,计算的则是自相关。 例:x=normrnd(3,2,1,2); y=normrnd(3,1,1,2);z=xcorr(x,y) z =

10.2793 14.3695 3.7725

(7) periodogram(x) 计算x的功率谱密度 例: >> X=[-20:2:20];Y=periodogram(X);plot(Y)

6005004003002001000020406080100120140

- 2 -

(8) fft(x,n)离散傅里叶变换

用快速傅里叶算法得到的离散傅里叶变换,返回n点的离散傅里叶变换,如果X的长 度小于n,X的末尾填零。如果X的长度大于n,则X被截断。当X是一个矩阵时,列的长 度也服从同样的操作。

x1 = [ 1 3 5 3 6];fft_x1 = fft(x1,8)

fft_x1 =

18.0000 -2.6910 + 1.6776i -3.8090 + 3.6655i -3.8090 - 3.6655i -2.6910 - 1.6776i 例:x1 = [ 1 3 5 3 6] fft_x1 = fft(x1,5) x_axis = [ 0: 1: 4 ]; figure(1); subplot( 3, 1, 1 );

stem( x_axis, x1, '.' );

xlabel( 'n' ); title('时间序列'); subplot( 3,1,2 );

stem( x_axis, abs(fft_x1) ); grid on; xlabel( '频率 k' ); ylabel( '幅度' ); title( '幅度谱' ); subplot( 3,1,3 );

stem( x_axis, angle(fft_x1) ); grid on; xlabel( '频率 k' ); ylabel( '相位' ); title( '相位谱' );

时间序列105000.511.52n幅度谱2.533.5420幅度10000.511.52频率 k相位谱2.533.545相位0-500.511.52频率 k2.533.54

(9) normpdf(x,m,a) 求正态分布概率密度函数值,m为均值,a为方差。

例:x=[-5:0.1:5];y=normpdf(x,2,1);plot(x,y)

- 3 -

0.40.350.30.250.20.150.10.050-5-4-3-2-1012345

(10) normcdf(x,m,a) 求正态分布概率分布函数值,参数为m,a,m为均值,a为方差 例:x = (-5:0.1:5); y = normcdf(x,2,1);plot(x,y)

10.90.80.70.60.50.40.30.20.10-5-4-3-2-1012345

(11) unifpdf(x,a,b) 参数为a,b的均匀分布函数值

例:x = [0:0.1:2];y = unifpdf(x,2,3)

y =

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

(12) unifcdf(x,a,b)求连续均匀分布的概率分布函数值,参数为a,b的均匀分布累计分布函数值

>> 例:x=[0;0.1;4];y=unifcdf(x,-2,2);plot(x,y)

10.950.90.850.80.750.70.650.60.550.500.511.522.533.54

- 4 -

(13)raylpdf(x,a) 求瑞利概率密度分布函数值 参数为a >> 例:x = [-1:0.1:10];y = raylpdf(x,3);plot(x,y)

0.250.20.150.10.050-20246810

(14) raylcdf(x,a)求瑞利分布的概率分布函数值,参数为a.

>> 例: x = [0:0.1:12];p = raylcdf(x,3);plot(x,p)

10.90.80.70.60.50.40.30.20.10024681012

(15) exppdf(x,m)求指数分布的概率密度函数值

例:x=[-1:0.1:10]; y = exppdf(x,3);plot(x,y)

0.350.30.250.20.150.10.050-20246810

(16) expcdf(x,m)求指数分布的概率分布函数值,m为均值

- 5 -

例:x = [0:0.1:8];y = expcdf(x,2);plot(x,y)

10.90.80.70.60.50.40.30.20.10012345678

(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)。 例:n = 4;X = pascal(n);R = chol(X) X =

1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 R =

1 1 1 1 0 1 2 3 0 0 1 3 0 0 0 1

(18) ksdensity() 核平滑密度估计 (1)[f,xi] = ksdensity(x)

计算向量x样本的一个概率密度估计,返回向量f是在xi各个点估计出的密度值 (2)f = ksdensity(x,xi)

计算在确定点xi处的估计值

例:R = normrnd(3,6);[f,xi] = ksdensity(R);plot(xi,f)

0.40.350.30.250.20.150.10.050-14-13-12-11-10-9-8-7

- 6 -

19) hist()画柱状图

(1)n = hist(Y)

将向量Y中的元素分成10个等长的区间,再返回每区间中元素个数,是个行向量 (2)n = hist(Y,x) 画以x元素为中心的柱状图 (3)n = hist(Y,nbins) 画以nbins为宽度的柱状图 例:Y=rand(50,2);hist(Y,6)

15105000.10.20.30.40.50.60.70.80.91

20) int()计算积分

(1)int(s)

对符号表达式s中确定的符号变量计算计算不定积分 例:syms x;y=int(x) y =

x^2/2

(2)int(s,v)

对符号表达式s中指定的符号变量v计算不定积分 例:>> syms a b >> s=a*a+b*b s =

a^2 + b^2 >> int(s,a) ans =

a^3/3 + a*b^2

(3)int(s,a,b)

符号表达式s的定积分,a,b分别为积分的上、下限 例:>> syms x >> s=x*x s = x^2 >> int(s,1,3) ans = 26/3

- 7 -

(4)int(s,v,a,b)

符号表达式s关于变量v的定积分,a,b为积分的上下限 例:>> syms x y >> s=2*x*x+y*y s =

2*x^2 + y^2 >> int(s,y,2,3) ans =

2*x^2 + 19/3

2、产生高斯随机变量

(1) 产生数学期望为0,方差为1 的高斯随机变量; >> y=randn(3,4)

y =

-1.0206 -0.2867 -1.4193 0.5979 -3.0730 -0.1973 -0.7294 -1.2813

0.6263 0.4056 1.1473 -2.2033

(2) 产生数学期望为5,方差为10 的高斯随机变量; >> y=normrnd(5,10,4,5) y =

2.6145 3.7000 -3.5952 -2.0716 8.4037 0.1599 -0.9435 -9.1300 1.9835 -4.6323

1.7266 0.5623 -0.1599 -7.0044 16.1392 9.7552 -8.2253 -5.8510 4.8064 -10.8611

(3) 利用计算机求上述随机变量的100 个样本的数学期望和方差,并与理论值比较; >> x=randn(1,100); y=mean(x); z=var(x,1) y =

0.0810 z =

0.9652

计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是0和1。 >> x= normrnd(5,10,100,1) y=mean(x) z=var(x) y = 4.6111 z =

105.7980

计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是5和100。 3、产生?分布的随机变量

2- 8 -

(1) 产生自由度为2,数学期望为2,方差为4 的具有中心?2分布的随机变量; >> x=randn(1,2) y=x.^2 z=y(1)+y(2) x =

0.7147 -0.2050 y =

0.5109 0.0420 z =

0.5529

(2)产生自由度为2,数学期望为4,方差为12 的具有非中心?2分布的随机变量; >> x=normrnd(1,1,1,2) y=x.^2 z=y(1)+y(2) x =

2.4090 2.4172 y =

5.8034 5.8428

z =

11.6463

(3) 利用计算机求上述随机变量的100 个样本的数学期望和方差,并与理论值比较; 1.

for i=1:100 x=randn(1,2) y=x.^2

z(i)=y(1)+y (2) end a=mean(z) b=var(z)

经matlab运行输出后得到: a =

1.9727 b =

4.1293

计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是2和4。 2.

for i=1:100 x=normrnd(1,1,1,2) y=x.^2

z(i)=y(1)+y (2) end a=mean(z) b=var(z)

经matlab运行输出后得到: a =

- 9 -

3.3851

b =

11.9970

计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是4和12。

4、利用Matlab 现有pdf 和cdf 函数,画出均值为零、方差为4 的高斯随机变量的概率密度 曲线和概率分布曲线。 解:

x=-10:0.1:10; y=normpdf(x, 0, 2); plot(x, y);

title('概率密度曲线')

概率密度曲线0.20.180.160.140.120.10.080.060.040.020-10-8-6-4-20246810

x=-10:0.1:10; y=normcdf(x, 0, 2); plot(x, y);

title('概率分布曲线')

概率分布曲线10.90.80.70.60.50.40.30.20.10-10-8-6-4-20246810

5、产生长度为1000 数学期望为5,方差为10 的高斯随机序列,并根据该序列值画出其概 率密度曲线。(不使用pdf 函数) R=normrnd(5,sqrt(10),1000,1); [Y n]=ksdensity(R);

- 10 -

plot(n,Y);

title('概率密度曲线');

概率密度曲线0.140.120.10.080.060.040.020-10-505101520

6、利用Matlab 求随机变量的统计特性 1)参照上述例题,求:

syms x y A; f=A*exp(-2*x-y);

C=int(int(f,x,0,inf),y,0,inf) P=int(int(f,y,1,inf),x,2,inf) fx=int(f,y,0,inf) fy=int(f,x,0,inf)

经matlab运行输出后得到: C = A/2 P = A/(2*exp(5)) fx = A/exp(2*x) fy = A/(2*exp(y)) 2)参照上述例题,

求:Y?X2的数学期望和方差。

syms x; f=0.5*exp(-x); f1=x*x*f;

- 11 -

E=2*int(f1,x,0,inf) f2=x*x*x*x*f;

EY2=2*int(f2,x,0,inf); DY=EY2-E*E

经matlab运行输出后得到: E = 2 DY = 20

- 12 -

本文来源:https://www.bwwdw.com/article/77t5.html

Top