资源描述:
《随机信号分析试验(4)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、疏机信号今祈试琀1.编写程序,对均值为0方差为1的平稳髙斯随机过程样本进行希尔伯特变换,绘制变换前后的概率密度直方图。注:z=hilbert(x)返回解析信号x+.jH(x),所以imag(z)为x的希尔伯特变换clc;clearall;closeall;N=20000;x=random(,normar,0,l,l,N);xt=imag(hilbert(x));n=-4:0.1:4;subplot(2,l,l)hist(x,n)subplot(2,l,2)hist(xt,n)2.编写Matlab函数,产生一个采样频率为fs中心频率为fO带宽为的窄带随机信号样本。注:函数他0'0帅811(^8
2、1131(1^,0),(1611(>4^,1^1)产生窄带随机过程样本。N:长度,IX):单边功率谱中心频率,delta:带宽,fs:采样频率,M:产生窄带信号的滤波器阶数。(M«N)functionX=Narrowbandsignal(N,fO,deltf,fs,M)N1=N-M;xt=random(’normal’,0,l,l,Nl);fl=f0*2/fs;dfl=deltf/fs;ht=firl(M,[fl-dfl,fl+dflD;X=conv(xt,ht);t=(l:N)/fs;plot(t,X)xlabelf时间(s)’);ylabel(•窄带随机信号样本X’);运行结果:x=Na
3、rrowbandsignal(l000,2,0.5,10,20)3.编写Matlab函数,求采样频率为fs中心频率为fO的窄带随机过程X(t)的低频过程Ac(t)和As⑴的样本。注:函数Lowfsignal(X,fO,fs)产生Ac和As样本functionfAc,As]=Lowfsignal(X,fO,fs)HX=imag(hilbert(X));[M,N]=size(X);fori=l:l:Mt(i,:)=(0:N-l)/fs;endAc=X.*cos(2*pi*fO*t)+HX.*sin(2*pi*fO*t);As=HX.*cos(2*pi*fO*t)-X.*sin(2*pi*fO*t
4、);subplot(2,l,l);plot(t,Ac(l,:));xlabelf时间(s)’);ylabelf窄带低频过程Ac');subplot(2,l,2);plot(t,As(l,:));xlabelC时间(s)’);ylabel(*窄带低频过程As’);运行结果:[Ac,As]=Lowfsignal(rand(10,100),0J,20)1.编写Matlab程序,对f0=10kHz,带宽500Hz的窄带髙斯过程X⑴及低频过程Ac(t),As(t)的功率谱密度进行估计,其中fs=22kHz,采样点数N=10000,滤波器阶数M=200。clc;clearall;closeall;N=1
5、0000;f0=10000;deltf=500;fs=22000;M=200;X=Narrowbandsignal(N,fO,deltf,fs,M);[Ac,As]=Lowfsignal(X,fO,fs);Rx=xcorr(X,’biased’);Rac=xcorr(Ac,’biased’);Ras=xcorr(As,'biased*);Rxw=abs(fft(Rx));Racw=abs(fft(Rac));Rasw=abs(fft(Ras));f=(l:N)/N*fs/2;subplot(3,l,l)plot(f,10*logl0(Rxw(l:N)));axis([l,N,-120,20]
6、);subplot(3,l,2)plot(f,10*loglO(Racw(l:N)));axis([l,N,-120,20]);subplot(3,l,3)plot(f,10*logl0(Rasw(l:N)));axis([l,N,-120,20]);2.编写Matlab函数,建立采样频率fs,中心频率FO的窄带随机过程X⑴的包络A(t),相位和包络的平方样本。注:函数EnvelopPhase(X,fO,fs),用来产生At,Ph,A2.function[At,Ph,A2]=EnvelopPhase(X,fO,fs)HX=imag(hilbert(X));[M,N]=size(X);fori
7、=l:l:Mt(i,:)=(0:N-l)/fs;endAc=X.*cos(2*pi*fO*t)+HX.*sin(l*pi*fO*t);As=HX.*cos(2*pi*fO*t)-X.*sin(2*pi*fO*t);At=(Ac.A2+As.A2).A0.5;Ph=atan(As./Ac);A2=At.A2;subplot(3,l,l);plot(t,At(l,:));xlabelC时间(sV);ylabel(