【随机信号分析1】随机变量和随机信号的仿真与特征估计

利用计算机仿真产生具有不同分布的随机数和随机序列,并能计算其简单的数字特征

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

(1)randn()

Y = randn (m, n)
产生m×n的矩阵,其元素服从均值为0,方差为1的正态分布

实验程序:
x=randn(6,6)
实验结果:
x =

1.1093    1.5326    0.0326   -0.7423    0.8886   -0.1961
-0.8637   -0.7697    0.5525   -1.0616   -0.7648    1.4193
0.0774    0.3714    1.1006    2.3505   -1.4023    0.2916
-1.2141   -0.2256    1.5442   -0.6156   -1.4224    0.1978
-1.1135    1.1174    0.0859    0.7481    0.4882    1.5877
-0.0068   -1.0891   -1.4916   -0.1924   -0.1774   -0.8045

(2)rand()

Y = rand(m,n)
生成m×n随机矩阵

实验程序:
x=rand(6,6)

实验结果:
x =

0.7572    0.5308    0.0119    0.1656    0.4505    0.5383
0.7537    0.7792    0.3371    0.6020    0.0838    0.9961
0.3804    0.9340    0.1622    0.2630    0.2290    0.0782
0.5678    0.1299    0.7943    0.6541    0.9133    0.4427
0.0759    0.5688    0.3112    0.6892    0.1524    0.1067
0.0540    0.4694    0.5285    0.7482    0.8258    0.9619

(3)normrnd()

Y = normrnd (mu,sigma, m, n)
产生服从均值为mu标准差为sigma的随机数,标量m和n是R的行数和列数。

实验程序:
s=rng;
x=normrnd(1,2,[3,4])

实验结果:
x =

2.6504    0.0628    0.4443    0.2923
3.7579    0.4551    2.4031   -0.6472
-1.1164    3.1968   -3.1036   -2.1541

(4)mean()
Y = mean(A)
如果A是一个向量,则返回A的均值。如果A是一个矩阵,则把A的每一列看成一个矩阵,返回一个均值(每一列的均值)行矩阵

实验程序:
A=[1 2 2; 3 3 3; 4 3 5; 6 5 2];
x=mean(A)

实验结果:
x =

3.5000    3.2500    3.0000

(5)var()
v = var(X, w)
计算方差时加上权重w

实验程序:
A=[1 2 2; 3 3 3; 4 3 5; 6 5 2];
x=var(A,1)

实验结果:
x =

3.2500    1.1875    1.5000

(6)xcorr()
A=xcorr(x)
计算x的自相关

实验程序:
A=[1 2 2; 4 3 5];
x=xcorr(A)

实验结果:
x =

 4     3     5     8     6    10     8     6    10
17    14    22    14    13    19    22    19    29
 4     8     8     3     6     6     5    10    10

(7)periodoggram()
Y=periodogram(x)
计算x的功率谱密度

实验程序:
A=[-15:5:25];
x=periodogram(A);
plot(x,‘B’)

实验结果:
在这里插入图片描述

(8)psd()
未找到该函数
(9)ksdensity()
[f, xi] = ksdensity(x)
计算向量x样本的一个概率密度估计,返回向量f是在xi各个点估计出的密度值

实验程序:
y=normrnd(3,4);
[f,xi]=ksdensity(y);
plot(xi,f)

实验结果:
在这里插入图片描述

(10)hist()
n= hist (Y,x)
画以x元素为中心的柱状图

实验程序:
x=rand(40,3);
hist(x,4)

实验结果:
在这里插入图片描述

(11)fft()
Y=fft(x, n)
如果X的长度小于n,X的末尾填零。如果X的长度大于n,则X被截断。当X是一个矩阵时,列的长度也服从同样的操作。

实验程序:
x=0:0.5:5;
y=fft(x,3)

实验结果:
y =

1.5000 + 0.0000i -0.7500 + 0.4330i -0.7500 - 0.4330i

(12)normpdf()
Y =normpdf(X, mu,sigma)
对每一个X中的值返回参数为mu, sigma的正态分布概率密度函数值

实验程序:
x=-6:0.1:6;
y=normpdf(x,1,3);
plot(x,y)

实验结果:
在这里插入图片描述

(13)normcdf()
P=normcdf (X, mu,sigma)
对每一个X中的值返回参数为mu, sigma的累计分布函数值

实验程序:
A=[2,3,4;5,2,4];
x=normcdf(A,0,1)

实验结果:
x =

0.9772    0.9987    1.0000
1.0000    0.9772    1.0000

(14)unifpdf()
Y = unifpdf(X,A, B)
对每一个X中的值返回参数为A,B的均匀分布函数值

实验程序:
x=1:0.25:5;
y=unifpdf(x,1,2)

实验结果:
y =

列 1 至 11
1 1 1 1 1 0 0 0 0 0 0
列 12 至 17
0 0 0 0 0 0

(15)unifcdf()
P=unifcdf(x,A, B)
对每一个X中的值返回参数为A,B的均匀分布累计分布函数值

实验程序:
X=unifcdf(0.4,-2,2)

实验结果:
X =

0.6000

(16)raylpdf()
Y = raylpdf(X,B) 对每一个X中的值返回参数为B的瑞利概率分布函数值

实验程序:
x=1:0.25:5;
y=raylpdf(x,1);
plot(x,y)

实验结果:在这里插入图片描述
(17)raylcdf()
P = raylcdf(X, B)
对每一个X中的值返回参数为B的瑞利分布的累计分布函数值

实验程序:
x=0:0.25:5;
y=raylcdf(x,1);
plot(x,y)

实验结果:
在这里插入图片描述

(18)exppdf()
Y= exppdf(x, mu)
对每一个X中的值返回参数为mu的瑞利分布的概率密度函数值

实验程序:
A=[2,3,4;5,2,4];
X=exppdf(A,1)

实验结果:
X =

0.1353    0.0498    0.0183
0.0067    0.1353    0.0183

(19)expcdf()
P= expcdf(X, mu)
对每一个X中的值返回参数为mu的瑞利分布的概率分布函数值

实验程序:
x=0:0.25:5;
y=expcdf(x,2);
plot(x,y)

实验结果:
在这里插入图片描述

(20)chol()
R=chol(X)
产生一个上三角阵R,使R’R=X。若X为非对称正定,则输出一个出错信息

实验程序:
x=3;
y=pascal(x);
P=chol(y)

实验结果:
P =

 1     1     1
 0     1     2
 0     0     1

2、产生高斯随机变量

(1)产生数学期望为0,方差为1的高斯随机变量的样本10000个,画出直方图;

实验程序:
A=random(‘norm’,0,1,1,10000);
hist(A,-5:0.05:5);

(2)产生数学期望为2,方差为5的高斯随机变量的样本10000个,画出直方图;

实验程序:
B=random(‘norm’,2,sqrt(5),1,10000);
hist(B,-10:0.05:14);

(3)利用mean()和var()函数求上述随机变量的数学期望和方差,并与理论值比较。

实验程序:
A=random(‘norm’,0,1,1,10000);
B=random(‘norm’,2,sqrt(5),1,10000);
exa=mean(A);
exb=mean(B);
dxa=var(A);
dxb=var(B);

3、产生卡方分布的随机变量

(1) 产生自由度为2,数学期望为2,方差为 4 的中心 2 卡方分布随机变量的样本 10000 个,并画出直方图;

(1)实验程序:
A=chi2rnd(2,10000,1); hist(A,0:0.05:15);

(2) 产生自由度为2,数学期望为4,方差为12的非中心2卡方分布随机变量的样本10000个,并画出直方图;

实验程序:
B=ncx2rnd(2,2,10000,1); hist(B,0:0.05:25);

(3) 利用 mean()和 var()函数求上述随机变量的数学期望和方差,并与理论值比较;

实验程序:
A=chi2rnd(2,10000,1); exa=mean(A);
dxa=var(A); B=ncx2rnd(2,2,10000,1); exb=mean(B);
dxb=var(B);

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

实验程序:
x=-6:0.01:6;
y1=normpdf(x,0,2); y2=normcdf(x,0,2);
figure(1);
plot(x,y1);
xlabel(‘x’);
ylabel(‘f(x)’);
title(‘概率密度函数’);
figure(2);
plot(x,y2);
xlabel(‘x’);
ylabel(‘F(x)’);
title(‘概率分布函数’);

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

实验程序:
x=normrnd(5,sqrt(10),1000,1);
[f,xi]=ksdensity(x) ;
plot(xi,f);
title(‘概率密度函数’);

6、产生一组(0,1)均匀分布的白噪声序列,画出其自相关函数和功率谱密度。

实验程序:
x=rand(1,201);
[r1,lags]=xcorr(x);
figure(1);
plot(lags/200,r1);
title(‘(0,1)均匀分布白噪声的自相关函数’);
y=fft(r1);
y1=fftshift(y);
x1=(0:length(y1)-1)‘200/length(y1)-100; y2=abs(y1);
figure(2);
plot(x1,10
log(10*y2))
title(’(0,1)均匀分布白噪声的功率谱密度’);

7、产生一组服从 N ~(2,5)的正态白噪声序列,画出其自相关函数和功率谱密度

实验程序:
fs=1000;
N=2*fs;
x=normrnd(2,sqrt(5),1,N);
subplot(2,1,1);
R=xcorr(x,‘unbiased’);
plot®;
title(‘N (2,5)正态白噪声自相关函数’);
subplot(2,1,2);
periodogram(x,[],512,fs);
title(‘N (2,5)正态白噪声功率谱密度’);

8、估计随机过程X(t)= cos(100πt)+cos 200(πt)+N(t)的自相关函数和功率谱,其中 N(t)服从 N ~ (0,1)的高斯分布

实验程序:
fs=1000;
N=1000;
t=[0:N-1]/fs;
Xt=cos(100pit)+cos(200pit)+randn(1,N);
subplot(2,1,1);
R=xcorr(Xt,‘unbiased’);
plot®;
title(‘随机过程 x(t)的自相关函数’);
subplot(2,1,2);
Sx=abs(fft(Xt).^2)/N;
f=(0:N/2-1)/Nfs; plot(f,10log10(Sx(1:N/2)));
title(‘随机过程 x(t)的功率谱’)

9、随机相位信号X(t)= Acos(wt+φ),其中 A=2和w=1000π,φ是在(0,2π)上均匀分 布的随机的随机变量。估计该随机信号的自相关函数和功率谱密度。

实验程序:
A=2;
w=1000pi;
fs=1000;
N=fs;
t=[0:1/N:1-1/N];
p=2
pirand(1,N); Xt=Acos(wt+p);subplot(2,1,1);
R=xcorr(Xt,‘unbiased’);
plot®;
title(‘随机相位信号x(t)的自相关函数’);
subplot(2,1,2);
periodogram(Xt,[],2
fs,fs);
title(‘随机相位信号 x(t)的功率谱密度’)

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值