当前位置 : 主页 > 编程语言 > python >

【OFDM】多径信道下OFDM通信系统误码率仿真附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-09-29
1 内容介绍 仿真是科学研究和工程建设中非常重要的方法.交频分复用(OFDM)技术是下一代移动通信的核心技术之一.重点研究了多径瑞利衰落信道下最大多径时延对基于OFDM技术的通信系统

1 内容介绍

仿真是科学研究和工程建设中非常重要的方法.交频分复用(OFDM)技术是下一代移动通信的核心技术之一.重点研究了多径瑞利衰落信道下最大多径时延对基于OFDM技术的通信系统性能的影响.

2 部分代码

%函数功能为添加导频信号,添加块状导频

%input:pilot_bit 1*256向量,pilot_inter间隔5

%output为插入导频后的并行数据矩阵,pilot_seq为调之后的导频序列

function[output,count,pilot_seq] = ...

    insert_pilot_f(input,pilot_bit,pilot_inter,num_carriers)

pilot_symbol = qpsk_modulation(pilot_bit);%导频复符号

pilot_seq = reshape(pilot_symbol,num_carriers,1);%就是变换成特定维数的矩阵

%pilot_seq = ifft(pilot_symbol_tem,128)*sqrt(128);%对应频域

[N,NL] = size(input);

output = zeros(N,(NL+fix(NL/pilot_inter))); %fix朝零方向取整数

count = 0;%counter用于计算加入导频的列数

i=1;

%首先插到第一行前面,然后每隔pilot_inter个符号插入一个导频序列 

while i<(NL+fix(NL/pilot_inter))%每隔pilot_inter个符号插入一个导频序列 

      output(:,i) = pilot_seq;

      count= count + 1;

      if count*pilot_inter<=NL

          output(:,(i+1):(i+pilot_inter))=...

          input(:,((count-1)*pilot_inter+1):count*pilot_inter);

      else

          %这句话是针对帧长度不能整除导频间隔的情况的

          output(:,(i+1):(i+piloy_inter+NL-count*pilot_inter))=...

          input(:,((count-1)*pilot_inter+1):NL);

      end

      i=i+pilot_inter+1;

end

end

3 运行结果

【OFDM】多径信道下OFDM通信系统误码率仿真附matlab代码_核心技术

4 参考文献

[1]刘卓伦, 马征. 基于Matlab平台的OFDM系统在不同信道下16QAM调制的仿真设计与分析[J]. 信息记录材料, 2017(12).

部分理论引用网络文献,若有侵权联系博主删除。


网友评论