通信工程实验报告.docx_第1页
通信工程实验报告.docx_第2页
通信工程实验报告.docx_第3页
通信工程实验报告.docx_第4页
通信工程实验报告.docx_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信工程实验报告 班级:通信2012-04班 学号: 20122211 姓名: 刘涛 实验一:FPGA实验_BDPSK调制解调器设计一、实验目的 学习BDPSK 原理的硬件实现方法。 学习用VerilogHDL 硬件描述语言建模时序逻辑电路的能力。2、 实验报告要求由于在 BPSK 解调中,相干载波恢复可能出现相位模糊,所以在实际应用中经常采用 BDPSK(二进制差分相移键控)方式。BDPSK 方式不需要在解调端恢复相干参考信号, 非相干接收机容易制造而且成本低,因此在无线通信系统中被广泛使用。在 BDPSK 系统 中,输入的二进制序列先进行差分编码,然后再用 BPSK 调制器调制。 BDPSK 调制系统的结构图。(Microsoft Visio 中截图) BDPSK 调制器模块的VerilogHDL 代码及注释。 功能仿真和时序仿真结果的波形。(ModelSim 中截图) (选做)开发板验证后的波形。(示波器上拍照)三、 实验结果1、 调制器和解调器的外引脚图和内部结构图图1.1 调制器的外部引脚图1.2 调制器的内部结构图1.3 解调器的外部引脚图1.4 解调器的内部结构2、调制器模块和解调器模块的 VerilogHDL 代码及注释(1)差分编码module chafen( reset_n,clk,a,b );input reset_n;input clk;input a;output b;reg c;assign b = a c ;always ( posedge clk or negedge reset_n )if(!reset_n)c = 0 ;elsebeginc = b;endEndmodule(2) 控制器module Controller(clk,reset_n,data,address,clk_DA,blank_DA_n,sync_DA_n);input clk ;input reset_n ;input data ;output 4 : 0 address ;output clk_DA ; /数模转换器控制信号output blank_DA_n ; /数模转换器控制信号output sync_DA_n ; /数模转换器控制信号reg 4 : 0 address_data;reg c ;always ( posedge clk or negedge reset_n )beginif(!reset_n) c=1bz;else c=data;endalways ( posedge clk or negedge reset_n )beginif(!reset_n) address_data=5b00000;else if(c=data) address_data=address_data+5b00001;elsebegincase(data)1b0:address_data=5b00000;1b1:address_data=5b10000;default:address_data=5bzzzzz;endcaseendendassign address = address_data;assign clk_DA = clk;assign blank_DA_n = 1b1;assign sync_DA_n = 1b1;Endmodule(3) 查找表module LookUpTable( clk,reset_n,address,dataout,);input clk;input reset_n;input 4 : 0 address;output 7 : 0 dataout;reg 7 : 0 LUT 0 : 31 ;always ( posedge clk or negedge reset_n )beginif( !reset_n )begin /用C编程计算出的查找表采样值填在这里 LUT 0 = 8h7f;/0 LUT 1 = 8h97; LUT 2 = 8haf; LUT 3 = 8hc5; LUT 4 = 8hd9; LUT 5 = 8he8; LUT 6 = 8hf4; LUT 7 = 8hfc; LUT 8 = 8hfe; LUT 9 = 8hfc; LUT 10 = 8hf5; LUT 11 = 8hea; LUT 12 = 8hda; LUT 13 = 8hc7; LUT 14 = 8hb2; LUT 15 = 8h9a; LUT 16 = 8h81;/180 LUT 17 = 8h69; LUT 18 = 8h51; LUT 19 = 8h3b; LUT 20 = 8h27; LUT 21 = 8h17; LUT 22 = 8hb ; LUT 23 = 8h3 ; LUT 24 = 8h0 ; LUT 25 = 8h1 ; LUT 26 = 8h8 ; LUT 27 = 8h13; LUT 28 = 8h22; LUT 29 = 8h35; LUT 30 = 8h4a; LUT 31 = 8h62;endendassign dataout = LUT address ;endmodule 功能仿真和时序仿真结果的波形图1.5 功能仿真图1.6 时序仿真 实验二 MATLAB实验_OFDM误码率仿真(AWGN)一、实验目的:1、 掌握OFDM 的基本原理。2、 掌握用Matlab 搭建OFDM 系统的基本方法3、 用MATLAB 进行OFDM 系统在AWGN 信道下误码率分析。二、实验内容(1) 发送部分 对产生的 0 、1 比特流进行 16QAM 调制 ,映射到星座图上 ,即将数据变为复平面内的数据; 将变换后的数据进行串并转换进行 IFFT 变换后在进行并串转换。为了避免多径造传播成 的 IS I 干扰,要对每一 个 OFD M 符号加循环前缀( CP )。为 了避免码间干扰,CP 中的信号与对应 OFDM 符号尾部宽度为 Tg 的部分相同,Tg 为人为设定。本实验中为 OFDM 符号长度的 1/4 。 加保护间隔。为了最大限度的消除码间干扰,该保护间隔一般大于多径信道的最大时延, 这样一个符号的多径干扰就不会对下一个符号造成干扰。将产生的 OFDM 符号组成一个串行序列,即组帧。(2)信道部分:AWGN 信道(3) 接收部分: 解帧,将接收的序列分解为一个个独立的 OFDM 符号。 去掉保护间隔,将加在每个符号前的保护间隔去掉。 将去掉保护间隔的 OFDM 符号进行串并转换 , 为下一步快速傅里叶变换做准备。 将并行的信号进行快速傅里叶变换得到对应的时域信号。 进行并串转换,再进行 QAM 解调,解调之前要进行均衡处理。解调之后得到之前生 成的 0 、 1 比特流。设计仿真方案,得到在数据传输过程中不同信噪比的 BER 性能结论,要求得到的 BER曲线较为平滑。四、实验报告要求所有程序完整的源代码(.m 文件)以及注释。仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif 或者.emf 的格式并插入 word 文档。三、实验结果1、所有程序完整的源代码(.m文件)以及注释clear all;close all;fprintf(OFDM基带系统nn); %参数设置% carrier_count=256; %FFT数目number_symbol=1500; %OFDM符号数目()Guard_count=carrier_count/4; %循环前缀Pilot_interval=15; %导频间隔Pilot_count=ceil(number_symbol/Pilot_interval); %每一行导频的个数modulation_mode=16; %16QAMSNR=-2:35;k=log2(modulation_mode);%主程序循环% for number_snr=1:length(SNR) fprintf(nnn仿真信噪比,SNR(number_snr); %产生发送的随机序列% Source_Bits=randi(0 1,1,k*(carrier_count*number_symbol); %16QAM调制% QAM_16_IQ = -3 -1 3 1; QAM_input_I = QAM_16_IQ(Source_Bits(1:4:end)*2+Source_Bits(2:4:end)+1);%00:-3 01:-1 11:1 10:3 QAM_input_Q = QAM_16_IQ(Source_Bits(3:4:end)*2+Source_Bits(4:4:end)+1);%00:-3 01:-1 11:1 10:3 Modulated_Sequence_Tx1 = QAM_input_I + 1i * QAM_input_Q; %串并变换% Modulated_Sequence_Tx=reshape(Modulated_Sequence_Tx1,carrier_count,number_symbol); %产生已知的导频序列% Pilot_symbols=(round(rand(carrier_count,Pilot_count)*2-1); %导频符号的插入% for kk=1:Pilot_count Modulated_Sequence_Tx_insert(:,(kk-1)*(Pilot_interval+1)+1)=Pilot_symbols(:,kk); Modulated_Sequence_Tx_insert(:,(kk-1)*(Pilot_interval+1)+2:(kk-1)*(Pilot_interval+1)+16)=Modulated_Sequence_Tx(:,(kk-1)*Pilot_interval+1:(kk-1)*Pilot_interval+15);end %IFFT变换% Time_signal_Tx1=ifft(Modulated_Sequence_Tx_insert); %加循环前缀% Time_signal_Tx_cp1(1:Guard_count,:)=Time_signal_Tx1(carrier_count-Guard_count+1:carrier_count,:);Time_signal_Tx_cp1(Guard_count+1:Guard_count+carrier_count,:)=Time_signal_Tx1(1:carrier_count,:); %并串变换% Time_signal_Tx_cp=reshape(Time_signal_Tx_cp1,1,(Guard_count+carrier_count)*(number_symbol+Pilot_count); %高斯信道和瑞利信道% Time_signal_Tx_cp_channel1=awgn(Time_signal_Tx_cp,SNR(number_snr),measured); %串并变换% Time_signal_Tx_cp_channel=reshape(Time_signal_Tx_cp_channel1,carrier_count+Guard_count,number_symbol+Pilot_count); %信号接收 去循环前缀% Time_signal_Rx_channel(1:carrier_count,:)=Time_signal_Tx_cp_channel(Guard_count+1:carrier_count+Guard_count,:); %FFT变换%frequence_signal_Rx_channel1=fft(Time_signal_Rx_channel);%获取导频符号处的序列 信道估计%for kk=1:Pilot_count Pilot_symbols_channel(:,kk)=frequence_signal_Rx_channel1(:,(kk-1)*(Pilot_interval+1)+1); frequence_signal_Rx_channel(:,(kk-1)*Pilot_interval+1:(kk-1)*Pilot_interval+15)=frequence_signal_Rx_channel1(:,(kk-1)*(Pilot_interval+1)+2:(kk-1)*(Pilot_interval+1)+16);end%并串变换%frequence_signal_Rx_channel_desert=reshape(frequence_signal_Rx_channel,1,(carrier_count)*number_symbol);%16QAM解调%QAM_input_I = real(frequence_signal_Rx_channel_desert);QAM_input_Q = imag(frequence_signal_Rx_channel_desert); for a=1:(carrier_count*number_symbol) if QAM_input_I(a) -2) & (QAM_input_I(a) 0) & (QAM_input_I(a) = 2) receive_Bits(a*k-3) = 1; receive_Bits(a*k-2) = 1; else receive_Bits(a*k-3) = 1; receive_Bits(a*k-2) = 0; end end for a=1:(carrier_count*number_symbol) if QAM_input_Q(a) = -2 % & QAM_input_Q(a) -2) & (QAM_input_Q(a) 0) & (QAM_input_Q(a) = 2) receive_Bits(a*k-1) = 1; receive_Bits(a*k) = 1; else receive_Bits(a*k-1) = 1; receive_Bits(a*k) = 0; end end%误码率计算% Num,Rat=biterr(Source_Bits,receive_Bits); biterr_total(number_snr)=Rat; fprintf(nn误码率为%fnn, biterr_total(number_snr);end%画图%figuresemilogy(SNR, biterr_total,bp-,LineWidth,2);axis(-2 35 10-5 0.9)xlabel(SNR);ylabel(BER);title(OFDM基带系统(高斯信道));2、 仿真结果图2.1 仿真结果实验三、MATLAB实验_OFDM误码率仿真(衰落)一、实验目的:1、 了解瑞利信道产生的原因及其特征。2、 用MATLAB 进行OFDM 系统在瑞利信道下误码率分析。二、实验报告要求1. 所有程序完整的源代码(.m 文件)以及注释。2. 仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif 或者.emf的格式并插入word 文档。三、实验结果1、 所有程序完整的源代码(.m文件)以及注释clear all;close all;fprintf(OFDM基带系统nn);%参数设置%carrier_count=256; %FFT数目number_symbol=1500; %OFDM符号数目()Guard_count=carrier_count/4; %循环前缀Pilot_interval=15; %导频间隔Pilot_count=ceil(number_symbol/Pilot_interval); %每一行导频的个数modulation_mode=16; %16QAMSNR=-2:35;k=log2(modulation_mode);%主程序循环%for number_snr=1:length(SNR) fprintf(nnn仿真信噪比,SNR(number_snr);%产生发送的随机序列% Source_Bits=randi(0 1,1,k*(carrier_count*number_symbol);%16QAM调制% QAM_16_IQ = -3 -1 3 1; QAM_input_I = QAM_16_IQ(Source_Bits(1:4:end)*2+Source_Bits(2:4:end)+1);%00:-3 01:-1 11:1 10:3 QAM_input_Q = QAM_16_IQ(Source_Bits(3:4:end)*2+Source_Bits(4:4:end)+1);%00:-3 01:-1 11:1 10:3 Modulated_Sequence_Tx1 = QAM_input_I + 1i * QAM_input_Q;%串并变换%Modulated_Sequence_Tx=reshape(Modulated_Sequence_Tx1,carrier_count,number_symbol); %产生已知的导频序列% Pilot_symbols=(round(rand(carrier_count,Pilot_count)*2-1); %导频符号的插入%for kk=1:Pilot_count Modulated_Sequence_Tx_insert(:,(kk-1)*(Pilot_interval+1)+1)=Pilot_symbols(:,kk); Modulated_Sequence_Tx_insert(:,(kk-1)*(Pilot_interval+1)+2:(kk-1)*(Pilot_interval+1)+16)=Modulated_Sequence_Tx(:,(kk-1)*Pilot_interval+1:(kk-1)*Pilot_interval+15);end%IFFT变换%Time_signal_Tx1=ifft(Modulated_Sequence_Tx_insert);%加循环前缀%Time_signal_Tx_cp1(1:Guard_count,:)=Time_signal_Tx1(carrier_count-Guard_count+1:carrier_count,:);Time_signal_Tx_cp1(Guard_count+1:Guard_count+carrier_count,:)=Time_signal_Tx1(1:carrier_count,:);%并串变换%Time_signal_Tx_cp2=reshape(Time_signal_Tx_cp1,1,(Guard_count+carrier_count)*(number_symbol+Pilot_count);%高斯信道和瑞利信道%raysign=raylrnd(1,1,(number_symbol+Pilot_count)*(Guard_count+carrier_count); Time_signal_Tx_cp=Time_signal_Tx_cp2.*raysign; Time_signal_Tx_cp_channel2=awgn(Time_signal_Tx_cp,SNR(number_snr),measured);Time_signal_Tx_cp_channel1=real(Time_signal_Tx_cp_channel2)./raysign+1i*(imag(Time_signal_Tx_cp_channel2)./raysign);%串并变换%Time_signal_Tx_cp_channel=reshape(Time_signal_Tx_cp_channel1,carrier_count+Guard_count,number_symbol+Pilot_count);%信号接收 去循环前缀%Time_signal_Rx_channel(1:carrier_count,:)=Time_signal_Tx_cp_channel(Guard_count+1:carrier_count+Guard_count,:);%FFT变换%frequence_signal_Rx_channel1=fft(Time_signal_Rx_channel);%获取导频符号处的序列 信道估计%for kk=1:Pilot_count Pilot_symbols_channel(:,kk)=frequence_signal_Rx_channel1(:,(kk-1)*(Pilot_interval+1)+1); frequence_signal_Rx_channel(:,(kk-1)*Pilot_interval+1:(kk-1)*Pilot_interval+15)=frequence_signal_Rx_channel1(:,(kk-1)*(Pilot_interval+1)+2:(kk-1)*(Pilot_interval+1)+16);end%并串变换% frequence_signal_Rx_channel_desert=reshape(frequence_signal_Rx_channel,1,(carrier_count)*number_symbol); %16QAM解调% QAM_input_I = real(frequence_signal_Rx_channel_desert);QAM_input_Q = imag(frequence_signal_Rx_channel_desert); for a=1:(carrier_count*number_symbol) if QAM_input_I(a) -2) & (QAM_input_I(a) 0) & (QAM_input_I(a) = 2) receive_Bits(a*k-3) = 1; receive_Bits(a*k-2) = 1; else receive_Bits(a*k-3) = 1; receive_Bits(a*k-2) = 0; end end for a=1:(carrier_count*number_symbol) if QAM_input_Q(a) = -2 % & QAM_input_Q(a) -2) & (QAM_input_Q(a) 0) & (QAM_input_Q(a) =0)-(y=0)-(y0)+0; %BPSK判决 x=x,xtemp; end for k=1:tx a(k:tx:end)=(x(k:tx:end)+1)/2; end errbit,temp_ber=biterr(A,a); berm=berm,temp_ber; end figuresemilogy(SNR, berm,bp-,LineWidth,2);axis(-5 35 10-5 0.9)xlabel(SNR);ylabel(BER);title(MMSE均衡检测(瑞利信道)); 2、 仿真结果图4.1 ZF检测仿真结果图4.2 MMSE仿真结果实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论