欢迎来到天天文库
浏览记录
ID:57207538
大小:129.50 KB
页数:9页
时间:2020-08-06
《Matlab简单的OFDM仿真-信道估计-有BER曲线.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、clearall;closeall;fprintf('OFDM仿真');%---------------------------------------------%% 参数定义 %%---------------------------------------------%IFFT_bin_length=1024;carrier_count =200;bits_per_symbol=2;symbols_per_carrier=50;%子载波数 200%
2、位数/符号 2%符号数/载波 50%训练符号数 10%循环前缀长度 T/4(作者注明) All-zeroCP %调制方式 QDPSK%多径信道数 2、3、4(缺省)%信道最大时延 7(单位数据符号)%仿真条件 收发之间严格同步%SNR=input('SNR='); %输入信噪比参数SNR=3:14;%定义信噪比范围BER=zeros(1,length(SNR));baseband_out_length=carrier_count*sym
3、bols_per_carrier*bits_per_symbol;%计算发送的二进制序列长度carriers=(1:carrier_count)+(floor(IFFT_bin_length/4)-floor(carrier_count/2)); %坐标:(1to200)+156, 157--356conjugate_carriers=IFFT_bin_length-carriers+2; %坐标:1024-(157:356)+2=1026-(157:356)=(869:670)%构造共轭时间-载波矩阵,以便应用所谓的RC
4、C,ReducedComputationalComplexity算法,即ifft之后结果为实数%Definetheconjugatetime-carriermatrix%也可以用flipdim函数构造对称共轭矩阵%---------------------------------------------%% 信号发射 %%---------------------------------------------%%out=rand(1,baseband_out_length);%b
5、aseband_out1=round(out);%baseband_out2=floor(out*2);%baseband_out3=ceil(out*2)-1;%baseband_out4=randint(1,baseband_out_length);%四种生成发送的二进制序列的方法,任取一种产生要发送的二进制序列%if(baseband_out1==baseband_out2&baseband_out1==baseband_out3)% fprintf('TransmissionSequenceGenerated'
6、);% baseband_out=baseband_out1;%else% fprintf('CheckCode!!!!!!!!!!!!!!!!!!!!!');%end%验证四种生成发送的二进制序列的方法baseband_out=round(rand(1,baseband_out_length));convert_matrix=reshape(baseband_out,bits_per_symbol,length(baseband_out)/bits_per_symbol);fork=1length(baseband
7、_out)/bits_per_symbol), modulo_baseband(k)=0;fori=1:bits_per_symbol modulo_baseband(k)=modulo_baseband(k)+convert_matrix(i,k)*2^(bits_per_symbol-i);end end%每2个比特转化为整数0至3%采用'left-msb'方式%-------------------------------------------------------------------------%
8、 Testbylavabin% Abuilt-infunctionofdirectlychangebinarybitsintodecimalnumbers%----------------------------------------------------
此文档下载收益归作者所有