《随机信号处理》课程设计.docx
- 文档编号:25735490
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:26
- 大小:231.88KB
《随机信号处理》课程设计.docx
《《随机信号处理》课程设计.docx》由会员分享,可在线阅读,更多相关《《随机信号处理》课程设计.docx(26页珍藏版)》请在冰豆网上搜索。
《随机信号处理》课程设计
《随机信号处理》课程设计
————————————————————————————————作者:
————————————————————————————————日期:
华北水利水电大学
随机信号处理上机实验报告
学院:
数学与信息科学
专业:
信息与计算科学
姓名:
孙志攀
学号:
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([mn])生成m×n随机矩阵
(4)Y=rand(m,n,p,…)生成m×n×p×…随机矩阵或数组
(5)Y=rand([mnp…])生成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([mn])产生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.11391.90440.6638
4.18323.06681.16772.7143
1.86362.05932.29443.6236
4.mean()
(1)M=mean(A)如果A是一个向量,则返回A的均值。
如果A是一个矩阵,则把A的每一列看成一个矩阵,返回一个均值(每一列的均值)行矩阵
(2)M=mean(A,dim)返回由标量dim标定的那个维度的平均值。
如(A,2)是一个列向量,包含着A中每一行的均值。
选择
(2)作为例子,运行结果如下:
>>A=[223;346;458;397];M=mean(A,2)
M=
2.3333
4.3333
5.6667
6.3333
5.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=
00.25001.00002.25004.0000
6.xcorr()
计算互相关
(1)c=xcorr(x,y)计算x,y的互相关
(2)c=xcorr(x)计算x的自相关
选择
(2)作为例子,运行结果如下:
>>x=normrnd(3,1,3,4);c=xcorr(x)
c=
Columns1through6
5.73225.59049.421110.11064.65264.5375
18.139115.098423.309923.723114.300911.8433
26.515121.228525.149427.203921.228517.1356
18.139114.300913.347615.583215.098411.8433
5.73224.65263.07914.31455.59044.5375
Columns7through12
7.64678.20643.07913.00295.06065.4310
18.226418.511013.347611.625118.444519.1000
20.410222.172725.149420.410227.346428.6498
11.625113.246823.309918.226418.444520.7174
3.00294.20789.42117.64675.06067.0910
Columns13through16
4.31454.20787.09107.6100
15.583213.246820.717421.2606
27.203922.172728.649830.4723
23.723118.511019.100021.2606
10.11068.20645.43107.6100
7.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.0392i
9.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.84130.97720.99871.0000
11.unifpdf()
求连续均匀分布的概率密度函数值
Y=unifpdf(X,A,B)对每一个X中的值返回参数为A,B的均匀分布函数值
运行结果如下:
>>x=1:
0.1:
3;
y=unifpdf(x,1,2)
y=
Columns1through10
1111111111
Columns11through20
1000000000
Column21
0
12.unifcdf()
求连续均匀分布的概率分布函数值
P=unifcdf(X,A,B)对每一个X中的值返回参数为A,B的均匀分布累计分布函数值
运行结果如下:
>>y=unifcdf(0.5,-1,1)
y=
0.7500
13.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.11160.12260.11810.10980.1011
16.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=
1111
0123
0013
0001
18.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为积分的上下限
运行结果如下:
>>symsx;int(x)
ans=
1/2*x^2
2、产生高斯随机变量
(1)产生数学期望为0,方差为1的高斯随机变量;
(2)产生数学期望为5,方差为10的高斯随机变量;
(3)利用计算机求上述随机变量的100个样本的数学期望和方差,并与理论值比较;
解:
(1)randn(3,4)
ans=
0.95720.14190.79220.0357
0.48540.42180.95950.8491
0.80030.91570.65570.9340
(2)normrnd(5,10,3,4)
ans=
27.43305.002914.636515.8360
13.54326.97607.015014.1185
-4.32047.9095-3.62091.6324
(3)若x=randn(1,100)
y=mean(x)
z=var(x,1)
经matlab运行后得到:
y=
-0.0102
z=
1.0122
计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是0和1。
若x=normrnd(5,10,100,1)
y=mean(x)
z=var(x)
经matlab运行后得到:
y=
5.5078
z=
107.2761
计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是5和100。
3、产生
分布的随机变量
(1)产生自由度为2,数学期望为2,方差为4的具有中心
分布的随机变量;
(2)产生自由度为2,数学期望为4,方差为12的具有非中心
分布的随机变量;
(3)利用计算机求上述随机变量的100个样本的数学期望和方差,并与理论值比较;
解:
(1)由于n=2,
所以x=randn(1,2)
y=x.^2
z=y
(1)+y
(2)
经matlab运行后得到
x=
-0.54560.1972
y=
0.29770.0389
z=
0.3366
(2)由于n=2,令σ2=1,mi=1,得到λ=2,则my=4,σ2y=12。
x=normrnd(1,1,1,2)
y=x.^2
z=y
(1)+y
(2)
经matlab运行输出后得到:
x=
1.37611.7455
y=
1.89383.0469
z=
4.9407
(3)若fori=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.9412
b=
3.3067
计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是2和4。
若fori=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=
4.0590
b=
11.6785
计算结果中均值与方差均为随机变量,经多次运算,均值与方差均变化较大,但他们分别得期望可以认为是4和12。
也可以用chi2rnd(x,m,n)、chi2cdf(x,n)、chi2pdf(x,n)等函数产生。
4、利用Matlab现有pdf和cdf函数,画出均值为零、方差为4的高斯随机变量的概率密度曲线和概率分布曲线。
解:
x=-8:
0.1:
8;
y=normpdf(x,0,2);
plot(x,y);
title(‘均值为0,方差为4的高斯随机变量的概率密度曲线’)
x=-8:
0.1:
8;
y=normcdf(x,0,2);
plot(x,y);
title(‘均值为0,方差为4的高斯随机变量的概率分布曲线’)
5、产生长度为1000数学期望为5,方差为10的高斯随机序列,并根据该序列值画出其概率密度曲线。
(不使用pdf函数)
解:
clc
clear
R=normrnd(5,sqrt(10),1000,1);
[Ys]=ksdensity(R);
plot(s,Y)
经matlab运行输出后得到:
由图可知高斯分布且均值在5处。
6、利用Matlab求随机变量的统计特性
解:
仿照例1,编写如下程序:
symsAxy;
f=A*exp(-(2*x+y));
C=int(int(f,x,0,inf),y,0,inf);%求待定系数A
P=int(int(f,x,2,inf),y,1,inf);%求概率密度P
fx=int(f,y,0,inf);%求边缘分布fx
fy=int(f,x,0,inf);%求边缘分布fy
经matlab运行后,结果如下:
(1)C=
1/2*A,由于C=1,故A=2。
(2)P=
1/2*A*exp(-4)*exp(-1)=exp(-5)。
(3)fx=
A*exp(-2*x)=2*exp(-2*x)。
(4)fy=
1/2*A*exp(-y)=exp(-y)。
求Y=X²的数学期望和方差。
解:
仿照例题,编写matlab语句如下:
symsx;
fx=0.5*exp(-x);
f0=x^2*fx;
E=2*int(f0,x,0,inf);%计算均值。
f1=x^4*fx;
EY2=2*int(f1,x,0,inf);
DY=EY2-E^2;%计算方差。
经matlab运行后,输出结果:
E=
2
DY=
20
实验二
1.产生一组(0,1)均匀分布的白噪声序列,画出其自相关函数和功率谱密度;
程序:
Fs=1000;
n=2*Fs;
x=rand(1,n)
subplot(2,1,1);
R=xcorr(x,'unbiased');
plot(R);
title('均匀分布白噪声序列自相关函数');
subplot(2,1,2);
periodogram(x,[],512,Fs)
title('均匀分布白噪声序列功率谱密度
结果:
2.产生一组服从N~(2,5)的正态白噪声序列,画出其自相关函数和功率谱密度;
程序:
clc,clearall,closeall;
Fs=1000;
N=2*Fs;
x=normrnd(2,sqrt(5),1,N);
subplot(2,1,1);
R=xcorr(x,'unbiased');
plot(R);
title('N~(2,5)正态白噪声自相关函数');
subplot(2,1,2);
periodogram(x,[],512,Fs)
title('N~(2,5)正态白噪声功率谱密度');
结果:
3.估计随机过程X(t)=cos(100*pi*t)+cos(200*pi*t)+N(t)的自相关函数和功率谱,其中N(t)服从N~(0,1)的高斯分布。
程序:
clc,clearall,closeall;
Fs=1000;
N=2*Fs;
t=[0:
1/N:
1-1/N];
Nt=randn(1,N);
Xt=cos(100*pi*t)+cos(200*pi*t)+Nt;
subplot(2,1,1);
R=xcorr(Xt,'unbiased');
plot(R);
title('随机过程x(t)自相关函数');
subplot(2,1,2);
periodogram(Xt,[],512,Fs);
axis([0,0.5,-inf,inf])
title('随机过程x(t)的功率谱');
结果:
4、随机相位信号X(t)=Acos(wt+p)其中A=2,是在w=1000*pi,p是在(0,2*pi)上均匀分布的随机变量。
估计该随机信号的自相关函数和功率谱密度。
程序:
clc,clearall,closeall;
A=2;
w=1000*pi;
Fs=1000;
N=Fs;
t=[0:
1/N:
1-1/N];
p=2*pi*rand(1,N);
Xt=A*cos(w*t+p);
subplot(2,1,1);
R=xcorr(Xt,'unbiased');
plot(R);
title('随机相位信号x(t)自相关函数');
subplot(2,1,2);
periodogram(Xt,[],2*Fs,Fs);
title('随机相位信号x(t)功率谱密度');
结果:
5、随机过程通过线性系统分析
根据随机信号课程中的知识,任意分布的白噪声通过有限带宽的线性系统后的输出是服从高斯分布的;宽带白噪声通过窄带系统输出也近似服从高斯分布。
本实验的目的就是要验证以上结论。
假定滤波器为RC低通滤波器,如右图所示:
(1)将低通滤波器转换成数字低通滤波器;
(2)产生一组均匀分布的白噪声序列,让这组白噪声序列通过该滤波器,画出输出序列的直方图,并与输出的理论分布进行比较;
(3)改变RC的参数,重做
(1)~
(2),并与前一次的结果进行比较
程序:
clc,clearall,closeall;
J=sqrt(-1);
R=[1,0.01];C=0.05;
N=1000;
b=[0,1];a=[J*R*C,1];
td=0:
pi/N:
pi-pi/N;
[bzaz]=impinvar(b,a,N);
Hd=freqz(bz,az,td);
figure
(1);
plot(td,abs(Hd));
axis([0,0.2,-inf,inf])
title('数字低通滤波器的幅度普');
J=sqrt(-1);
R=[1,0.01];C=0.05;N=1000;
x=rand(1,N);
forI=1:
2
ta=0:
pi/N:
pi/256-pi/N;
ha=1/(R(I)*C)*exp(-1/(R(I)*C)*ta);
y=conv(x,ha);
figure
(2);
subplot(2,1,I);
hist(y);
title('宽带噪声经过R=[1,0.01]C=0.05'滤波输出直方图);
end
结果:
程序:
clc,clearall,closeall;
J=sqrt(-1);
R=[4,0.3];C=0.0001;
N=1000;
b=[0,1];a=[J*R*C,1];
td=0:
pi/N:
pi-pi/N;
[bzaz]=impinvar(b,a,N);
Hd=freqz(bz,az,td);
figure
(1);
plot(td,abs(Hd));
axis([0,0.2,-inf,inf])
title('更改之后数字低通幅度普');
J=sqrt(-1);
R=[6,0.5];C=1;
N=1000;
x=rand(1,N);
forI=1:
2
ta=0:
pi/N:
pi/256-pi/N;
ha=1/(R(I)*C)*exp(-1/(R(I)*C)*ta);
y=conv(x,ha);
figure
(2);
subplot(2,1,I);
hist(y);
title('更改之后噪声经过R=[6,0.5];C=1直方图');
end
结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 随机信号处理 随机 信号 处理 课程设计