随机信号通过线性系统和非线性系统后的特性分析.docx
- 文档编号:12638536
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:26
- 大小:146.86KB
随机信号通过线性系统和非线性系统后的特性分析.docx
《随机信号通过线性系统和非线性系统后的特性分析.docx》由会员分享,可在线阅读,更多相关《随机信号通过线性系统和非线性系统后的特性分析.docx(26页珍藏版)》请在冰豆网上搜索。
随机信号通过线性系统和非线性系统后的特性分析
随机信号分析
----通过线性系统和非线性系统后的特性分析
一、实验目的
1、了解随机信号自身的特性,包括均值、均方值、方差、相关函数、概率密度、频谱及功率谱密度等的概念和特性
2、研究随机信号通过线性系统和非线性系统后的均值、均方值、方差、相关函数、概率密度、频谱及功率谱密度有何变化,分析线性系统和非线性系统所具有的性质
3、掌握随机信号的分析方法。
4、熟悉常用的信号处理仿真软件平台:
matlab、c/c++、EWB。
二、实验仪器
1、256MHz以上内存微计算机。
2、20MHz双踪示波器、信号源。
3、matlab或c/c++语言环境、EWB仿真软件。
4、fpga实验板、面包板和若干导线。
三、实验步骤
1、根据选题的内容和要求查阅相关的文献资料,设计具体的实现程序流程或电路。
2、自选matlab、EWB或c仿真软件。
如用硬件电路实现,需用面包板搭建电路并调试成功。
3、按设计指标测试电路。
分析实验结果与理论设计的误差,根据随机信号的特征,分析误差信号对信号和系统的影响。
四、实验任务与要求
1、用matlab或c/c++语言编程并仿真
2、输入信号为x(t)加上白噪声n(t),用软件仿真通过滤波器在通过限幅器后的信号y1(t),在仿真先平方律后在通过滤波器后的信号y2(t).框图如下:
3、计算x(t)、a、b、c、y(t)的均值、均方值、方差、频谱、功率谱密度,自相关函数,并绘出函数曲线。
五.实验过程与仿真
1、输入信号的获取与分析
(a)输入信号的获取
按照实验要求,Matlab仿真如下:
%输入信号x的产生
t=0:
1/16000:
0.01;
x1=sin(1000*2*pi*t)+sin(2000*2*pi*t)+sin(3000*2*pi*t);
x=awgn(x1,5,'measured');%加入高斯白噪声
n=x-x1;%高斯白噪声
(b)输入信号及其噪声的分析
%输入信号x自相关系数
x_arr=xcorr(x);
tau=(-length(x)+1:
length(x)-1)/16000;
%输入信号x的频谱和功率谱
x_mag=abs(fft(x,2048));
f=(0:
2047)*16000/2048;
x_cm=abs(fft(x_arr,2048));
%画出高斯白噪声n的时域图和频域图
figure
(1)
subplot(1,2,1)
plot(t,n)
title('高斯白噪声n')
xlabel('t/s')
ylabel('n(t)')
gridon
subplot(1,2,2)
N=fft(n,2048);
plot(f(1:
length(f)/2),N(1:
length(f)/2))
title('高斯白噪声n的频谱图')
xlabel('f/Hz')
ylabel('幅值')
gridon
结果为:
%画输入信号的时域,相关系数,频谱图和频谱图
figure
(2);
subplot(2,2,1)
plot(t,x)
title('输入信号x')
xlabel('t/s');
ylabel('x(t)');
gridon;
subplot(2,2,2)
plot(tau,x_arr)
title('输入信号x的自相关系数')
xlabel('\tau/s')
ylabel('R_x_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),x_mag(1:
length(f)/2))
title('输入信号x的频谱')
xlabel('f/Hz')
ylabel('幅值')
gridon;
subplot(2,2,4)
plot(f(1:
length(f)/2),x_cm(1:
length(f)/2))
title('输入信号x的功率谱')
xlabel('f/Hz')
ylabel('S_x_i(f)')
结果如下图:
2、带通滤波器的频谱和相频特性
[B,A]=butter(8,[1500/(16000/2)2500/(16000/2)]);
figure(3)
freqz(B,A,2048)
title('带通滤波器的频率特性曲线')
gridon
结果作图如下:
3、输入信号通过带通滤波器后的信号a
%信号通过带通滤波器后,过滤出2khz分量,得到信号a
a=filter(B,A,x);
%信号a的自相关系数
a_arr=xcorr(a);
%信号a的频谱和功率谱
a_mag=abs(fft(a,2048));
a_cm=abs(fft(a_arr,2048));
%画出信号a的时域图,自相关系数,频谱图和功率谱图
figure(4)
subplot(2,2,1)
plot(t,a)
title('通过带通滤波器后的信号a')
xlabel('t/s');
ylabel('a(t)');
subplot(2,2,2)
plot(tau,a_arr)
title('信号a的自相关系数')
xlabel('\tau/s')
ylabel('R_a_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),a_mag(1:
length(f)/2))
title('信号a的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),a_cm(1:
length(f)/2))
title('信号a的功率谱')
xlabel('f/Hz')
ylabel('S_a_i(f)')
作图如下:
4、输入信号x通过平方律检波器的信号b
%平方律检波器的传输特性为y=m*x^2,k\m=1
b=1:
length(x);
fork=1:
length(x)
if(x(k)>0)
b(k)=x(k)^2;
else
b(k)=0;
end
end
%信号b的自相关系数
b_arr=xcorr(b);
%信号b的频谱和功率谱
b_mag=abs(fft(b,2048));
b_cm=abs(fft(b_arr,2048));
%画出信号b的时域图,自相关系数,频谱图和功率谱
figure(5)
subplot(2,2,1)
plot(t,b)
title('通过平方检波器后的信号b')
xlabel('t/s');
ylabel('b(t)');
subplot(2,2,2)
plot(tau,b_arr)
title('信号b的自相关系数')
xlabel('\tau/s')
ylabel('R_b_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),b_mag(1:
length(f)/2))
title('信号b的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),b_cm(1:
length(f)/2))
title('信号b的功率谱')
xlabel('f/Hz')
ylabel('S_b_i(f)')
作图如下:
5、信号a通过限幅器后的信号y1
%限定幅度最大为0.5,大于0.5的取0.5
y1=0:
length(a)-1;
fork=1:
length(a)
if(a(k)>0.5)
y1(k)=0.5;
elseif(a(k)<-0.5)
y1(k)=-0.5;
else
y1(k)=a(k);
end
end
end
%信号y1的自相关系数
y1_arr=xcorr(y1);
%信号y1的频谱和功率谱
y1_mag=abs(fft(y1,2048));
y1_cm=abs(fft(y1_arr,2048));
figure(5)
%画出信号y1的时域图,自相关系数,频谱图和功率谱图
figure(6)
subplot(2,2,1)
plot(t,y1)
axis([00.01-11])
title('信号a通过限幅器后的信号y1')
xlabel('t/s');
ylabel('y1(t)');
subplot(2,2,2)
plot(tau,y1_arr)
title('信号y1的自相关系数')
xlabel('\tau/s')
ylabel('R_y_1_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),y1_mag(1:
length(f)/2))
title('信号y1的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),y1_cm(1:
length(f)/2))
title('信号y1的功率谱')
xlabel('f/Hz')
ylabel('S_y_1_i(f)')
作图如下:
6、信号b通过带通滤波器器后的信号y2
%信号a通过带通滤波器后,过滤出2khz分量,得到信号y1
[B,A]=butter(8,[1900/(16000/2)2100/(16000/2)]);
y2=filter(B,A,b);
%信号a的自相关系数
y2_arr=xcorr(y2);
%信号a的频谱和功率谱
y2_mag=abs(fft(y2,2048));
y2_cm=abs(fft(y2_arr,2048));
%画出信号a的时域图,自相关系数,频谱图和功率谱图
figure(7)
subplot(2,2,1)
plot(t,y2)
title('信号b通过带通滤波器后的信号y2')
xlabel('t/s');
ylabel('y2(t)');
subplot(2,2,2)
plot(tau,y2_arr)
title('信号y2的自相关系数')
xlabel('\tau/s')
ylabel('R_y_2_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),y2_mag(1:
length(f)/2))
title('信号y2的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),y2_cm(1:
length(f)/2))
title('信号y2的功率谱')
xlabel('f/Hz')
ylabel('S_y_2_i(f)')
作图如下:
7、通过matlab计算x(t)、a、b、c、y(t)的均值、均方值、方差
(a)输入信号x的均值,方差和均方值
x_mean=mean(x)
x_var=var(x)
x_st=x_var+x_mean^2
结果得:
x_mean=0.0200
x_var=1.9562
x_st=1.9566
(b)信号a的均值,方差和均方值
a_mean=mean(a)
a_var=var(a)
a_st=a_var+a_mean^2
a_arr=xcorr(a);
结果得:
a_mean=-0.0051
a_var=0.4908
a_st=0.4908
(c)信号b的均值,方差和均方值
b_mean=mean(b)
b_var=var(b)
b_st=b_var+b_mean^2
结果得:
b_mean=0.9755
b_var=6.2748
b_st=7.2264
(d)信号y1的均值,方差和均方值
y1_mean=mean(y1)
y1_var=var(y1)
y1_st=y1_var+y1_mean^2
结果得:
y1_mean=-0.0054
y1_var=0.1616
y1_st=0.1617
(e)信号y1的均值,方差和均方值
y2_mean=mean(y2)
y2_var=var(y2)
y2_st=y2_var+y2_mean^2
结果得:
y2_mean=-0.0035
y2_var=1.3080
y2_st=1.3080
6.实验中遇到的问题
在刚开始做实验时,理论知识都没有学完,对于很多概念仍不清晰。
各处搜索关于滤波器,平方律和限幅器等的知识,最后后来参照实验描述和所查资料的描述用matlab编写出了滤波器,平方律和限幅器
7.心得体会
本次实验综合性强,运用到了随机信号分析,数字信号处理,matlab等课程知识,让我们第一次尝试综合运用理论知识。
这样,我们能够更深刻的理解理论知识和各个学科之间的联系。
另外,也锻炼了我们信息检索能力和独立自学的能力,这次实验中有很多用到的理论知识仍然没有学到的知识。
我们利用学校图书馆,XX谷歌等搜索引擎查阅了很多资料,终于对本次实验有了基本的了解。
深并且化学习了matlab语言的应用,为以后的学习提供了很多的方便。
最后,本次的实验,我们体会到了团队合作的重要性。
在做实验阶段我们将实验分拆,各自负责一部分,然后又在一起讨论遇到的问题并且解决问题,最终完成本次试验,这锻炼了我们与他人的合作能力,对我们今后的学习时间都是一次珍贵的经验积累。
参考资料:
•马文平、李兵兵、田红心、朱晓明,随机信号分析与应用,2006,北京:
科学出版社
•高西全、丁玉美、阔永红,数字信号处理——原理、实现及应用,2006,北京:
电子工业出版社
•吴大正、杨林耀、张永瑞、王松林、郭宝龙,信号与线性系统分析(第4版),2005,北京:
高等教育出版社
•楼顺天、姚若玉、沈俊霞,Matlab7.x程序设计语言(第二版),2007,西安:
西安电子科技大学出版社
六.程序源代码
clc
closeall
%----------------------------输入信号x-------------------------------%
%输入信号x的产生
t=0:
1/16000:
0.01;
x1=sin(1000*2*pi*t)+sin(2000*2*pi*t)+sin(3000*2*pi*t);
x=awgn(x1,5,'measured');%加入高斯白噪声
n=x-x1;
%输入信号x的均值,方差,均方值和自相关系数
x_mean=mean(x)
x_var=var(x)
x_st=x_var+x_mean^2
x_arr=xcorr(x);
tau=(-length(x)+1:
length(x)-1)/16000;
%输入信号的频谱和功率谱
x_mag=abs(fft(x,2048));
f=(0:
2047)*16000/2048;
x_cm=abs(fft(x_arr,2048));
%画出高斯白噪声的时域图和频域图
figure
(1)
subplot(1,2,1)
plot(t,n)
title('高斯白噪声n')
xlabel('t/s')
ylabel('n(t)')
gridon
subplot(1,2,2)
N=fft(n,2048);
plot(f(1:
length(f)/2),N(1:
length(f)/2))
title('高斯白噪声n的频谱图')
xlabel('f/Hz')
ylabel('幅值')
gridon
%画输入信号的时域,频谱图和频谱图
figure
(2);
subplot(2,2,1)
plot(t,x)
title('输入信号x')
xlabel('t/s');
ylabel('x(t)');
gridon;
subplot(2,2,2)
plot(tau,x_arr)
title('输入信号x的自相关系数')
xlabel('\tau/s')
ylabel('R_x_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),x_mag(1:
length(f)/2))
title('输入信号x的频谱')
xlabel('f/Hz')
ylabel('幅值')
gridon;
subplot(2,2,4)
plot(f(1:
length(f)/2),x_cm(1:
length(f)/2))
title('输入信号x的功率谱')
xlabel('f/Hz')
ylabel('S_x_i(f)')
%----------------------------输入信号xEND----------------------------%
%---------------带通滤波器的频谱和相频特性-----------------------------%
[B,A]=butter(8,[1500/(16000/2)2500/(16000/2)]);
figure(3)
freqz(B,A,2048)
title('带通滤波器的频率特性曲线')
gridon
%---------------带通滤波器的频谱和相频特性END-------------------------%
%---------------输入信号通过带通滤波器后的信号a-------------------------%
%信号通过带通滤波器后,过滤出2khz分量,得到信号a
a=filter(B,A,x);
%信号a的均值,方差,均方值和自相关系数
a_mean=mean(a)
a_var=var(a)
a_st=a_var+a_mean^2
a_arr=xcorr(a);
%信号a的频谱和功率谱
a_mag=abs(fft(a,2048));
a_cm=abs(fft(a_arr,2048));
%画出信号a的时域图,频谱图和功率谱图
figure(4)
subplot(2,2,1)
plot(t,a)
title('通过带通滤波器后的信号a')
xlabel('t/s');
ylabel('a(t)');
subplot(2,2,2)
plot(tau,a_arr)
title('信号a的自相关系数')
xlabel('\tau/s')
ylabel('R_a_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),a_mag(1:
length(f)/2))
title('信号a的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),a_cm(1:
length(f)/2))
title('信号a的功率谱')
xlabel('f/Hz')
ylabel('S_a_i(f)')
%-------------输入信号通过带通滤波器后的信号aEND-----------------------%
%--------------输入信号x通过平方律检波器的信号b-------------------------%
%平方律检波器的传输特性为y=m*x^2,k\m=1
b=1:
length(x);
fork=1:
length(x)
if(x(k)>0)
b(k)=x(k)^2;
else
b(k)=0;
end
end
%信号b的均值,方差,均方值和自相关系数
b_mean=mean(b)
b_var=var(b)
b_st=b_var+b_mean^2
b_arr=xcorr(b);
%信号b的频谱和功率谱
b_mag=abs(fft(b,2048));
b_cm=abs(fft(b_arr,2048));
%画出信号b的时域图,频谱图和功率谱
figure(5)
subplot(2,2,1)
plot(t,b)
title('通过平方检波器后的信号b')
xlabel('t/s');
ylabel('b(t)');
subplot(2,2,2)
plot(tau,b_arr)
title('信号b的自相关系数')
xlabel('\tau/s')
ylabel('R_b_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),b_mag(1:
length(f)/2))
title('信号b的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),b_cm(1:
length(f)/2))
title('信号b的功率谱')
xlabel('f/Hz')
ylabel('S_b_i(f)')
%--------------输入信号x通过平方律检波器的信号bEND---------------------%
%--------------信号a通过限幅器后的信号y1--------------------------------%
%限定幅度最大为0.5,大于0.5的取0.5
y1=0:
length(a)-1;
fork=1:
length(a)
if(a(k)>0.5)
y1(k)=0.5;
elseif(a(k)<-0.5)
y1(k)=-0.5;
else
y1(k)=a(k);
end
end
end
%信号y1的均值,方差,均方值和自相关函数
y1_mean=mean(y1)
y1_var=var(y1)
y1_st=y1_var+y1_mean^2
y1_arr=xcorr(y1);
%信号y1的频谱和功率谱
y1_mag=abs(fft(y1,2048));
y1_cm=abs(fft(y1_arr,2048));
figure(5)
%画出信号y1的时域图,频谱图和功率谱图
figure(6)
subplot(2,2,1)
plot(t,y1)
axis([00.01-11])
title('信号a通过限幅器后的信号y1')
xlabel('t/s');
ylabel('y1(t)');
subplot(2,2,2)
plot(tau,y1_arr)
title('信号y1的自相关系数')
xlabel('\tau/s')
ylabel('R_y_1_i(\tau)')
subplot(2,2,3)
plot(f(1:
length(f)/2),y1_mag(1:
length(f)/2))
title('信号y1的频谱')
xlabel('f/Hz')
ylabel('幅值')
subplot(2,2,4)
plot(f(1:
length(f)/2),y1_cm(1:
length(f)/2))
title('信号y1的功率谱')
xlabel('f/Hz')
ylabel('S_y_1_i(f)')
%--------------信号a通过限幅器后的信号y1END--------------------------%
%--------------信号b通过带通滤波
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 随机 信号 通过 线性 系统 非线性 特性 分析