有需要的朋友可以下载
随机信号分析实验报告
实验一 新建函数GaussNum: function [ y ] = GaussNum(N,Mean,Variance ) y=zeros(1,N) %将Y初始化为全零数组 for k=1:12 %产生12个相互独立均匀分布的随机数 x=rand(1,N) y=y+x end y=Variance*(y-6)+Mean; %根据近似累加法进行运算 主程序: >> clear y= GaussNum(100,1,2) %调用函数GaussNum >> max(y) %求最大值 ans = 4.7050 >> min(y) %求最小值 ans = -5.4935 >> mean(y) %求均值 ans = 0.9750 >> var(y) %求方差 ans = 3.8814 >> plot(y) 结果: 观察运行结果可知,产生的100个随机数的均值为0.9750,方差为3.8814,与理论值均值为1,方差为4比较接近。故程序较理想的产生了均值为1,方差为4的高斯随机数
实验二 N=10000; Ts=0.001; >> sigma=2; >> beta=2; >> a=exp(-beta*Ts); >> b=sigma*sqrt(1-a*a); >> w=normrnd(0,1,[1,N]); >> x=zeros(1,N); >> x(1)=sigma*w(1); >> for i=2:N x(i)=a*x(i-1)+b*w(i); end Rxx=xcorr(x)/N; %计算自相关函数 m=[-N+1:N-1]; Rxx0=(sigma^2)*exp(-beta*abs(m*Ts)); Plot(m*Ts,Rxx0,’b’ ,m*Ts,Rxx,’r’);
Sx=abs(fft(Rxx)); %将Rxx进行 fft得到功率谱 fs=Ts/(2*pi); f=(0:N-1)*fs/N/2; Sx0=abs(fft(Rxx0)); plot(f,10*log10(Sx(1:N)),'b',f,10*log10(Sx0(1:N)),'r'); 运行结果: 自相关函数 功率谱图 分析结果图可知,程序产生的平稳高斯过程的自相关函数和功率谱密度与理论值比较接近,可以用于该函数仿真。
实验三 定义产生窄带随机过程的函数Narrowbandsignal: function X=Narrowbandsignal(N,f0,deltf,fs,M) N1=N-M; xt=random('norm',0,1,[1,N1]); f1=f0*2/fs; df1=deltf/fs; ht=fir1(M,[f1-df1 f1+df1]); X=conv(xt,ht); Return 定义EnvelopPhase函数产生包络、相位、包络平方: function [ At Ph A2 ] =EnvelopPhase( X,f0,fs ) HX=imag(hilbert(X)); [M N]=size(X); t=0:1/fs:((N-1)/fs); Ac=X.*cos(2*pi*f0*t)+HX.*sin(2*pi*f0*t); As=HX.*cos(2*pi*f0*t)-X.*sin(2*pi*f0*t); Ph=atan(As./Ac); A2=Ac.*Ac+As.*As; At=sqrt(A2) end 主程序: >> N=10000;f0=10000;deltf=400;fs=22000;M=50; %参数设置 a1=2;a2=4;a3=8; sit1=pi/6;sit2=pi/4;sit3=pi/3; X=Narrowbandsignal(N,f0,deltf,fs,M); %调用产生窄带随机信号的函数 X=X/sqrt(var(X)); %高斯过程样本归一化处理 t=0:1/fs:((N-1)/fs); X1=X+a1*cos(2*pi*f0*t+sit1); %情况1 X2=X+a2*cos(2*pi*f0*t+sit2); %情况2 X3=X+a3*cos(2*pi*f0*t+sit3); %情况3 [At1 Ph1 A21]=EnvelopPhase(X1,f0,fs); %调用产生包络、相位、包络平方的函数 [At2 Ph2 A22]=EnvelopPhase(X2,f0,fs); [At3 Ph3 A23]=EnvelopPhase(X3,f0,fs); LA=0:0.4:12; GA1=hist(At1,LA); %包络的分布直方图 GA2=hist(At2,LA); GA3=hist(At3,LA); plot(LA,GA1,'--',LA,GA2,'-',LA,GA3,'-'); figure LP=-pi/2:0.05:pi/2; GP1=hist((Ph1-sit1),LP); %相位的分布直方图 GP2=hist((Ph2-sit2),LP); GP3=hist((Ph3-sit3),LP); plot (LP,GP1,'--',LP,GP2,'-',LP,GP3,'-'); figure LA2=0:1:120; GA21=hist(A21,LA2); %包络平方的分布直方图 GA22=hist(A22,LA2); GA23=hist(A23,LA2); plot (LA2,GA21,'--',LA2,GA22,'-',LA2,GA23,'-'); 包络 相位 包络平方
完整的Word格式文档51黑下载地址:
matlab.docx
(173.76 KB, 下载次数: 13)
|