1、西安电子科技大学电子信息系统综合实验 课程实验报告实验名称 电子信息系统综合实验 电子工程 学院 1402011 班姓名 梁思颖 学号 14020110055 同作者 王梦路 李习习 王保智 郭鑫宇实验日期 2017 年 11 月 25 日指导教师评语:指导教师:年 月 日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果)成 绩MATLAB 实验复杂噪声产生1 实验目的(1) 掌握四种热噪声的基本分布并利用 MATLAB 产生这几种噪声;(2
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,方差 21 的高斯分布。Y = randn(n)产生的是一个 nn 的随机序列矩阵,而 Y = randn
3、(m,n) 和 Y = randn(m n)产生的 mn 的随机序列矩阵,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 =
4、 rand(size(A)s = rand(state)rand 函数产生的随机序列服从(0-1)单位均匀分布。Y = rand(n)产生的是一个 nn 的随机序列矩阵,而 Y = rand(m,n) 和 Y = rand(m n)产生的 mn 的随机序列矩阵,Y = rand(size(A)产生的是大小与矩阵A 同样大小的随机序列矩阵。s = rand(state) 返回的是一个具有两个元素的向量,该向量显示的是当前(0-1 )单位均匀随机数产生器的状态。rand(state,s) 指令可以将产生器的状态设置到 s,而 rand(state,0) 则可以将(0-1)单位均匀分布随机数产生器的
5、状态恢复到初始状态。(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(
6、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(x
7、2),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
8、(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; %产生瑞利分布信号 1 figure(4)subplot(2,1,1),p
9、lot(x4),title(瑞利分布噪声),xlabel(t(单位:s); subplot(2,1,2),hist(x4,0:0.1:10),title(瑞利分布信号直方图 ); 6 实验结果及分析实验结果如图所示:0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-4-20246 位 位 位 位 位 位-5 -4 -3 -2 -1 0 1 2 3 4 50200400600 位 位 位 位 位 位 位 位 位0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000022.22.42.62.83
10、 位 位 位 位 位 位1.8 2 2.2 2.4 2.6 2.8 3 3.20100200300 位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1x 10-30246t(s)x(V)位 位 位 位 位 位-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.50200400600800 位 位 位 位 位 位 位 位 位0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000051015 位 位 位 位 位 位t(位 位 位 s)-2 0 2 4 6 8 10 1201
11、00200300 位 位 位 位 位 位 位 位 位7 总结通过本次实验,我再次熟悉了 MATLAB 软件的使用,能更好的利用它来解决问题;同时,对四种热噪声的分布有了更多的学习和理解,并能利用 MATLAB产生所需噪声,这些为我完成后续实验建立了良好基础。8 参考资料1张德丰.MATLAB 仿真技术与应用.清华大学出版社.2012 年 1 月MATLAB 实验数字下变频(正交解调)1 实验目的(1) 掌握数字正交解调的基本原理和实现方法;(2) 熟练使用 MATLAB 软件。2 实验所用仪器(或实验环境)软件:MATLAB;硬件:计算机。3 实验内容学习 FFT、匹配滤波等数字信号处理的流程
12、和设计方法,利用 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=2
13、00000;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);
14、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 两路信号组成的复信号,48060us 8Mh=fliplr(conj(m);H=fft(h,N);fid=fopen(LFM_para.dat,wt);for k=
15、1:Nfprintf(fid,%en%en,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 实验结果及分析实验结果如图所示:0 200 400 600 800 1000 1200-1-0.8-0.6-0.4-0.200.20.40.60.810 100 200 300 400 500 600-1-0.500.510 100 200 300 400 500 600-1-0.500.510 200 400 600 800 1000 1200
16、-60-40-2002040600 200 400 600 800 1000 1200-3000-2000-100001000200030007 总结通过本次实验,我再次熟悉了 MATLAB 软件的使用,能更好的利用它来解决问题;同时,对数字正交解调的原理和方法有了更深入的学习和掌握,并能将所学知识运用到实际分析处理问题的过程中。8 参考资料1张德丰.MATLAB 仿真技术与应用.清华大学出版社.2012 年 1 月MATLAB 实验匹配滤波1 实验目的(1) 掌握脉冲压缩与匹配滤波的基本原理;(2) 学习 FFT、滤波器设计、匹配滤波等数字信号处理流程和设计方法;(3) 熟练使用 MATLA
17、B 软件。2 实验所用仪器(或实验环境)软件:MATLAB;硬件:计算机。3 实验内容利用 MATLAB 实现对中频信号的匹配滤波。4 实验步骤(1)利用数字下变频实验中产生的 I、Q 两路数据,生成复信号,在MATLAB 中对其进行傅里叶变换,再进行共轭和数据反转,得到匹配滤波器系数并保存为 LFM_para.dat;(2)在 MATLAB 中对实验 2、3 中的信号进行匹配滤波,并对结果进行分析。5 程序设计clear all;close all;N=1024; %FFT 点数for k=1:Ntwid(k)=complex(cos(2*pi*(k-1)/N), -sin(2*pi*(k-
18、1)/N);end;fin = fopen(twid1k.dat, wt);fh=fopen(itwid1k.dat,wt);for k=1:N/2fprintf(fin, %en%en, real(twid(k), imag(twid(k);fprintf(fh, %en%en, real(twid(k), -imag(twid(k);end;fclose(fin);fclose(fh);6 实验结果及分析数字下变频实验及匹配滤波实验的 MATLAB 程序生成了后续 DSP 实验需要正交两路数据 idata.dat 和 qdata.dat,以及匹配滤波器系数 LFM_para.dat 和蝶形
19、运算系数 twid1k.dat 和 itwid1k.dat。0 200 400 600 800 1000 12000501001502002507 总结通过本次实验,我对 FFT、滤波器设计、匹配滤波等数字信号处理流程和设计方法有了更深入的学习,并且能将所学知识运用到实际分析处理问题的过程中。8 参考资料1张德丰.MATLAB 仿真技术与应用.清华大学出版社.2012 年 1 月MATLAB 实验滤波器设计1 实验目的(1) 熟悉数字滤波的基本概念、数字滤波器的主要技术指标及其物理意义;(2)掌握利用 MATLB 设计数字滤波器的方法。2 实验所用仪器(或实验环境)软件:MATLAB;硬件:计
20、算机。3 实验内容(1)根据滤波器的主要技术指标设计低通、高通、带通和带阻滤波器;(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求。4 实验步骤设计 IIR 数字巴特沃斯低通、高通、带通及带阻滤波器,并绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标。要求相关技术指标如下: 低通滤波器:通带截止频率 0.2rad,通带最大衰减 1dB阻带截止频率 0.35rad,阻带最小衰减 40dB 高通滤波器:通带截止频率 0.8rad,通带最大衰减 1dB阻带截止频率 0.3rad,阻带最小衰减 40dB 带通滤波器:通带下截止频率 0.5rad
21、,通带上截止频率 0.8rad,通带最大衰减 1dB阻带下截止频率 0.3rad,阻带上截止频率 0.9rad,阻带最小衰减 40dB 带阻滤波器: 通带下截止频率 0.1rad,通带上截止频率 0.8rad,通带最大衰减 1dB阻带下截止频率 0.3rad,阻带上截止频率 0.6rad,阻带最小衰减 40dB5 程序设计%巴特沃斯低通滤波器%通带截止频率 0.2rad,通带最大衰减 1dB%阻带截止频率 0.35rad,阻带最小衰减 40dBWp=0.2;Ws=0.35;Rp=1;Rs=40;N,Wc=buttord(Wp,Ws,Rp,Rs);Bz,Az=butter(N,Wc);H,w=f
22、reqz(Bz,Az);figure(1)plot(w/pi,20*log(abs(H);xlabel(w/pi);ylabel(幅频特性/dB);title(巴特沃斯低通滤波器);grid onfigure(2)plot(w/pi,angle(H);xlabel(w/pi);ylabel(相频特性/dB); title(巴特沃斯低通滤波器);grid on%巴特沃斯高通滤波器%通带截止频率 0.8rad,通带最大衰减 1dB%阻带截止频率 0.3rad,阻带最小衰减 40dBWp=0.8;Ws=0.3;Rp=1;Rs=40;N,Wc=buttord(Wp,Ws,Rp,Rs);Bz,Az=bu
23、tter(N,Wc, high);H,w=freqz(Bz,Az);figure(1)plot(w/pi,20*log(abs(H);xlabel(w/pi);ylabel(幅频特性/dB);title(巴特沃斯高通滤波器);grid onfigure(2)plot(w/pi,angle(H);xlabel(w/pi);ylabel(相频特性/dB); title(巴特沃斯高通滤波器);grid on %巴特沃斯带通滤波器%通带下截止频率 0.5rad,通带上截止频率 0.8rad,通带最大衰减 1dB%阻带下截止频率 0.3rad,阻带上截止频率 0.9rad,阻带最小衰减 40dBWp1=
24、0.5; Wp2=0.8;Ws1=0.3; Ws2=0.9;Wp=Wp1,Wp2;Ws=Ws1,Ws2;Rp=1;Rs=40;N,Wc=buttord(Wp,Ws,Rp,Rs);Bz,Az=butter(N,Wc);H,w=freqz(Bz,Az);figure(1)plot(w/pi,20*log(abs(H);xlabel(w/pi);ylabel(幅频特性/dB);title(巴特沃斯带通滤波器);grid onfigure(2)plot(w/pi,angle(H);xlabel(w/pi);ylabel(相频特性/dB); title(巴特沃斯带通滤波器);grid on %巴特沃斯带
25、阻滤波器%通带下截止频率 0.1rad,通带上截止频率 0.8rad,通带最大衰减 1dB%阻带下截止频率 0.3rad,阻带上截止频率 0.6rad,阻带最小衰减 40dBWp1=0.1; Wp2=0.8;Ws1=0.3; Ws2=0.6;Wp=Wp1,Wp2;Ws=Ws1,Ws2;Rp=1;Rs=40;N,Wc=buttord(Wp,Ws,Rp,Rs);Bz,Az=butter(N,Wc, stop);H,w=freqz(Bz,Az);figure(1)plot(w/pi,20*log(abs(H);xlabel(w/pi);ylabel(幅频特性/dB);title(巴特沃斯带阻滤波器)
26、;grid onfigure(2)plot(w/pi,angle(H);xlabel(w/pi);ylabel(相频特性/dB); title(巴特沃斯带阻滤波器);grid on 6 实验结果及分析各滤波器的幅频特性和相频特性曲线如图所示,由幅频特性曲线可知各滤波器的设计结果达到设计指标的要求。0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1000-800-600-400-2000200w/pi位位位位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4-3-2-101234w/pi位位位
27、位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-400-350-300-250-200-150-100-500w/pi位位位位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4-3-2-101234w/pi位位位位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-900-800-700-600-500-400-300-200-1000100w/pi位位位位/dB位 位 位 位 位
28、位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4-3-2-101234w/pi位位位位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-700-600-500-400-300-200-1000100w/pi位位位位/dB位 位 位 位 位 位 位 位 位0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4-3-2-101234w/pi位位位位/dB位 位 位 位 位 位 位 位 位7 总结通过本次实验,更好的掌握了数字滤波器的设计方法,同时学会了利
29、用MATLAB 设计滤波器的方法。8 参考资料1史林,赵树杰.数字信号处理.科学出版社.2007 年 9 月2张德丰.MATLAB 仿真技术与应用.清华大学出版社.2012 年 1 月FPGA 实验流水灯1 实验目的(1) 掌握 FPGA 相关软件设计的基本流程;(2) 掌握 FPGA 硬件电路的设计和使用(3) 学会使用 VHDL 语言设计程序。2 实验所用仪器(或实验环境)软件: quartus;硬件:计算机。3 实验内容学习 VHDL 语言,掌握 FPGA 设计的基本流程;利用 quartus软件编写流水灯程序,完成流水灯的设计及仿真。4 实验步骤编写 VHDL 程序并编译,进行时序仿真
30、验证设计结果。5 程序设计module liushui(sw1,sys_clk,rst_n,led);/接口定义input sys_clk,rst_n; /系统时钟 50MHz,复位输入input sw1; /拨码开关用来控制流水灯的方向;output 3:0 led; /输出: 4 个 led 产生流水现象,轮流点亮reg 25:0 count; /系统时钟频率过高,需要产生延时,使 led 保持状态一段时间reg 3:0 led; /led 低电平点亮reg 2:0 flag; /状态转换的入口,发生变化的时候,点亮另外一个 ledalways (posedge sys_clk)begin
31、if(!rst_n) /复位,给寄存器赋初值beginflag 链路口 0,链路口 1-链路口 3;(2)编写 DSP1 程序,即发送程序;编写 DSP2 程序,即接收程序;(3)选择 session:TS101 Emulator,即选择硬件仿真平台,加载link_tran.dpj 到 DSP1 中,加载 link_rec.dpj 到 DSP2 中,在两程序的 idle处分别设置断点,然后同时运行两程序至断点,观察 DSP2 中数据接收区的结果。5 程序设计(1)链路口发送程序:link_tran.asm#include “MYts101def.H“.section data1;.VAR da
32、tum112=9,1,1,1,1,1,1,1,1,1,1,1;.VAR datum212=8,2,2,2,2,2,2,2,2,2,2,2;.VAR datum312=7,3,3,3,3,3,3,3,3,3,3,3;.VAR datum412=6,4,4,4,4,4,4,4,4,4,4,4;.VAR datum512=5,5,5,5,5,5,5,5,5,5,5,5;.VAR datum612=4,6,6,6,6,6,6,6,6,6,6,6;.VAR datum712=3,7,7,7,7,7,7,7,7,7,7,7;.VAR datum812=2,8,8,8,8,8,8,8,8,8,8,8;.VA
33、R datum912=1,9,9,9,9,9,9,9,9,9,9,9;.VAR datum1012=15,15,15,15,15,15,15,15,15,15,15,15;.align 4;.var datum_dcs_di=datum1;.var datum_dcs_dx=0x00780004;.var datum_dcs_dy=0;.var datum_dcs_dp=DTY_MST|DLEN_QST;.section data2;.VAR datum1_r12;.VAR datum2_r12;.VAR datum3_r12;.VAR datum4_r12;.VAR datum5_r12;.
34、VAR datum6_r12;.VAR datum7_r12;.VAR datum8_r12;.VAR datum9_r12;.VAR datum10_r12;.align 4;.var datum_dcd_di=datum1_r;.var datum_dcd_dx=0x00780004;.var datum_dcd_dy=0;.var datum_dcd_dp=DTY_MST|DLEN_QST;.section program;MAIN: XR0 = 0X294A;SYSCON = XR0;YR1=0XFF3FFFFF;SQCTLCL=YR1;XR30 = RESERVED_INTERPUT
35、;ivsw = XR30; /Set software exception interrupt vector = RESERVED_INTERPUT.ivhw = XR30; /Set hardware error interrupt vector = RESERVED_INTERPUT.ivtimer1hp = XR30; /Set timer1 high-priority interrupt vector = RESERVED_INTERPUT.ivtimer0hp = XR30; /Set timer0 high-priority interrupt vector = RESERVED_INTERPUT.ivbuslk = XR30; /Set buslock interrupt vector = RESERVED_INTERPUT.virpt = XR30; /Set vector interrupt vector = RESERVED_INTERPUT.ivirq3 = XR30; /Set /IRQ3 interrupt vector = RESERVED_INTERPUT.ivirq2 = XR30; /Set /IRQ2 interrupt vector = RESERVED_INTERPUT.