通信工程实验报告-西南交通大学 - 图文
更新时间:2024-04-29 00:43:01 阅读量: 综合文库 文档下载
通信工程实验报告
班级: 姓名: 学号:
实验一BDPSK 调制解调器设计
一、实验目的
1. 掌握 BDPSK 的调制和解调原理。
2. 掌握倍频和分频的概念以及分频的实现方法。
3. 用 VerilogHDL 硬件描述语言建模,实现 BDPSK 基带调制解调系统。
二、实验说明
由于在 BPSK 解调中,相干载波恢复时可能出现相位模糊,所以在实际应用中经常采用 BDPSK(二进制差分相移键控)方式。BDPSK 方式不需要在解调端恢复相干参考信号,非相干接收机容易制造而且成本低,因此在无线通信系统中被广泛使用。
1.BDPSK 基带调制系统结构
在 BDPSK 调制系统中,输入的二进制序列先进行差分编码,然后再用 BPSK 调制器调制。一个基带的 BDPSK 调制系统如图 1 所示。
时钟 复位
时钟分频 伪随机序列 发生器 差分 编码 BPSK 调制 调制波形 (采样值)输出
BDPSK 基带调制系统 BDPSK 基带调制系统 图 1
2.差分编码差分编码原理为:
设计一个模二加法器和一个延迟单元,将当前时钟周期的绝对码信号和上一时钟周期经过一个码元延时的相对码信号进行模二加法(异或),得到当前时钟周期的相对码,并反复进行。延迟单元的功能可以用硬件电路中的寄存器来实现,用它作为保存上一次生成的相对码的容器,然后在下个时序到来时与当前的绝对码进行模二加得到输出。
绝对码
(伪随机序列 )
相对码 (差分码)
模二加 (异或) 延迟 Ts
图 2 差分编码原理
三、实验结果
1. 调制系统中各子模块的 VerilogHDL 代码及注释。
差分编码:
module Chafen(dataPN, clk1, reset_n, dataCF); input clk1; input dataPN; input reset_n; output dataCF; reg c;
always @( posedge clk1 or negedge reset_n ) begin
if(!reset_n) begin
c <= 1'b0; end else begin
c <= c^dataPN; end end
assign dataCF = c; endmodule 时钟分频器: module div( clk, reset_n, clk1 );
input clk; input reset_n; output clk1; reg [5 : 0] c; reg out;
always@(posedge clk or negedge reset_n) begin
if(!reset_n) begin out <= 0;
c = 6'b000000; end else begin
out <= c[5]; c <= c + 1; end end
assign clk1 = out; endmodule
伪随机序列发生器: module PN_Seq( clk1, reset_n, dataPN );
input clk1; input reset_n; output dataPN; reg [ 7 : 1 ] c;
always @( posedge clk1 or negedge reset_n ) begin
/* Your Design */ if(!reset_n) begin
c <=7'b0001111; end else
begin //7级M序列编码
c[1] <= c[2]^c[3]^c[4]^c[7]; c[7] <= c[6]; c[6] <= c[5]; c[5] <= c[4]; c[4] <= c[3]; c[3] <= c[2]; c[2] <= c[1]; end end
assign dataPN = c[7];
endmodule
2. 调制系统顶层模块的 VerilogHDL 代码及注释。 module BPSK( clk, reset_n, clk_DA, blank_DA_n, sync_DA_n, dataout
);
input clk ; input reset_n ; output clk_DA ; output blank_DA_n; output sync_DA_n ; output [ 7 : 0 ] dataout ; wire [ 4 : 0 ] address ; Controller CONTROLLER ( .clk ( clk ), .reset_n ( reset_n ),
.dataCF ( dataCF ), .address ( address ), .clk_DA ( clk_DA ), .blank_DA_n( blank_DA_n ), .sync_DA_n ( sync_DA_n ) );
LookUpTable LOOKUPTABLE ( .clk ( clk ), .reset_n ( reset_n ), .address ( address ),
.dataout ( dataout ) );
Chafen CHAFEN(
.dataPN ( dataPN ), .clk1 ( clk1 ), .reset_n ( reset_n ), .dataCF ( dataCF ) );
PN_Seq PN_SEQ(
.clk1 ( clk1 ), .reset_n ( reset_n ), .dataPN ( dataPN )
);
div DIV(
.clk ( clk ), .reset_n ( reset_n ), .clk1 ( clk1 )
); Endmodule
3.功能仿真和时序仿真结果的波形,至少要同时显示出伪随机序列、差分编码结果和 BDPSK 调制信号。
功能仿真:
时序仿真:
实验二CDMA调制与解调
一、 实验目的:
1、 了解 CDMA 的原理和调制解调过程。
2、 用 MATLAB 进行 CDMA 的调制解调过程的仿真。
二、实验原理:
扩频通信用伪随机编码把基带信号的频谱进行扩展,形成相当宽带的低功率谱密度的信号发射,接收端使用相关处理方式,也要把接受的宽带扩频信号恢复成基带信号。图 1 为典型扩频通信的基本原理图。
图 1 典型扩频通信的基本原理图
三、报告要求
1. 所有程序完整的源代码(.m文件)以及注释。
2. 仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif 或者.emf的格式并插入word 文档。
四、实验结果
1.
shiyan2.m clear all; close all;
C2=1;C1=0;C0=1; %m序列初值 N=10^4;
MN=7*N; %重复MN遍的7位单极性m序列 EbNo=-20:5; %信噪比 L(MN)=0; M(MN)=0;
reds_sample(1:MN)=0; reds_judge(1:N)=0; err(length(EbNo))=0; message_ds(1:MN)=0; ds(1:MN)=0; for i=1:MN
TC0=C0; TC1=C1; TC2=C2; C0=C1; C1=C2; C2=xor(TC0,TC1); L(i)=TC0; end
for i=1:MN
M(i)=1-2*L(i); %将单极性m序列变为双极性m序列 end
M_ds=rectpulse(M,1000); %双极性m序列的扩频序列 message=rand(1,N)>0.5; %产生二进制随机数
for i=1:N k=7*i-6;
message_ds(k)=message(i);k=k+1; message_ds(k)=message(i);k=k+1; message_ds(k)=message(i);k=k+1; message_ds(k)=message(i);k=k+1; message_ds(k)=message(i);k=k+1; message_ds(k)=message(i);k=k+1; message_ds(k)=message(i); end
for i=1:MN
ds(i)=xor(L(i),message_ds(i)); end
fs=2000;
ts=0:0.00001:MN/100-0.00001; %为了使信号看起来更光滑,作图时采样频率为100kHz ds_b=rectpulse(ds,1000); %将冲激信号补成矩形信号? ds_bpsk=(1-2.*ds_b).*cos(2*pi*fs*ts); [b,a]=tf(lpf);%得到传递函数,b=Num;a=1; for k=1:length(EbNo)
ds_bpsk_awgn = awgn(ds_bpsk,EbNo(k),'measured'); ds_re=ds_bpsk_awgn.*cos(2*pi*fs*ts); ds_lpf=filter(b,a,ds_re);
%解扩
reds=M_ds.*ds_lpf(1:1000*MN);
%抽样 for i=1:MN
j=1000*i-500;
reds_sample(i)=reds(j); end
%判决 for i=1:MN
if (reds_sample(i)>0.2) reds_sample(i)=1;
elseif (reds_sample(i)<-0.2) reds_sample(i)=-1; else reds_sample(i)=0; end end
for i=1:N j=7*i-6;
if (reds_sample(j)==0)
reds_sample(j)=reds_sample(j+4); end end
for i=1:MN-2
if (reds_sample(i)==0)
reds_sample(i)=reds_sample(i+2); end end
for i=1:N
reds_judge(i)=reds_sample(i*7-3); if (reds_judge(i)==0)
reds_judge(i)=reds_judge(i)+1; end
reds_judge(i)=(1-reds_judge(i))/2; end
err(k)=length(find((reds_judge-message)~=0)); %计算误码个数 end
err=err./N; figure(1)
plot(EbNo,err);xlabel('EbNo/dB');ylabel('误码率');title('BPSK调制的CDMA误码率')
lpf.m
function Hd = lpf
%LPF Returns a discrete-time filter object.
% MATLAB Code
% Generated by MATLAB(R) 9.0 and the DSP System Toolbox 9.2. % Generated on: 26-Oct-2016 22:33:44
% FIR Window Lowpass filter designed using the FIR1 function.
% All frequency values are in Hz.
Fs = 2000; % Sampling Frequency
N = 30; % Order
Fc = 10; % Cutoff Frequency flag = 'scale'; % Sampling Flag
Beta = 0.5; % Window Parameter
% Create the window vector for the design algorithm. win = kaiser(N+1, Beta);
% Calculate the coefficients using the FIR1 function. b = fir1(N, Fc/(Fs/2), 'low', win, flag); Hd = dfilt.dffir(b);
% [EOF]
2.仿真结果
MATLAB实验 基于导频的信道估计仿真分析1
一、实验目的
1、 了解信道估计的作用、在无线通信中的地位以及基本原理; 2、 掌握LS信道估计的原理;
3、 用MATLAB对基于导频的信道估计进行仿真,在瑞利平坦信道下分析其MSE性能。
二、实验原理: 如图为纯导频信道估计实验流程框图。
图1 纯导频信道估计实验流程框图
二、报告要求
1. 所有程序完整的源代码(.m文件)以及注释。
2. 仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif 或者.emf的格式并插入word 文档。
三、实验结果
1.
shiyan3.m
clear all;close all; NUM=10^5;
EbNo=0:30; %信噪比
datastream(1:NUM)=1; %全1数据 MSE(1:length(EbNo))=0;
%h瑞利分布
hb=unifrnd (0,2*pi,1,NUM); ha=raylrnd(1,1,NUM); h=ha.*exp(1i.*hb);
data_r=datastream.*h; %通过瑞利信道
for k=1:length(EbNo)
data_ra = awgn(data_r,EbNo(k),'measured'); %加高斯白噪声 h_est=data_ra./datastream; %计算MSE
for i=1:NUM
MSE(k)=MSE(k)+(abs(h(i)-h_est(i)))^2; end
MSE(k)=MSE(k)/NUM; end
plot(EbNo,MSE);xlabel('EbNo/dB');ylabel('MSE');title('基于导频信道的SNR与MSE的关系曲线')
2.仿真结果
实验四基于导频的信道估计仿真分析2
一、实验目的
1、 了解数据与导频同时发送时如何进行信道估计。
2、 用MATLAB对基于导频的信道估计进行仿真,在瑞利平坦信道下分析其MSE性能。
二、实验原理
图为导频与数据同时发送时进行信道估计的实验流程框图。
具体内容及信道估计准则请见前一实验。 帧结构:
红色部分为导频符号,有 m 个导频,用以估计系统信道响应;蓝色部分为数据部分,有 n 个数据,通过导频处的信道响应推出数据位置的信道响应,完成均衡处理,解调数据位信号,提升系统性能。
三、报告要求
1. 所有程序完整的源代码(.m文件)以及注释。
2. 仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif 或者.emf的格式并插入word 文档。
三、实验结果
1.
shiyan4.m
clear all;close all; Nbit=2*10^4; %帧数
N=2*7*Nbit; %二进制比特流个数
M=3*Nbit; %导频个数 EbNo=0:35; %信噪比 err(length(EbNo))=0; %误码率
MSE(length(EbNo))=0; %信道估计MSE message = rand(1,N)>0.5; %二进制比特流 pf(1:M) = 1+i; %导频信号
%生成二进制比特流并qpsk调制
qpsk_IQ = [-1 1];
qpsk_I = qpsk_IQ(message(1:2:end)+1); qpsk_Q = qpsk_IQ(message(2:2:end)+1); qpsk=(qpsk_I+1j.*qpsk_Q);
MN=M+length(qpsk); frame(1:MN)=0; %帧信号 %组帧
k=1; j=1;
for i=1:length(qpsk) frame(j)=qpsk(i); j=j+1;
if( mod(i,7)==0 )
frame(j)=pf(k);j=j+1;k=k+1; frame(j)=pf(k);j=j+1;k=k+1; frame(j)=pf(k);j=j+1;k=k+1; end end
frame_rayl(1:length(frame))=0; %通过瑞利信道后的帧信号
%产生瑞利分布
hb=unifrnd (0,2*pi,1,Nbit); ha=raylrnd(1,1,Nbit); h=ha.*exp(1i.*hb);
%帧通过瑞利信道
j=1;
for i=1:length(h) for k=1:10
frame_rayl(j)=h(i)*frame(j);j=j+1; end end
pf_awgn(1:M)=0; %加高斯白噪声导频信号部分
qpsk_awgn(1:length(qpsk))=0; %加高斯白噪声qpsk信号部分 h_est(1:Nbit)=0; %根据导频信号计算出的信道估计
qpsk_est(1:length(qpsk))=0; %根据计算出的信道估计得到接收到的qpsk信号
%计算误码率与信道估计的MSE for kk=1:length(EbNo)
frame_awgn = awgn(frame_rayl,EbNo(kk),'measured'); %加高斯白噪声 %分离组帧中的数据信号与导频信号
jj=1;ii=1;
for j=1:length(frame_awgn)
if( mod(j,10)==0 || mod(j,10)==8 ||mod(j,10)==9 ) pf_awgn(jj)=frame_awgn(j);jj=jj+1; else
qpsk_awgn(ii)=frame_awgn(j);ii=ii+1; end end
%根据导频信号计算信道估计
h_awgn=pf_awgn./pf; for jjj=1:length(h_est)
h_est(jjj)=(h_awgn(jjj*3-2)+h_awgn(jjj*3-1)+h_awgn(jjj*3))/3; end k=1;
%根据计算出的信道估计,计算接收到的qpsk信号
for iii=1:length(qpsk_est)
qpsk_est(iii)=qpsk_awgn(iii)/h_est(k); if( mod(iii,7)==0 ) k=k+1; end end
%qpsk解调
qpsk_est_re=real(qpsk_est); qpsk_est_im=imag(qpsk_est); qpsk_IQD = [0 1];
qpsk_est_re(find(qpsk_est_re>1)) = 1; qpsk_est_re(find(qpsk_est_re<-1)) = -1; qpsk_est_im(find(qpsk_est_im>1)) = 1; qpsk_est_im(find(qpsk_est_im<-1)) = -1; qpsk_de=[zeros(1,N)];
qpsk_de(1:2:end) = qpsk_IQD(round((qpsk_est_re+1)/2) + 1); qpsk_de(2:2:end) = qpsk_IQD(round((qpsk_est_im+1)/2) + 1);
%计算误码率
err(kk)=length(find((qpsk_de-message)~=0)); err(kk)=err(kk)./N;
%计算信道估计的MSE
for imse=1:length(h)
MSE(kk)=MSE(kk)+(abs(h(imse)-h_est(imse)))^2; end
MSE(kk)=MSE(kk)/length(h); end
plot(EbNo,err);xlabel('EbNo/dB');ylabel('误码率'); figure(2)
plot(EbNo,MSE);xlabel('EbNo/dB');ylabel('MSE');
2.仿真结果
MSE曲线
BER曲线
实验五FPGA 实验 HDB3 编码器设计
一、实验目的
⒈ 深入理解 HDB3 编码原理。
⒉ 学习用 VerilogHDL 硬件描述语言建模较复杂时序逻辑电路。 ⒊ 学习 FPGA 设计中的 Testbench(测试平台)技术。 ⒋ 掌握 FPGA 设计中仿真与综合的概念。 ⒌ 学习编写仿真测试代码与可综合代码。
二、报告要求
⒈ 输入信号为全 全 0 码时,以下各时序仿真结果:(ModelSim 中截图)
⑴ 加 V 后; ⑵ 补 B 后;
⑶ 最终得到的 HDB3 码。
2. 改写 HDB3 编码器的测试文件代码,使测试文件能 连续产生伪随机序列,将改写后的 测试文件代码写在实验报告中。(可以参考教师提供的 VerilogHDL 教程中的第 10 章 10.3.8 部分的内容)
3. 思考:测试文件代码和编码器模块代码都是用 VerilogHDL 语言编写的,这两种代码在 语法上有什么区别?分别举一个例子进行比较。
三、实验结果
1.
data_v:加V信号 data_b:加B信号 dataout:最终信号 2. 测试文件
timescale 1ns/100ps
module HDB3_encoder_test; reg clk; reg reset_n; reg datain;
wire [2:0] dataout;
HDB3_encoder DESIGN (
.clk (clk),
.reset_n (reset_n), .datain (datain), .dataout (dataout) ); initial begin
clk=1'b0; end
always begin
#5 clk=~clk; end initial begin
#0 reset_n=1'b0; #20 reset_n=1'b1; end
datain=$dist_uniform(12,start,end); endmodule 3.
不允许在可综合的设计代码中使用`Define来定义参数,应该使用参数Parameter来定义。例如`Define只用于编写不可综合的仿真测试模块。
实验六宽带接入实验 非拨号方式上网
一、实验目的
⒈ 了解非拨号方式上网的基本原理和组网结构。 ⒉ 学习在 MA5300 上配置非拨号方式上网的方法。 ⒊ 在终端计算机上以非拨号方式连通外网。
二、报告要求
⒈ 参考图 1,简述非拨号方式上网的原理。
⒉ 简述实验成功后观测到的现象,并拍照粘贴到实验报告中。
三、实验结果
1.
配置路由器数据->在MA5300上建立业务VLAN->把ADSL端口划入业务VLAN->配置以太网端口参数->配置ADSL端口参数->把两台PC设在同一个IP网段里 ->把PC接在ADS端口上->PC自动获取IP。 2.
建立连接:
断开连接:
实验七光传输实验 链形传输组网
一、实验目的
⒈ 学习链形组网的连接方式。
⒉ 学习链形组网的电话业务和数据业务的配置方法。
二、报告要求
⒈ 参考图 2,画出 3 台交换机业务连接图,并标注你所选用的时隙。 ⒉ 简要描述最后的验证方法,以及误码仪上的现象。
三、实验结果
1.
交换机业务连接图
2.
用误码仪分别正向与反向测交换机1与交换机2,交换机2与交换机3的相应时隙,测出来的当前误码率都是0,无误码秒都在增加,说明三台交换机之间可以互相通信。
实验八光传输实验 环形传输组网
一、实验目的
⒈ 学习环形组网的交换机连接方式。
⒉ 学习环形组网的电话业务和数据业务的配置方法。
二、报告要求
⒈ 参考图 2,画出 3 台交换机的业务连接图,并标注所选用的时隙。 ⒉ 简要描述最后的验证方法,以及误码仪上的现象
三、实验结果
1.
交换机业务连接图
2.
用误码仪正向测交换机1与交换机2,交换机2与交换机3的相应时隙,测出来的当前误码率都是0,无误码秒都在增加,说明三台交换机之间可以互相通信。
用误码仪反向测交换机1与交换机2,交换机2与交换机3的相应时隙,测出来的当前误码率都是不为零,无误码秒不增加,说明三台交换机之间只能单向循环传输。
正在阅读:
通信工程实验报告-西南交通大学 - 图文04-29
人教版初二上名著阅读知识点03-28
中国共产党第十八届中央纪律检查委员会委员名单及简历11-22
爱的重量作文500字07-04
工程地质习题集答案103-13
3551光谷人才计划07-21
《幼儿卫生与保健》教学大纲10-27
施工方案 - secret05-09
人教版五年级上册第二单元课程标准教案07-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 通信工程
- 交通大学
- 西南
- 实验
- 图文
- 报告
- 第五章 色谱理论
- 金蝶K3供应链常见问题集5
- 兰州大学管理学院教师高级专业技术职务申请条件修订(最终版)
- 重庆融资资料整理(精)
- 身体语言:在不同文化中的同与异
- 英语过去进行时专项语法讲解
- 计算机二级excel16套题目解答
- 2015年杭州下城区二模试卷,答卷及答案
- 常见化学危险品特性危害及处置方法
- 国际经济学题库 - 图文
- 清华版五年级下册信息技术scratch教案(彩色版)
- 烘焙考试题
- 历城区城中村改造农村集体经济组织成员资格认定指导意见(附小组
- 2018年秋部编三年级语文教学计划(学情分析+教学内容+教学目标+教
- 企业员工手册
- 江苏省2018-2019年高二上学期第三次月考物理试题
- 人大廉租房及农村危房改造情况视察报告(政府)11.2
- 心理学模拟试题
- 2015年修订版马克思主义基本原理概论课教案第四章资本主义的本质
- 松江报警主机3208控制器使用说明书