随机信号分析大作业
随机信号分析大作业
学院:电子工程学院
班级:1302041
姓名:杜敏刚
学号:130********
一.设有随机初相信号X(t)=5cos(t+),其中相位是在区间(0,2)上均匀分布的随机变量。试用Matlab编程产生其三个样本函数。解:MATLAB代码如下:
clc;
clear;
a=unifrnd(0,2*pi,1,10);
t=0:0.1:10;
for j=1:3
x=5*cos(t+a(j));
plot(t,x);
hold on
end
xlabel('t');
ylabel('x(t)');
grid on;
axis tight;
三个样本函数图:
二、利用Matlab 程序设计一正弦信号加高斯白噪声的复合信号。
1. 分析复合信号的功率谱密度,幅度分布特性;
2. 分析复合信号通过RC 积分电路后的功率谱密度和相应的幅度分布特性;
3. 分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性;
解:Ⅰ问题分析:
1).正弦信号的频率、采样信号的频率、信噪比分别设定为fc、fs、N,并利用awgn函数得出加入高斯白噪声的复合信号的波形,通过画出幅度的分布直方图得出幅度分布的初步特性。并利用傅里叶变换得出复合信号的频谱特性,之后再利用xcorr函数得出复合信号的自相关系数,并通过自相关系数的傅里叶变换得到功率谱密度曲线图。并且分别设定了两组fc、fs、N数据得出结果
2).复合信号通过RC电路时,分别求得它的暂态和稳态分量得出此时的信号,再利用1)中的方法进行求解,此处多设定了电阻R、电容C的参数,并且分别设定了两组fc、fs、N、R、C数据得出结果。
3).复合信号通过低通滤波电路时,利用fir1和fir1ter函数得出低通滤波后的信号,再利用1)中的方法进行求解,分别设定了两组fc、fs、N数据得出结果
Ⅱ1)MATLAB程序代码如下:
clear;clc;
fc=input('请输入正弦信号频率fc=');
fs=input('请输入采样信号频率fs=');
N=input('请输入2的指数N=');
t=0:1/fs:2;
n=2*fs+1;
x=sin(2*pi*fc*t);
y=awgn(x,2);
plot(t,y,'b--');
title('y信号的波形图');
hist(y,100);
title('y信号的幅度分布直方图');
ylabel('频率/组距');xlabel('组距'); grid on;hold on;
FY=fft(y);
FY1=fftshift(FY);
f=(0:n-1)*fs/n-fs/2;
plot(f,abs(FY1),'k--');
title('y信号的频谱特性曲线'); ylabel('F(jw)');
xlabel('w');
grid on;
[C,a]=xcorr(y,'unbiased');
plot(C,'r-');
title('y信号的自相关函数曲线'); ylabel('Ry');
xlabel('个数');
grid;
FY2=fft(C);
FY3=fftshift(FY2);
plot(a*0.25,abs(FY3),'g:');
title('y信号的功率谱密度曲线'); ylabel('G(w)');xlabel('w');
grid on;
取数据如下:
正弦信号频率fc=20
采样信号频率fs=100
2的指数N=5
运行程序得出图形如图一至图四所示:
图一复合信号的波形图
图二复合信号的幅度分布直方图
图三复合信号的频谱特性曲线
图四复合信号的功率谱密度曲线2)MATLAB程序代码如下:
clear;clc;
fc=input('请输入正弦信号频率fc='); fs=input('请输入采样信号频率fs='); N=input('请输入信噪比N=');
R=input('请输入电路的电阻R=');
C=input('请输入电路的电容C=');
t=0:1/fs:2;
n=2*fs+1;
T=R*C;uc0=4;A=1;w=2;
Zc=1/j/w/C;
x=A*sin(2*pi*fc*t);
y=awgn(x,2);
absH=abs(Zc/(R+Zc));
phiH=angle(Zc/(R+Zc));
ucst=absH*A*sin(2*pi*fc*t+phiH)+y-x; plot(t,ucst,'b--');
grid on;
title('RC电路的信号波形图');
ylabel('U');
xlabel('t');
grid on;
hist(ucst,100);
title('RC电路信号的幅度分布直方图'); ylabel('频率/组距');xlabel('组距'); grid on;hold on;
FY=fft(ucst);
FY1=fftshift(FY);
f=(0:n-1)*fs/n-fs/2;
[C1,a]=xcorr(ucst,'unbiased');
FY2=fft(C1);
FY3=fftshift(FY2);
plot(a*0.25,abs(FY3),'b:', 'linewidth',2);
title('RC电路信号的功率谱密度曲线');
ylabel('G(w)');
xlabel('w');
grid on;
取数据如下:
正弦信号频率fc=20
采样信号频率fs=100
信噪比N=5
电路的电阻R=4
电路的电容C=0.5
运行程序得出图形如图五至图七所示:
图五复合信号通过RC电路的信号波形图
图六RC电路信号的幅度分布直方图
图七RC电路信号的功率谱密度曲线
3)MATLAB程序代码如下:
clear;clc;
fc=input('请输入正弦信号频率fc=');
fs=input('请输入采样信号频率fs=');
N=input('请输入信噪比N=');
t=0:1/fs:2;
n=2*fs+1;
x=sin(2*pi*fc*t);
y=awgn(x,2);
plot(t,y);
xlabel('t/s');ylabel('U');
fs=5000;
n=32;Wn=0.24;
b=fir1(n,Wn);
y0=filter(b,1,y);
plot(t,y0);
title('低通滤波后信号的幅度图');
xlabel('t');
ylabel('U');
hist(y0,100);
title('低通滤波后信号的幅度分布直方图'); ylabel('频率/组距');xlabel('组距');
grid on;hold on;
FY=fft(y0);
FY1=fftshift(FY);
f=length(FY1);
[C2,a]=xcorr(y0,'unbiased');
FY2=fft(C2);
FY3=fftshift(FY2);
plot(a*0.25,abs(FY3),'b:');
title('低通滤波后信号的功率谱密度曲线');
ylabel('G(w)');xlabel('w');grid on;
取数据如下:
正弦信号频率fc=20
采样信号频率fs=100
信噪比N=5
得出图形如图八至图十所示
图八低通滤波后信号波形图
图九低通滤波后信号幅度分布直方图
图十低通滤波后信号功率谱密度曲线