资源描述:
《随机信号分析大作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、随机信号分析大作业学院:电子工程学院学号:1.23设有随机初相信号X(t)=5cos(t+?),其中相位?是在区间(0,2?)上均匀分布的随机变量。试用Matlab编程产生其三个样本函数。Matlab代码:clc;clear%产生连续均匀分布在区间(0,2*pi)的随机数组fi=unifrnd(0,2*pi,1,3);fork=1:3fort=1:100x(k,t)=5*cos(0.025*pi*t+fi(k));endplot(x(k,:));holdon;endxlabel('t');ylabel('X(t)');gridon;axistight;title('随机初相信号的三条
2、样本曲线');结果:2.22利用Matlab程序设计一正弦信号加高斯白噪声的复合信号。1.分析复合信号的功率谱密度,幅度分布特性;2.分析复合信号通过RC积分电路后的功率谱密度和相应的幅度分布特性;3.分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性;(1)正弦信号的频率、采样信号的频率、信噪比分别设定为fc、fs、N,并利用awgn函数得出加入高斯白噪声的复合信号的波形。利用傅里叶变换得出复合信号的频谱特性,之后再利用xcorr函数得出复合信号的自相关系数,并通过自相关系数的傅里叶变换得到功率谱密度曲线图。Matlab代码:clear;clc;%正弦信号频率10Hzf
3、c=10;%采样信号频率100Hzfs=100;t=0:1/fs:2;n=2*fs+1;x=sin(2*pi*fc*t);%在某信号x中加入高斯白噪声y=awgn(x,2);%复合信号做傅里叶变换Fy=fft(y);%将零频点移到频谱的中间FY1=fftshift(Fy);f=(0:n-1)*fs/n-fs/2;plot(f,abs(FY1));title('复合信号的幅度分布特性');xlabel('w');ylabel('F(jw)');gridon;%C为复合信号的自相关函数(无偏估计)[R,a]=xcorr(y,'unbiased');%FY2对自相关函数求傅里叶变换,即功率
4、谱密度FY2=fft(R);FY3=fftshift(FY2);figure(2);plot(a*0.25,abs(FY3));title('复合信号的功率谱密度');xlabel('w');ylabel('G(w)');gridon结果:分析:复合信号的幅度谱和功率谱在各个频率上都有分量,80%以上的功率分布在正弦信号的频率附近。(2).复合信号通过RC电路时,可通过将复合信号和系统的冲击响应卷积得到输出电压,再利用(1)中的方法进行求解。Matlab代码:%采样信号频率,正弦信号频率fs=100;fc=20;R=10;C=0.05;%时常数T=1/(R*C);t=0:1/fs:2
5、;n=2*fs+1;%RC积分器的冲击响ht=exp(-T*t);x=sin(2*pi*fc*t);y=awgn(x,2);%复合信号通过RC电路后的信号,卷积求得uc=conv(ht,y);%求复合信号通过RC电路后的傅里叶变换,即求幅频特性Fuc=fftshift(fft(uc(n:2*n-1)));f=(0:n-1)*fs/n-fs/2;plot(f,abs(Fuc/(n-1)));title('复合信号通过RC积分电路后的幅度分布特性');xlabel('f/Hz');ylabel('F(f)');gridon;%求复合信号通过RC电路后的自相关函数[Ruc,a]=xcorr
6、(uc(n:2*n-1),'unbiased');%自相关函数求傅里叶变换,即功率谱密度Guc=fftshift(fft(Ruc));figure(2);plot(a*0.25,abs(Guc/(n-1)));title('复合信号通过RC积分电路后的功率谱密度分布');xlabel('f');ylabel('G(f)');分析:由于RC积分电路为低通滤波器,所以幅度和功率主要分布在低频段,在谐振频率点20Hz幅度和功率较大。在零频率点,幅度和功率达到最大值。(3)复合信号通过低通滤波电路时,利用fir1和fir1ter函数得出低通滤波后的信号,再利用(1)中的方法进行求解。Matl
7、ab代码clear;clc;fs=100;fc=10;t=0:1/fs:2;n=2*fs+1;x=sin(2*pi*fc*t);y=awgn(x,2);subplot(3,1,1);plot(t,y);title('复合信号的时域图');xlabel('t/s');ylabel('U');gridon;N=32;Wn=0.24;b=fir1(N,Wn);y0=filter(b,1,y);Fy1=fftshift(fft(y0));f=(0:n-1)*fs/