- 一、常用的随机信号分析函数(Matlab)
- 二.实例
一、常用的随机信号分析函数(Matlab)
1.独立同分布白噪声序列的产生
(1) (0,1)均匀分布的白噪声序列 rand()
用法:x=rand(m,n)
功能:产生 m×n 的均匀分布随机数矩阵,例如,x=rand(100,1),产生一个 100 个样本的
均匀分布白噪声列矢量。
b=rand(5,2)
(2) 正态分布白噪声序列 randn()
用法:x=randn(m,n)
功能:产生 m×n 的标准正态分布随机数矩阵,例如,x=randn(100,1),产生一个 100 个
样本的正态分布白噪声列矢量。
如果要产生服从 N(µ,σ2)分布的随机矢量,则可以通过标准正态随机矢量来产生,
MATLAB 的语句为: x=µ+σ.*randn(100,1)。
a=randn(5,2)
2.随机序列数字特征的估计
对于各态历经过程,我们可以通过对随机序列的一条样本函数来获得该过程的统计特性,利用 MATLAB 的统计分析函数我们可以分析随机序列的统计特性。在以下的介绍中,我们假定随机序列 X(n)和 Y(n)是各态历经过程,他们的样本分别为 x(n)和 y(n),其中 n=0,1,2,…N-1。
(1)均值函数 mean()
%用法
m=mean(x)
(2) 方差函数 var()
%用法
sigma2=var(x)
(3)互相关函数估计 xcorr
c = xcorr(x,y)
c = xcorr(x)
c = xcorr(x,y,'option')
c = xcorr(x,'option')
(4)功率谱估计Periodogram()
%功率谱密度估计方法很多,这里暂只介绍 Periodogram()函数。用法:
pxx = periodogram(x)
pxx = periodogram(x,window)
pxx = periodogram(x,window,nfft)
pxx = periodogram(x,window,nfft,fs)
periodogram(x,window,nfft,fs)
(5)概率密度估计ksdensity(),hist()
% ksdensity()函数直接估计随机序列概率密度的估计。用法:
[f,xi] = ksdensity(x)
f = ksdensity(x,xi)

hist(x)
hist(x,nbins) %将 x 有序划分入标量 nbins 所指定数量的 bin 中。
hist(x,xbins) %使用由向量 xbins 确定的间隔或类别将 x 有序划分入 bin 中。
3.函数
(1)normrnd()(产生正态分布随机数)
(2)pwelch()(求功率谱)
(3)fft()(快速傅里叶变换)
(4)normpdf()(正态概率密度函数)
(5)normcdf()(正态分布函数值)
(6)unifpdf()(均匀分布)
(7)unifcdf()
(8)raylpdf()(瑞利分布)
(9)raylcdf()
(10)exppdf() (指数分布)
(11)expcdf()
(12)chol()(Cholesky分解)
4.补充函数
| 函数名 | 调用形式 | 注 释 |
|---|---|---|
| Unifrnd | unifrnd ( A,B,m,n) | [A,B]上均匀分布(连续) 随机数 |
| Unidrnd | unidrnd(N,m,n) | 均匀分布(离散)随机数 |
| Exprnd | exprnd(Lambda,m,n) | 参数为Lambda的指数分布随机数 |
| Normrnd | normrnd(MU,SIGMA,m,n) | 参数为MU,SIGMA的正态分布随机数 |
| chi2rnd | chi2rnd(N,m,n) | 自由度为N的卡方分布随机数 |
| Trnd | trnd(N,m,n) | 自由度为N的t分布随机数 |
| Frnd | frnd(N1, N2,m,n) | 第一自由度为N1,第二自由度为N2的F分布随机数 |
| gamrnd | gamrnd(A, B,m,n) | 参数为A, B的分布随机数 |
| betarnd | betarnd(A, B,m,n) | 参数为A, B的分布随机数 |
| lognrnd | lognrnd(MU, SIGMA,m,n) | 参数为MU, SIGMA的对数正态分布随机数 |
| nbinrnd | nbinrnd(R, P,m,n) | 参数为R,P的负二项式分布随机数 |
| ncfrnd | ncfrnd(N1, N2, delta,m,n) | 参数为N1,N2,delta的非中心F分布随机数 |
| nctrnd | nctrnd(N, delta,m,n) | 参数为N,delta的非中心t分布随机数 |
| ncx2rnd | ncx2rnd(N, delta,m,n) | 参数为N,delta的非中心卡方分布随机数 |
| raylrnd | raylrnd(B,m,n) | 参数为B的瑞利分布随机数 |
| weibrnd | weibrnd(A, B,m,n) | 参数为A, B的韦伯分布随机数 |
| binornd | binornd(N,P,m,n) | 参数为N, p的二项分布随机数 |
| geornd | geornd(P,m,n) | 参数为 p的几何分布随机数 |
| hygernd | hygernd(M,K,N,m,n) | 参数为 M,K,N的超几何分布随机数 |
| Poissrnd | poissrnd(Lambda,m,n) | 参数为Lambda的泊松分布随机数 |
| 函数名 | 调用形式 | 注 释 |
|---|---|---|
| Unifpdf | unifpdf (x, a, b) | [a,b]上均匀分布(连续)概率密度在X=x处的函数值 |
| unidpdf | Unidpdf(x,n) | 均匀分布(离散)概率密度函数值 |
| Exppdf | exppdf(x, Lambda) | 参数为Lambda的指数分布概率密度函数值 |
| normpdf | normpdf(x, mu, sigma) | 参数为mu,sigma的正态分布概率密度函数值 |
| chi2pdf | chi2pdf(x, n) | 自由度为n的卡方分布概率密度函数值 |
| Tpdf | tpdf(x, n) | 自由度为n的t分布概率密度函数值 |
| Fpdf | fpdf(x, n1, n2) | 第一自由度为n1,第二自由度为n2的F分布概率密度函数值 |
| gampdf | gampdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| betapdf | betapdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| lognpdf | lognpdf(x, mu, sigma) | 参数为mu, sigma的对数正态分布概率密度函数值 |
| nbinpdf | nbinpdf(x, R, P) | 参数为R,P的负二项式分布概率密度函数值 |
| Ncfpdf | ncfpdf(x, n1, n2, delta) | 参数为n1,n2,delta的非中心F分布概率密度函数值 |
| Nctpdf | nctpdf(x, n, delta) | 参数为n,delta的非中心t分布概率密度函数值 |
| ncx2pdf | ncx2pdf(x, n, delta) | 参数为n,delta的非中心卡方分布概率密度函数值 |
| raylpdf | raylpdf(x, b) | 参数为b的瑞利分布概率密度函数值 |
| weibpdf | weibpdf(x, a, b) | 参数为a, b的韦伯分布概率密度函数值 |
| binopdf | binopdf(x,n,p) | 参数为n, p的二项分布的概率密度函数值 |
| geopdf | geopdf(x,p) | 参数为 p的几何分布的概率密度函数值 |
| hygepdf | hygepdf(x,M,K,N) | 参数为 M,K,N的超几何分布的概率密度函数值 |
| poisspdf | poisspdf(x,Lambda) | 参数为Lambda的泊松分布的概率密度函数值 |
| 函数名 | 调用形式 | 注 释 |
|---|---|---|
| Unifpdf | unifpdf (x, a, b) | [a,b]上均匀分布(连续)概率密度在X=x处的函数值 |
| unidpdf | Unidpdf(x,n) | 均匀分布(离散)概率密度函数值 |
| Exppdf | exppdf(x, Lambda) | 参数为Lambda的指数分布概率密度函数值 |
| normpdf | normpdf(x, mu, sigma) | 参数为mu,sigma的正态分布概率密度函数值 |
| chi2pdf | chi2pdf(x, n) | 自由度为n的卡方分布概率密度函数值 |
| Tpdf | tpdf(x, n) | 自由度为n的t分布概率密度函数值 |
| Fpdf | fpdf(x, n1, n2) | 第一自由度为n1,第二自由度为n2的F分布概率密度函数值 |
| gampdf | gampdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| betapdf | betapdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| lognpdf | lognpdf(x, mu, sigma) | 参数为mu, sigma的对数正态分布概率密度函数值 |
| nbinpdf | nbinpdf(x, R, P) | 参数为R,P的负二项式分布概率密度函数值 |
| Ncfpdf | ncfpdf(x, n1, n2, delta) | 参数为n1,n2,delta的非中心F分布概率密度函数值 |
| Nctpdf | nctpdf(x, n, delta) | 参数为n,delta的非中心t分布概率密度函数值 |
| ncx2pdf | ncx2pdf(x, n, delta) | 参数为n,delta的非中心卡方分布概率密度函数值 |
| raylpdf | raylpdf(x, b) | 参数为b的瑞利分布概率密度函数值 |
| weibpdf | weibpdf(x, a, b) | 参数为a, b的韦伯分布概率密度函数值 |
| binopdf | binopdf(x,n,p) | 参数为n, p的二项分布的概率密度函数值 |
| geopdf | geopdf(x,p) | 参数为 p的几何分布的概率密度函数值 |
| hygepdf | hygepdf(x,M,K,N) | 参数为 M,K,N的超几何分布的概率密度函数值 |
| poisspdf | poisspdf(x,Lambda) | 参数为Lambda的泊松分布的概率密度函数值 |
| 函数名 | 调用形式 | 注 释 |
|---|---|---|
| Unifpdf | unifpdf (x, a, b) | [a,b]上均匀分布(连续)概率密度在X=x处的函数值 |
| unidpdf | Unidpdf(x,n) | 均匀分布(离散)概率密度函数值 |
| Exppdf | exppdf(x, Lambda) | 参数为Lambda的指数分布概率密度函数值 |
| normpdf | normpdf(x, mu, sigma) | 参数为mu,sigma的正态分布概率密度函数值 |
| chi2pdf | chi2pdf(x, n) | 自由度为n的卡方分布概率密度函数值 |
| Tpdf | tpdf(x, n) | 自由度为n的t分布概率密度函数值 |
| Fpdf | fpdf(x, n1, n2) | 第一自由度为n1,第二自由度为n2的F分布概率密度函数值 |
| gampdf | gampdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| betapdf | betapdf(x, a, b) | 参数为a, b的分布概率密度函数值 |
| lognpdf | lognpdf(x, mu, sigma) | 参数为mu, sigma的对数正态分布概率密度函数值 |
| nbinpdf | nbinpdf(x, R, P) | 参数为R,P的负二项式分布概率密度函数值 |
| Ncfpdf | ncfpdf(x, n1, n2, delta) | 参数为n1,n2,delta的非中心F分布概率密度函数值 |
| Nctpdf | nctpdf(x, n, delta) | 参数为n,delta的非中心t分布概率密度函数值 |
| ncx2pdf | ncx2pdf(x, n, delta) | 参数为n,delta的非中心卡方分布概率密度函数值 |
| raylpdf | raylpdf(x, b) | 参数为b的瑞利分布概率密度函数值 |
| weibpdf | weibpdf(x, a, b) | 参数为a, b的韦伯分布概率密度函数值 |
| binopdf | binopdf(x,n,p) | 参数为n, p的二项分布的概率密度函数值 |
| geopdf | geopdf(x,p) | 参数为 p的几何分布的概率密度函数值 |
| hygepdf | hygepdf(x,M,K,N) | 参数为 M,K,N的超几何分布的概率密度函数值 |
| poisspdf | poisspdf(x,Lambda) | 参数为Lambda的泊松分布的概率密度函数值 |
二.实例
1.产生高斯随机变量
(1) 产生数学期望为0,方差为1的高斯随机变量的样本10000个,画出直方图;
x=normrnd(0,1,1,10000);
histogram(x,100);
(2) 产生数学期望为2,方差为5的高斯随机变量的样本10000个,画出直方图;
x=normrnd(2, 2.236,1,10000);
histogram(x,100);
(3)利用mean()和var()函数求上述随机变量的数学期望和方差,并与理论值比较。
x=normrnd(0,1,1,10000);
y=normrnd(2, 2.236,1,10000)
u1=mean(x)
o1=var(x)
u2=mean(y)
o2=var(y)
2.产生分布的随机变量
(1) 产生自由度为2,数学期望为2,方差为4的中心c 2分布随机变量的样本10000个,并画出直方图;
(2) 产生自由度为 2,数学期望为 4,方差为 12 的非中心c 2分布随机变量的样本10000 个,并画出直方图;
y=ncx2rnd(2,2,1,10000); % 产生非中心卡方分布
hist(y,100)
(3) 利用mean()和var()函数求上述随机变量的数学期望和方差,并与理论值较;
x1=normrnd(0,1,1,10000);
x2=normrnd(0,1,1,10000);
x3=normrnd(1,1,1,10000);
x4=normrnd(1,1,1,10000);
y1 = x1.^2 + x2.^2;
y2 = x3.^2 + x4.^2;
histogram(y2,100);
u1=mean(y1)
o1=var(y1)
u2=mean(y2)
o2=var(y2)
3.利用Matlab 现有pdf 和cdf 函数,画出均值为零、方差为4 的高斯随机变量的概率密度
x=-5:0.1:5;
y = cdf('normal',x,0,2);
plot(x,y)
figure
x=-5:0.1:5;
y = pdf('normal',x,0,2);
plot(x,y)
4.产生长度为1000 数学期望为5,方差为10 的高斯随机序列,并根据该序列值画出其概率密度曲线。(不使用pdf 函数)
x=normrnd(5,10^0.5,1,100000);
histogram(x,100)
5.产生一组(0,1)均匀分布的白噪声序列,画出其自相关函数和功率谱密度。
x=rand(1,300);
r=xcorr(x);
figure
plot(y,r);
figure
periodogram(x);
6.产生一组服从N ~ (2,5)的正态白噪声序列,画出其自相关函数和功率谱密度。
x = normrnd(2,10,1000,1);
periodogram(x)
figure
r=xcorr(x);
plot(r)
7.产生一组服从N ~ (2,5)的正态白噪声序列,画出其自相关函数和功率谱密度。
x=normrnd(2,5^0.5,100,1);
periodogram(x)
figure
r=xcorr(x);
plot(r)
title("N(2,5)的正态白噪声序列的自相关函数")

N=1024;fs=1000;
t=(0:N-1)/fs;
xn=cos(2*pi*50*t)+cos(2*pi*100*t)+randn(1,N);
Sx=abs(fft(xn).^2)/N;
f=(0:N/2-1)*fs/N;
plot(f,10*log10(Sx(1:N/2)));
figure
r=xcorr(Sx);
plot(r)

Fs=1000;
T=1/Fs;
L=1000;
t=(0:L-1)*T;
xi=2*cos(1000*pi*t+2*pi*rand(1,1000))
figure(1)
plot(xi)
y=xcorr(xi,'coeff')
figure(2)
plot(y)
[z,f]=periodogram(xi)
figure(3)
plot(f,10*log(z))


% 产生5*2 的均匀分布随机数矩阵
% 产生5*2 的标准正态分布随机数矩阵
