西电电子信息系统综合实验报告材料.docx
- 文档编号:4978187
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:73
- 大小:411.20KB
西电电子信息系统综合实验报告材料.docx
《西电电子信息系统综合实验报告材料.docx》由会员分享,可在线阅读,更多相关《西电电子信息系统综合实验报告材料.docx(73页珍藏版)》请在冰豆网上搜索。
西电电子信息系统综合实验报告材料
西安电子科技大学
电子信息系统综合实验课程实验报告
实验名称电子信息系统综合实验
成绩
电子工程学院1402011班
姓名梁思颖学号14020110055
同作者王梦路李习习王保智郭鑫宇
实验日期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([mn])
Y=randn(size(A))
s=randn('state')
randn函数产生的随机序列服从均值为m=0,方差σ2=1的高斯分布。
Y=randn(n)产生的是一个n×n的随机序列矩阵,而Y=randn(m,n)和Y=randn([mn])产生的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([mn])
Y=rand(size(A))
s=rand('state')
rand函数产生的随机序列服从(0-1)单位均匀分布。
Y=rand(n)产生的是一个n×n的随机序列矩阵,而Y=rand(m,n)和Y=rand([mn])产生的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;%采样率,单位:
Hz
t=1e-3;%随机序列长度,单位:
s
n=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;%产生瑞利分布信号1
figure(4)
subplot(2,1,1),plot(x4),title('瑞利分布噪声'),xlabel('t(单位:
s)');
subplot(2,1,2),hist(x4,0:
0.1:
10),title('瑞利分布信号直方图');
6实验结果及分析
实验结果如图所示:
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程序设计
clearall;
closeall;
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=[x1zeros(1,N-length(t2))];
figure
(1);plot(x);
fori=1:
length(x)/2
y1(i)=x(2*i-1)*(-1)^(i);
y2(i)=x(2*i)*(-1)^(i);
end
fork=3:
i-4
z1(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;
end
figure
(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-');
saveidata.datz1-ascii;
saveqdata.datz2-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');
fork=1:
N
fprintf(fid,'%e\n%e\n',real(H(k)),imag(H(k)));
end
fclose(fid);
a=H.*fz;
figure(4);plot(real(a));
b=ifft(a,N);
figure(5);plot(abs(b));
6实验结果及分析
实验结果如图所示:
7总结
通过本次实验,我再次熟悉了MATLAB软件的使用,能更好的利用它来解决问题;同时,对数字正交解调的原理和方法有了更深入的学习和掌握,并能将所学知识运用到实际分析处理问题的过程中。
8参考资料
[1]张德丰.MATLAB仿真技术与应用.清华大学出版社.2012年1月
MATLAB实验——匹配滤波
1实验目的
(1)掌握脉冲压缩与匹配滤波的基本原理;
(2)学习FFT、滤波器设计、匹配滤波等数字信号处理流程和设计方法;
(3)熟练使用MATLAB软件。
2实验所用仪器(或实验环境)
软件:
MATLAB;
硬件:
计算机。
3实验内容
利用MATLAB实现对中频信号的匹配滤波。
4实验步骤
(1)利用数字下变频实验中产生的I、Q两路数据,生成复信号,在MATLAB中对其进行傅里叶变换,再进行共轭和数据反转,得到匹配滤波器系数并保存为LFM_para.dat;
(2)在MATLAB中对实验2、3中的信号进行匹配滤波,并对结果进行分析。
5程序设计
clearall;
closeall;
N=1024;%FFT点数
fork=1:
N
twid(k)=complex(cos(2*pi*(k-1)/N),-sin(2*pi*(k-1)/N));
end;
fin=fopen('twid1k.dat','wt');
fh=fopen('itwid1k.dat','wt');
fork=1:
N/2
fprintf(fin,'%e\n%e\n',real(twid(k)),imag(twid(k)));
fprintf(fh,'%e\n%e\n',real(twid(k)),-imag(twid(k)));
end;
fclose(fin);
fclose(fh);
6实验结果及分析
数字下变频实验及匹配滤波实验的MATLAB程序生成了后续DSP实验需要正交两路数据idata.dat和qdata.dat,以及匹配滤波器系数LFM_para.dat和蝶形运算系数twid1k.dat和itwid1k.dat。
7总结
通过本次实验,我对FFT、滤波器设计、匹配滤波等数字信号处理流程和设计方法有了更深入的学习,并且能将所学知识运用到实际分析处理问题的过程中。
8参考资料
[1]张德丰.MATLAB仿真技术与应用.清华大学出版社.2012年1月
MATLAB实验——滤波器设计
1实验目的
(1)熟悉数字滤波的基本概念、数字滤波器的主要技术指标及其物理意义;
(2)掌握利用MATLB设计数字滤波器的方法。
2实验所用仪器(或实验环境)
软件:
MATLAB;
硬件:
计算机。
3实验内容
(1)根据滤波器的主要技术指标设计低通、高通、带通和带阻滤波器;
(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求。
4实验步骤
设计IIR数字巴特沃斯低通、高通、带通及带阻滤波器,并绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标。
要求相关技术指标如下:
1低通滤波器:
通带截止频率0.2πrad,通带最大衰减1dB
阻带截止频率0.35πrad,阻带最小衰减40dB
2高通滤波器:
通带截止频率0.8πrad,通带最大衰减1dB
阻带截止频率0.3πrad,阻带最小衰减40dB
3带通滤波器:
通带下截止频率0.5πrad,通带上截止频率0.8πrad,通带最大衰减1dB
阻带下截止频率0.3πrad,阻带上截止频率0.9πrad,阻带最小衰减40dB
4带阻滤波器:
通带下截止频率0.1πrad,通带上截止频率0.8πrad,通带最大衰减1dB
阻带下截止频率0.3πrad,阻带上截止频率0.6πrad,阻带最小衰减40dB
5程序设计
%巴特沃斯低通滤波器
%通带截止频率0.2πrad,通带最大衰减1dB
%阻带截止频率0.35πrad,阻带最小衰减40dB
Wp=0.2;Ws=0.35;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('巴特沃斯低通滤波器');
gridon
figure
(2)
plot(w/pi,angle(H));xlabel('w/pi');ylabel('相频特性/dB');title('巴特沃斯低通滤波器');
gridon
%巴特沃斯高通滤波器
%通带截止频率0.8πrad,通带最大衰减1dB
%阻带截止频率0.3πrad,阻带最小衰减40dB
Wp=0.8;Ws=0.3;Rp=1;Rs=40;
[N,Wc]=buttord(Wp,Ws,Rp,Rs);
[Bz,Az]=butter(N,Wc,'high');
[H,w]=freqz(Bz,Az);
figure
(1)
plot(w/pi,20*log(abs(H)));xlabel('w/pi');ylabel('幅频特性/dB');title('巴特沃斯高通滤波器');
gridon
figure
(2)
plot(w/pi,angle(H));xlabel('w/pi');ylabel('相频特性/dB');title('巴特沃斯高通滤波器');
gridon
%巴特沃斯带通滤波器
%通带下截止频率0.5πrad,通带上截止频率0.8πrad,通带最大衰减1dB
%阻带下截止频率0.3πrad,阻带上截止频率0.9πrad,阻带最小衰减40dB
Wp1=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('巴特沃斯带通滤波器');
gridon
figure
(2)
plot(w/pi,angle(H));xlabel('w/pi');ylabel('相频特性/dB');title('巴特沃斯带通滤波器');
gridon
%巴特沃斯带阻滤波器
%通带下截止频率0.1πrad,通带上截止频率0.8πrad,通带最大衰减1dB
%阻带下截止频率0.3πrad,阻带上截止频率0.6πrad,阻带最小衰减40dB
Wp1=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('巴特沃斯带阻滤波器');
gridon
figure
(2)
plot(w/pi,angle(H));xlabel('w/pi');ylabel('相频特性/dB');title('巴特沃斯带阻滤波器');
gridon
6实验结果及分析
各滤波器的幅频特性和相频特性曲线如图所示,由幅频特性曲线可知各滤波器的设计结果达到设计指标的要求。
7总结
通过本次实验,更好的掌握了数字滤波器的设计方法,同时学会了利用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程序并编译,进行时序仿真验证设计结果。
5程序设计
moduleliushui(sw1,sys_clk,rst_n,led);//接口定义
inputsys_clk,rst_n;//系统时钟50MHz,复位输入
inputsw1;//拨码开关用来控制流水灯的方向;
output[3:
0]led;//输出:
4个led产生流水现象,轮流点亮
reg[25:
0]count;//系统时钟频率过高,需要产生延时,使led保持状态一段时间
reg[3:
0]led;//led低电平点亮
reg[2:
0]flag;//状态转换的入口,发生变化的时候,点亮另外一个led
always@(posedgesys_clk)
begin
if(!
rst_n)//复位,给寄存器赋初值
begin
flag<=3'b0;
count<=26'b0;
end
if(count==26'd67108800)
begin
count<=26'd0;
if(flag==3'b011)flag<=3'b000;
else
flag<=flag+3'b001;
end
else
count<=count+26'd1;//当count没计数到指定值是,count执行加一操作
end
always@(posedgesys_clk)
if(sw1==1'b1)
begin
case(flag)//由于flag会不断变化,并且flag在从一个值变成另一个值的时候,会保持一段很长的时间,我们利用它来产生流水灯现象
3'b000:
led<=4'b0111;//点亮第一个灯低电平点亮
3'b001:
led<=4'b1011;//点亮第一个灯低电平点亮
3'b010:
led<=4'b1101;//点亮第一个灯低电平点亮
3'b011:
led<=4'b1110;//点亮第一个灯低电平点亮
default:
led<=4'b1111;//一般要设置一个缺省状态,三个led全部灭
endcase
end
else
begin
case(flag)//由于flag会不断变化,并且flag在从一个值变成另一个值的时候,会保持一段很长的时间,我们利用它来产生流水灯现象
3'b000:
led<=4'b1110;//点亮第一个灯低电平点亮
3'b001:
led<=4'b1101;//点亮第一个灯低电平点亮
3'b010:
led<=4'b1011;//点亮第一个灯低电平点亮
3'b011:
led<=4'b0111;//点亮第一个灯低电平点亮
default:
led<=4'b1111;//一般要设置一个缺省状态,三个led全部灭
endcase
end
endmodule
6实验结果及分析
为了便于观察仿真结果,将程序中的计数时间减小,得到时序仿真结果如下图,可以看出,四个输出端口依次产生低电平。
当拨码开关电平改变时,可以看到四个端口产生低电平的顺序发生改变。
7总结
通过本次实验,我对FPGA的设计流程和方法有了更深入的学习和掌握,并且能熟练使用VHDL语言完成程序设计,能将所学知识运用到实际分析处理问题的过程中。
8参考资料
[1]潘松,黄继业.EDA技术使用教程——VHDL版(第四版).科学出版社.2010年6月
FPGA实验——噪声产生
1实验目的
(1)掌握FPGA相关软件设计的基本流程;
(2)掌握FPGA硬件电路的设计和使用
(3)熟悉quartusⅡ软件的使用方法。
2实验所用仪器(或实验环境)
软件:
MATLAB、quartusⅡ;
硬件:
计算机。
3实验内容
利用quartusⅡ软件元件库实现噪声的产生。
4实验步骤
利用quartusⅡ软件元件库实现噪声产生电路,利用MATLAB产生噪声的数据文件加载到quartus元件中。
5程序设计
利用quartusⅡ软件元件库实现噪声产生电路。
电路如下图:
6实验结果及分析
实验结果如图所示:
7总结
通过本次实验,我再次熟悉了quartusⅡ等软件的使用,能更好的利用它来解决问题;同时,对FPGA的设计流程和方法有了更深入的学习和掌握,并能将所学知识运用到实际分析处理问题的过程中。
8参考资料
[1]潘松,黄继业.EDA技术使用教程——VHDL版(第四版).科学出版社.2010年6月
FPGA实验——正弦信号产生
1实验目的
(1)掌握FPGA相关软件设计的基本流程;
(2)掌握FPGA硬件电路的设计和使用
(3)学会使用VHDL语言设计程序。
2实验所用仪器(或实验环境)
软件:
MATLAB、quartusⅡ;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子信息 系统 综合 实验 报告 材料