|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 牛小贱 于 2014-3-27 21:30 编辑
几种典型信号(以方波、正弦波,随机信号、随机+正弦信号为例)的时域波形及统计特征分析
一、内容及实现步骤
1.用Matlab软件产生典型信号的时域波形图,并通过其图形命令输出。 2.对各种典型信号的时域波形图进行统计特征分析,输出结果。
3.对四种典型信号进行自相关分析
二、源程序
%*************************************************************************%
% 信号时域波形及统计特征分析 %
%*************************************************************************%
%*************************************************************************%
%***************1.方波***************%
- %(1).时域波形
- t=0:0.01:10;
- t=t(1:1000);
- y=square(pi*t);
- y=y(1:1000);
- figure(1);
- subplot(221)
- plot(t,y);%做时域波形
- axis([0,10,-1.5,1.5]);%定义坐标轴范围
- title('方波时域波形图');
- xlabel('t');%定义坐标轴标题
- ylabel('y');
- grid;
复制代码- %(2).直方图
- tt=-1.5:0.01:1.5;
- figure(2);
- subplot(221)
- hist(y,tt);
- xlabel('y');ylabel('统计数目N');title('方波直方图')
- grid;
复制代码- %(3).求最值,均值,均方值,方差和均方差
- fprintf('该方波的最大值为: %g ;\n',max(y));
- fprintf(' 最小值为: %g ;\n',min(y));
- fprintf(' 均值为: %g ;\n',mean(y));
- fprintf(' 均方值为: %g ;\n',mean(y.*y));
- a=y-mean(y);
- b=mean(a.*a);
- fprintf(' 方差为: %g ;\n',b);
- fprintf(' 均方差为: %g ;\n',sqrt(b));
复制代码- %(4).自相关分析
- [c,lags]=xcorr(y,'unbiased');%求自相关函数
- figure(3);
- subplot(411);
- plot(lags(99:1901),c(99:1901));%作自相关波形
- xlabel('t');
- ylabel('自相关函数值Rx(t)');
- title('方波自相关分析');
- grid;
复制代码 %***************2.正弦波***************%
- %(1).时域波形
- t=0:pi/500:4*pi;
- t=t(1:2000);%采样点2000个
- y=sin(t);
- y=y(1:2000);
- figure(1)
- subplot(222)
- plot(t,y);
- axis([0,4*pi,-1,1]);
- title('正弦时域波形图');
- xlabel('t');
- ylabel('y');
- grid;
复制代码- %(2).直方图
- tt=-1:0.05:1;
- figure(2);
- subplot(222)
- hist(y,tt);
- xlabel('y');
- ylabel('统计数目N');
- title('正弦波直方图')
- grid;
复制代码- %(3).求最值,均值,均方值,方差和均方差
- fprintf('该正弦波的最大值为: %g ;\n',max(y));
- fprintf(' 最小值为: %g ;\n',min(y));
- fprintf(' 均值为: %g ;\n',mean(y));
- fprintf(' 均方值为: %g ;\n',mean(y.*y));
- a=y-mean(y);
- b=mean(a.*a);
- fprintf(' 方差为: %g ;\n',b);
- fprintf(' 均方差为: %g ;\n',sqrt(b));
复制代码- %(4).自相关分析
- [c,lags]=xcorr(y,'unbiased');%求自相关函数
- figure(3);
- subplot(412)
- plot(lags(80:3919),c(80:3919));%作自相关波形
- xlabel('t');
- ylabel('自相关函数值Rx(t)');
- title('正弦波自相关分析');
- grid;
复制代码 %***************3.随机信号***************%
- %(1).时域波形
- t=0:pi/20:4*pi;
- t=t(1:80);%采样点80个
- y=rand(1,80);
- figure(1);
- subplot(223);
- stem(t,y);
- axis([0,4*pi,0,1])
- title('随机信号时域波形图');
- xlabel('t');
- ylabel('y');
- grid;
复制代码- %(2).直方图
- tt=0:0.05:1;
- figure(2);
- subplot(223)
- hist(y,tt);
- xlabel('y');ylabel('统计数目N');title('随机信号直方图')
- grid;
复制代码- %(3).求最值,均值,均方值,方差和均方差
- fprintf('该随机信号的最大值为: %g ;\n',max(y));
- fprintf(' 最小值为: %g ;\n',min(y));
- fprintf(' 均值为: %g ;\n',mean(y));
- fprintf(' 均方值为: %g ;\n',mean(y.*y));
- a=y-mean(y);
- b=mean(a.*a);
- fprintf(' 方差为: %g ;\n',b);
- fprintf(' 均方差为: %g ;\n',sqrt(b));
复制代码- %(4).自相关分析
- [c,lags]=xcorr(y,'unbiased');%求自相关函数
- figure(3);
- subplot(413);
- plot(lags,c);%作自相关波形
- xlabel('t');
- ylabel('自相关函数值Rx(t)');
- title('随机信号自相关分析');
- grid;
复制代码 %***************4.随机+正弦***************%
- %(1).时域波形
- t=0:pi/100:4*pi;
- t=t(1:400);%采样点400个
- y=sin(t)+rand(1,400);
- y=y(1:400);
- figure(1);
- subplot(224)
- plot(t,y);%做时域波形
- axis([0,4*pi,-1,2]);
- title('随机+正弦时域波形图');
- xlabel('t');
- ylabel('y');
- grid;
复制代码- %(2).作直方图
- tt=-1:0.05:2;
- figure(2);
- subplot(224);
- hist(y,tt);
- xlabel('y');ylabel('统计数目N');title('随机+正弦信号 ')
- grid on;
复制代码- %(3).求最值,均值,均方值,方差和均方差
- fprintf('该随机+正弦信号的最大值为: %g ;\n',max(y));
- fprintf(' 最小值为: %g ;\n',min(y));
- fprintf(' 均值为: %g ;\n',mean(y));
- fprintf(' 均方值为: %g ;\n',mean(y.*y));
- a=y-mean(y);
- b=mean(a.*a);
- fprintf(' 方差为: %g ;\n',b);
- fprintf(' 均方差为: %g ;\n',sqrt(b));
复制代码- %(4).自相关分析
- [c,lags]=xcorr(y,'unbiased');%求自相关函数
- figure(3);
- subplot(414);
- plot(lags,c);%作自相关波形
- xlabel('t');
- ylabel('自相关函数值Rx(t)');
- title('随机+正弦自相关分析');
- grid;
复制代码
|
评分
-
2
查看全部评分
-
|