《随机信号分析》试验报告班级1302503学号学生《随机信号分析》实验报告实验二一、实验目的:练习使用Matlab 的函数分析随机信号二、实验内容:1、产生一组(0,1)均匀分布的白噪声序列,画出其自相关函数和功率谱密度;程序如下:clc;clear all;close all;X=rand(1,1000)R=xcorr(X,'coeff'); %'coeff'实现归一化periodogram(X,[],512,1000);figure(1)plot(R,'r');figure(2)periodogram(X)图像如下:2、产生一组服从N~(2,5 )的正态白噪声序列,画出其自相关函数和功率谱密度;程序如下:clc;clear all;close all;X=normrnd(2,sqrt(5),[1 1000]);R=xcorr(X,'coeff'); %'coeff'实现归一化[pxx w]=periodogram(X);figure(1)plot(R,'r');figure(2)periodogram(X)图像如下:3、估计随机过程X(t)=cos(600*pi*t)+cos(640*pi*t)+N(t)的自相关函数和功率谱,其中N(t) 服从N~(0,1) 的高斯分布。
程序如下:clc;clear all;close all;Fs=1000;T=1/Fs;L=1000;t=(0:L-1)*T; %在(0,1)内取1000个采样点X=cos(100*pi*t)+cos(200*pi*t)+randn(size(t));R=xcorr(X,'coeff'); %归一化[pxx w]=periodogram(X);figure(1)plot(R,'r');figure(2)periodogram(X)图像如下:4、随机相位信号X(t)=A cos(wt+Ψ),其中A=2 和w=1000*pi ,Ψ是在( 0, 2π) 上均匀分布的随机变量。
估计该随机信号的自相关函数和功率谱密度。
程序如下:clc;clear all;close all;Fs=1000;T=1/Fs;L=1000;t=(0:L-1)*T;w=1000*pi;A=2;Y=2*pi*rand(1,1000);X=A*cos(w*t+Y);R=xcorr(X,'coeff'); %归一化[pxx w]=periodogram(X);figure(1)plot(R,'r');figure(2)periodogram(X)图像如下:5、随机过程通过线性系统分析根据随机信号课程中的知识,任意分布的白噪声通过有限带宽的线性系统后的输出是服从高斯分布的;宽带白噪声通过窄带系统输出也近似服从高斯分布。
本实验的目的就是要验证以上结论。
假定滤波器为RC 低通滤波器,如右图所示:(1)将低通滤波器转换成数字低通滤波器;(2)产生一组均匀分布的白噪声序列,让这组白噪声序列通过该滤波器,画出输出序列的直方图,并与输出的理论分布进行比较;(3)改变RC 的参数,重做(1)~(2),并与前一次的结果进行比较。
程序如下:syms R C w;J=sqrt(-1);s=J*w;H=(1/(s*C))/(R+(1/s*C));disp(H) %数字滤波器传递函数%-----------------------------------------------------------clc;clear all;close all;X=rand(1,1000);[f xi]=ksdensity(X);figure(1)plot(xi,f);R=[1,0.05]; C=0.05;N=1000;t=0:pi/N:pi/256-pi/N;H=1/(R(1)*C)*exp(-1/(R(1)*C)*t); %系统传递函数(时域)y=conv(X,H);figure(2)subplot(2,1,1)hist(y);title('白噪声经过R=1,C=0.05 滤波器输出直方图');t=0:pi/N:pi/256-pi/N;H=1/(R(2)*C)*exp(-1/(R(2)*C)*t);y=conv(X,H);figure(2)subplot(2,1,2)hist(y);title('白噪声经过R=0.05,C=0.05 滤波器输出直方图');图像如下:%------------------------------------------------%绘制数字滤波器频率响应曲线clc;clear all;close all;J=sqrt(-1); %H(t)=1/(R*C)*exp(-1/(R*C)*t)R=[1 0.01]; C=0.05;Fs=1000;b=[0,1];a=[J*R*C,1]; %a为分母的系数,b为分子的系数td=0:pi/Fs:pi-pi/Fs;[bz az]=impinvar(b,a,Fs); %模拟数字滤波器转换的脉冲响应不变法Hd=freqz(bz,az,td); %求滤波器的频率响应figure(1);plot(td,abs(Hd)); %窄带系统幅度谱axis([0,0.15,-inf,inf])title('数字滤波器的幅度谱');图像如下:6、窄带随机过程的产生模拟产生一个窄带随机过程,首先产生两个互相独立的随机过程Ac(t)和As(t)并将用两个正交载波cos2*π*f0*t和sin2*π*f0*t进行调制,如下图所示,然后进行抽样得到窄带随机过程的抽样。
低通过程Ac(t)和As(t)的抽样是通过将两个独立的白噪声序列通过两个相同的低通滤波器产生的,分别得到Ac(t)和As(t)的抽样Ac(n)和As(n),低通滤波器的传递函数选择为:然后将Ac(n)乘以cos2*π*f0*n*T,As(n)乘以sin2*π*f0*n*T,再通过相减得到窄带随机过程的抽样值,其中T 为抽样间隔,假定T =1 ,f0=1000/π。
估计窄带随机过程的自相关函数和功率谱,并绘出图形。
程序如下:Ac=200*randn(1,1000);As=200*randn(1,1000);figure(1);subplot(211);periodogram(Ac,[],512,1000);title('Ac的功率谱密度');subplot(212);periodogram(As,[],512,1000);title('As的功率谱密度');n=0:1:1100;J=sqrt(-1);h=(0.9).^n;w=0:0.1:pi;for m=1:length(w)H(m)=10*log(1/(1-0.9*exp(J*w(m))));endfigure(2);plot(w,abs(H));title('H(jw)的频率响应');xlabel('w');ylabel('|H(jw)|dB');Ac_n=conv(Ac,h);As_n=conv(As,h);Ac_n=Ac_n(1:1100); %卷积后只取前1100个离散值As_n=As_n(1:1100);figure(3);subplot(211);periodogram(Ac_n,[],512,1100);title('Ac_n的功率谱密度');subplot(212);periodogram(As_n,[],512,1100);title('As_n的功率谱密度');n1=0:1:1099;x=Ac_n.*cos(2*pi*1000/pi.*n1)-As_n.*sin(2*pi*1000/pi.*n1); figure(4);R=xcorr(x,'coeff');plot(R,'r');title('窄带随机过程的自相关函数R');figure(5);periodogram(x,[],512,1100);title('窄带随机过程的功率谱密度');图像如下:程序如下:syms xfx=0.5*exp(-x);f=x^2*fx;E=2*int(f,x,0,inf) %计算均值f1=x^4*fx;EY2=2*int(f1,x,0,inf)DY=EY2-E^2 %计算方差>>E =2EY2 =24DY =20三、实验结论通过实验了解了有关的Matlab 的函数分析随机信号的方法,明确了各函数的功能和内部参数的意义,学会了使用Matlab 产生均匀分布随机变量的语句,利用Matlab 现有xcorr和periodogram函数画出其自相关函数和功率谱密度。