您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 西南交通大学_通信工程实验报告
通信工程实验报告班级:___通信1班____学号:________姓名:华亿超市实验一FPGA实验BDPSK调制解调器设计一、实验目的⒈掌握BDPSK的调制和解调原理。⒉掌握倍频和分频的概念以及原理。⒊用VerilogHDL硬件描述语言建模时序逻辑电路,实现BDPSK基带调制解调系统。二、实验报告要求⒈调制器和解调器的外引脚图和内部结构图。(MicrosoftVisio中截图)⒉调制器模块和解调器模块的VerilogHDL代码及注释。⒊功能仿真和时序仿真结果的波形。(ModelSim中截图)⒋(选做)开发板验证后的波形。(示波器上拍照)三、实验结果1、BDPSK调制系统的结构图。2、BDPSK调制器模块的VerilogHDL代码及注释。分频器:modulefre_div(clk,cp0);//分频器inputclk;outputregcp0;parameterN=32;integeri=0;initialbegincp0=0;endalways@(posedgeclk)beginif(iN/2-1)i=i+1;elsebegini=0;cp0=~cp0;endendendmodule随机码序列产生器(m序列):modulePN_Seq(clk,reset_n,dataout);inputclk;inputreset_n;outputdataout;reg[7:1]c;always@(posedgeclkornegedgereset_n)beginif(!reset_n)c=7'b1001110;elsebeginc[7]=c[6];c[6]=c[5];c[5]=c[4];c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[2]^c[3]^c[4]^c[7];endendassigndataout=c[7];endmodule差分编码器:moduledif(clk,reset_n,in,out);inputclk;inputreset_n;inputin;outputout;reg[1:0]o;always@(posedgeclkornegedgereset_n)beginif(!reset_n)o=1;elsebegino=in^o;endendassignout=o;endmodule控制器:moduleController(clk,reset_n,s,address,cp);inputclk;inputreset_n;inputcp;inputs;//相对码output[4:0]address;reg[4:0]address_data;reg[4:0]count;regsign;always@(posedgecp)beginif(s==0)count=5'b10000;elseif(s==1)count=5'b00000;sign=1;endalways@(posedgeclkornegedgereset_n)beginif(!reset_n)address_data=5'b00000;elsebeginif(sign==1)beginaddress_data=count;sign=0;endaddress_data=address_data+1'b1;if(address_data==32)address_data=5'b00000;endendassignaddress=address_data;endmodule正弦波形查找表:moduleLookUpTable(clk,reset_n,address,dataout);//正弦载波采样表inputclk;inputreset_n;input[4:0]address;output[7:0]dataout;reg[7:0]LUT[0:31];always@(posedgeclkornegedgereset_n)beginif(!reset_n)beginLUT[0]=128;//用C编程计算出的查找表采样值填在这里LUT[1]=152;LUT[2]=176;LUT[3]=198;LUT[4]=218;LUT[5]=234;LUT[6]=245;LUT[7]=253;LUT[8]=255;LUT[9]=253;LUT[10]=245;LUT[11]=234;LUT[12]=218;LUT[13]=198;LUT[14]=176;LUT[15]=152;LUT[16]=128;LUT[17]=103;LUT[18]=79;LUT[19]=57;LUT[20]=37;LUT[21]=22;LUT[22]=10;LUT[23]=2;LUT[24]=0;LUT[25]=2;LUT[26]=10;LUT[27]=22;LUT[28]=37;LUT[29]=57;LUT[30]=79;LUT[31]=103;endendassigndataout=LUT[address];endmodule3、功能仿真和时序仿真结果的波形功能仿真:时序仿真:实验二MATLAB实验OFDM误码率仿真(AWGN)一、实验目的:1、掌握OFDM的基本原理。2、掌握用Matlab搭建OFDM系统的基本方法3、用MATLAB进行OFDM系统在AWGN信道下误码率分析。二、实验报告要求1.所有程序完整的源代码(.m文件)以及注释。2.仿真结果。对于所有的图形结果(包括波形与仿真曲线等),将图形保存成.tif或者.emf的格式并插入word文档。三、实验结果1、所有程序完整的源代码(.m文件)以及注释:%16QAM的调制函数function[complex_qam_data]=qam16(bitdata)%modulationof16QAM,modulatebitdatato16QAMcomplexsignalX1=reshape(bitdata,4,length(bitdata)/4)';d=1;%mindistanceofsymblefori=1:length(bitdata)/4;forj=1:4X1(i,j)=X1(i,j)*(2^(4-j));endsource(i,1)=1+sum(X1(i,:));%converttothenumber1to16endmapping=[-3*d3*d;-d3*d;d3*d;3*d3*d;-3*dd;-dd;dd;3*dd;-3*d-d;-d-d;d-d;3*d-d;-3*d-3*d;-d-3*d;d-3*d;3*d-3*d];fori=1:length(bitdata)/4qam_data(i,:)=mapping(source(i),:);%datamappingendcomplex_qam_data=complex(qam_data(:,1),qam_data(:,2));%16QAM的解调函数。function[demodu_bit_symble]=demoduqam16(Rx_serial_complex_symbols)%将得到的串行16QAM数据解调成二进制比特流complex_symbols=reshape(Rx_serial_complex_symbols,length(Rx_serial_complex_symbols),1);d=1;mapping=[-3*d3*d;-d3*d;d3*d;3*d3*d;-3*dd;-dd;dd;3*dd;-3*d-d;-d-d;d-d;3*d-d;-3*d-3*d;-d-3*d;d-3*d;3*d-3*d];complex_mapping=complex(mapping(:,1),mapping(:,2));fori=1:length(Rx_serial_complex_symbols);forj=1:16;metrics(j)=abs(complex_symbols(i,1)-complex_mapping(j,1));end[min_metricdecode_symble(i)]=min(metrics);%将离某星座点最近的值赋给decode_symble(i)enddecode_bit_symble=de2bi((decode_symble-1)','left-msb');demodu_bit_symble=reshape(decode_bit_symble',1,length(Rx_serial_complex_symbols)*4);%加窗函数function[rcosw]=rcoswindow(beta,Ts)%定义升余弦窗,其中beta为滚降系数,Ts为包含循环前缀的OFDM符号的长度,Ts为正偶数t=0:(1+beta)*Ts;rcosw=zeros(1,(1+beta)*Ts);fori=1:beta*Ts;rcosw(i)=0.5+0.5*cos(pi+t(i)*pi/(beta*Ts));endrcosw(beta*Ts+1:Ts)=1;forj=Ts+1:(1+beta)*Ts+1;rcosw(j-1)=0.5+0.5*cos((t(j)-Ts)*pi/(beta*Ts));endrcosw=rcosw';%变换为列向量%OFDM主程序clearall;closeall;carrier_count=200;%子载波数symbols_per_carrier=12;%每子载波含符号数bits_per_symbol=4;%每符号含比特数,16QAM调制IFFT_bin_length=512;%FFT点数PrefixRatio=1/4;%保护间隔与OFDM数据的比例1/6~1/4GI=PrefixRatio*IFFT_bin_length;%每一个OFDM符号添加的循环前缀长度为1/4*IFFT_bin_length即保护间隔长度为128beta=1/32;%窗函数滚降系数GIP=beta*(IFFT_bin_length+GI);%循环后缀的长度20SNR=15;%信噪比dB%==================================================%================信号产生===================================baseband_out_length=carrier_count*symbols_per_carrier*bits_per_symbol;%所输入的比特数目carriers=(1:carrier_count)+(floor(IFFT_bin_length/4)-floor(carrier_count/2));%共轭对称子载波映射复数数据对应的IFFT点坐标conjugate_carriers=IFFT_bin_length-carriers+2;%共轭对称子载波映射共轭复数对应的IFFT点坐标baseband_out=round(rand(1,baseband_out_length));%输出待调制的二进制比特流%==============16QAM调制====================================complex_carrier_matrix=qam16(baseband_out);%列向量complex_carrier_matrix=reshape(complex_carrier_matrix',carrier_count,symbols_per_carrier)';%symbols_per_carrier*carrier_count矩阵figure(1);plot(complex_carrier_matrix,'*r');%16QAM调制后星座图title('16QAM调制后星座图')axis([-4,4,-4,4]);gridon%=================IFFT===========================IFFT_
本文标题:西南交通大学_通信工程实验报告
链接地址:https://www.777doc.com/doc-5895884 .html