电子科技大学电子信息系统综合实验课程实验报告实验名称电子信息系统综合实验电子工程学院1402011 班Array梁思颖学号同作者王梦路习习王保智郭鑫宇实验日期2017 年11 月25 日MATLAB实验——复杂噪声产生1实验目的(1)掌握四种热噪声的基本分布并利用MATLAB产生这几种噪声;(2)熟练使用MATLAB。
2 实验所用仪器(或实验环境)软件:MATLAB;硬件:计算机。
3实验容利用MATLAB分别产生高斯分布、均匀分布、指数分布、瑞利分布的热噪声。
4实验步骤(1)服从高斯分布的热噪声Matlab7.0本身自带了标准高斯分布的部函数randn,调用格式如下:Y = randn(n)Y = randn(m,n)Y = randn([m n])Y = randn(size(A))s = randn('state')randn函数产生的随机序列服从均值为m=0,方差σ2=1的高斯分布。
Y = randn(n)产生的是一个n×n的随机序列矩阵,而Y = randn(m,n) 和Y = randn([m n])产生的m×n的随机序列矩阵,Y = randn(size(A))产生的是大小与矩阵A同样大小的随机序列矩阵。
s = randn('state')返回的是一个具有两个元素的向量,该向量显示的是当前正态随机数产生器的状态。
randn('state',s)指令可以将产生器的状态设置到s,而randn('state',0)则可以将正态随机数产生器的状态恢复到初始状态。
(2)服从均匀分布的热噪声同样Matlab本身也自带了(0-1)单位均匀分布的部函数rand,格式如下: Y = rand(n)Y = rand(m,n)Y = rand([m n])Y = rand(size(A))s = rand('state')rand函数产生的随机序列服从(0-1)单位均匀分布。
Y = rand(n)产生的是一个n×n的随机序列矩阵,而Y = rand(m,n) 和Y = rand([m n])产生的m×n的随机序列矩阵,Y = rand(size(A))产生的是大小与矩阵A 同样大小的随机序列矩阵。
s = rand('state')返回的是一个具有两个元素的向量,该向量显示的是当前(0-1)单位均匀随机数产生器的状态。
rand('state',s)指令可以将产生器的状态设置到s,而rand('state',0)则可以将(0-1)单位均匀分布随机数产生器的状态恢复到初始状态。
(3)服从指数分布的热噪声先产生一个服从(0-1)单位分布的信号,然后再将其经过指数变换,就可以得到一个服从参数为λ的指数分布的信号了。
(4)服从瑞利分布的热噪声先产生一个服从(0-1)分布的信号,然后再经过变换,可以得到一个服从瑞利(Rayleigh)分布的信号了。
5程序设计(1)服从高斯分布的热噪声%服从高斯(Guass)分布的热噪声(随机序列)b=1; %均值fs=1e7; %采样率t=1e-3; %随机序列长度n=t*fs;randn('state',0); %把高斯分布伪随机发生器置为0状态u=randn(1,n)+b;subplot(2,1,1),plot(u),title('高斯分布信号');subplot(2,1,2),hist(u,-4:0.1:4),title('高斯分布信号直方图');(2)服从均匀分布的热噪声%服从均匀分布的热噪声(随机序列)a=2; %(a-b)均匀分布下限b=3; %(a-b)均匀分布上限fs=1e7; %采样率,单位:Hzt=1e-3; %随机序列长度,单位:sn=t*fs;rand('state',0); %把均匀分布伪随机发生器置为0状态u=rand(1,n); %产生(0-1)单位均匀信号x2=(b-a)*u+a; %广义均匀分布与单位均匀分布之间的关系figure(2)subplot(2,1,1),plot(x2),title('均匀分布信号');subplot(2,1,2),hist(x2,a:0.02:b),title('均匀分布信号直方图');(3)服从指数分布的热噪声%服从指数分布的热噪声(随机序列)lambda=2.5; %指数分布参数fs=1e7; %采样频率t=1e-3; %时间长度n=t*fs;rand('state',0); %把均匀分布伪随机发生器置为0状态u=rand(1,n) %产生单位均匀信号x3=log2(1-u)/(-lambda); %指数分布与单位均匀分布之间的关系figure(3)subplot(2,1,1),plot(0:1/fs:t-1/fs,x3),xlabel('t(s)'), ylabel('x(V)'),title('指数分布信号');subplot(2,1,2),hist(x3,0:0.05:4),title('指数分布信号直方图');(4)服从瑞利分布的热噪声%服从瑞利分布的热噪声sigma=2; %瑞利分布参数sigma;t=1e-3; %杂波时间长度fs=1e7; %采样率t1=0:1/fs:t-1/fs;n=length(t1);rand('state',0); %把均匀分布伪随机发生器置为0状态u=rand(1,n);x4=sqrt(2*log2(1./u))*sigma; %产生瑞利分布信号1figure(4)subplot(2,1,1),plot(x4),title('瑞利分布噪声'),xlabel('t(单位:s)');subplot(2,1,2),hist(x4,0:0.1:10),title('瑞利分布信号直方图');6实验结果及分析实验结果如图所示:10002000300040005000600070008000900010000-4-20246-5-4-3-2-10123450200400600高斯分布信号直方图1000200030004000500060007000800090001000022.22.42.62.83均匀分布信号1.82 2.2 2.4 2.6 2.83 3.20100200300均匀分布信号直方图00.10.20.30.40.50.60.70.80.91x 10-3246t(s)x (V )-0.50.511.522.533.544.5020*******800指数分布信号直方图01000200030004000500060007000800090001000051015瑞利分布噪声t(单位:s)-20246810120100200300瑞利分布信号直方图7总结通过本次实验,我再次熟悉了MATLAB软件的使用,能更好的利用它来解决问题;同时,对四种热噪声的分布有了更多的学习和理解,并能利用MATLAB产生所需噪声,这些为我完成后续实验建立了良好基础。
8参考资料[1]德丰.MATLAB仿真技术与应用.清华大学.2012年1月MATLAB实验——数字下变频(正交解调)1实验目的(1)掌握数字正交解调的基本原理和实现方法;(2)熟练使用MATLAB软件。
2 实验所用仪器(或实验环境)软件:MATLAB;硬件:计算机。
3实验容学习FFT、匹配滤波等数字信号处理的流程和设计方法,利用MATLAB实现对中频信号的正交解调。
4实验步骤(1)用MATLAB产生中心频率为100MHz,带宽为200kHz,脉冲宽度为60us 的线性调频信号,对其进行正交解调,采样频率为80Hz,得到I、Q两路数据,并将数据保存为idata.dat和qdata.dat;(2)利用MATLAB生成FFT和IFFT的蝶形运算系数,分别保存为twid1k.dat 和itwid1k.dat。
5程序设计clear all;close all;fs=8000000;t0=0.00006;t2=0:1/fs:t0-1/fs;f0=9900000;f1=200000;k=3300000000;N=1024;x1=cos(2*pi*(f0*t2+k*t2.^2));x=[x1 zeros(1,N-length(t2))];figure(1); plot(x);for i=1:length(x)/2y1(i)=x(2*i-1)*(-1)^(i);y2(i)=x(2*i)*(-1)^(i);endfor k=3:i-4z1(k)=9*(y1(k-1)+y1(k+1))/16-(y1(k-2)+y1(k+2))/16;z2(k)=9*(y2(k-1)+y2(k+1))/16-(y2(k-2)+y2(k+2))/16;endfigure(2)x1=1:length(y1);y=1:length(z1);subplot(2,1,1),plot(x1,y1,'r-',x1,y2,'b-');subplot(2,1,2),plot(y,z1,'r-',y,z2,'b-');save idata.dat z1 -ascii;save qdata.dat z2 -ascii;j=sqrt(-1);z=z1+j*z2;fz=fft(z,N);figure(3); plot(real(fz))m=z(1:480); %z为IQ两路信号组成的复信号,480=60us ×8M h=fliplr(conj(m));H=fft(h,N);fid=fopen('LFM_para.dat','wt');for k=1:Nfprintf(fid,'%e\n%e\n',real(H(k)),imag(H(k)));endfclose(fid);a=H.*fz;figure(4); plot(real(a));b=ifft(a,N);figure(5); plot(abs(b));6实验结果及分析实验结果如图所示:20040060080010001200-1-0.8-0.6-0.4-0.200.20.40.60.810100200300400500600-1-0.500.510100200300400500600-1-0.500.51020040060080010001200-60-40-20204060020040060080010001200-3000-2000-10001000200030007总结通过本次实验,我再次熟悉了MATLAB软件的使用,能更好的利用它来解决问题;同时,对数字正交解调的原理和方法有了更深入的学习和掌握,并能将所学知识运用到实际分析处理问题的过程中。