MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:3985
  • 回复:0
LTE的OFDM符号生成
destild
新手上路
鎵嬫満鍙风爜宸查獙璇


 发短消息    关注Ta 

积分 -752
帖子 60
威望 13021 个
礼品券 0 个
专家指数 -1052
注册 2017-1-19
专业方向 
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2018-12-18 20:34:44  只看楼主 

原文 Understanding LTE with MATLAB  ,作者Houman Zarrinkoub,本文是对于该书的翻译,书中的专业性词汇给出了英文原文,图和表的排版都是参考原文,翻译不准确的地方请读者多多包涵。

本文仅限于个人学习,研究,交流,不得用于其他商业用途!


5.10 资源粒映射

在本节中,我们将详细描述将资源网格的组件放置在标准中指定的位置的资源元素映射。映射主要通过创建到资源网格矩阵的索引并在网格中放置各种信息类型来执行。图5.8-5.10中给出的三种不同类型的资源块的说明有助于可视化这些索引的公式。根据使用的子帧,我们将BCH、PSS和SSS填充在DC子载波周围的六个中央资源块的子帧0或子帧5中。CSR被放置在每个时隙的符号0和5中,具有六个子载波的频域分离。

下面的MATLAB函数显示了资源元素映射。由于MATLAB使用基于1的索引符号,因此我们为矩阵中的各种元素生成索引,索引从1开始,而不是0,如标准所指定的。该函数将用户数据(in)、CSR信号(csr)、子帧索引(nS)和称为prmLTE的结构中捕获的PDSCH的参数作为输入。根据BCH、SSS、PSS和DCI的可用性,该函数可以承担额外的输入。输出变量y是资源网格矩阵。2D网格矩阵的行数等于子载波的数目和列的数目,总共是14(每个时隙包含7个OFDM符号)。

 1function y = REmapper_1Tx(in, csr, nS, prmLTE, varargin)
2%#codegen
3switch nargin
4    case 4, pdcch=[];pss=[];sss=[];bch=[];
5    case 5, pdcch=varargin
{1};pss=[];sss=[];bch=[];
6    case 6, pdcch=varargin{1};pss=varargin{2};sss=[];bch=[];
7    case 7, pdcch=varargin{1};pss=varargin{2};sss=varargin{3};bch=[];
8    case 8, pdcch=varargin{1};pss=varargin{2};sss=varargin{3};bch=varargin{4};
9    otherwise
10        error('REMapper has 4 to 8 arguments!');
11end
12% NcellID = 0;                                     % One of possible 504 values
13% numTx = 1;                                      % prmLTE.numTx;
14% Get input params
15Nrb = prmLTE.Nrb;                              % either of {6, }
16Nrb_sc = prmLTE.Nrb_sc;                 % 12 for normal mode
17Ndl_symb = prmLTE.Ndl_symb;         % 7    for normal mode
18numContSymb    = prmLTE.contReg;  % either {123}
19% Initialize output buffer
20y = complex(zeros(Nrb*Nrb_sc, Ndl_symb*2));
21%% Specify resource grid location indices for CSR, PDCCH, PDSCH, PBCH, PSS, SSS
22%% 1st: Indices for CSR pilot symbols
23lenOFDM = Nrb*Nrb_sc;
24idx            = 1:lenOFDM;
25idx_csr0   = 1:6:lenOFDM;              % More general starting point = 1+mod(NcellID, 6);
26idx_csr4   = 4:6:lenOFDM;              % More general starting point = 1+mod(3+NcellID, 6);
27idx_csr     =[idx_csr0, 4*lenOFDM+idx_csr4, 7*lenOFDM+idx_csr0, 11*lenOFDM+idx_csr4];
28%% 2nd: Indices for PDCCH control data symbols
29ContREs=numContSymb*lenOFDM;
30idx_dci=1:ContREs;
31idx_pdcch = ExpungeFrom(idx_dci,idx_csr0);
32%% 3rd: Indices for PDSCH and PDSCH data in OFDM symbols whee pilots are present
33idx_data0= ExpungeFrom(idx,idx_csr0);
34idx_data4 = ExpungeFrom(idx,idx_csr4);
35%% Handle 3 types of subframes differently
36switch nS
37    %% 4th: Indices for BCH, PSS, SSS are only found in specific subframes 0 and 5
38    % Thsese symbols share the same 6 center sub-carrier locations (idx_ctr)
39    % and differ in OFDM symbol number.
40    case 0    % Subframe 0
41        % PBCH, PSS, SSS are available + CSR, PDCCH, PDSCH
42        idx_6rbs = (1:72);
43        idx_ctr = 0.5* lenOFDM - 36 + idx_6rbs ;
44        idx_SSS  = 5* lenOFDM + idx_ctr;
45        idx_PSS  = 6* lenOFDM + idx_ctr;
46        idx_ctr0 = ExpungeFrom(idx_ctr,idx_csr0);
47        idx_bch=[7*lenOFDM + idx_ctr0, 8*lenOFDM + idx_ctr, 9*lenOFDM + idx_ctr, 10*lenOFDM + idx_ctr];
48        idx_data5   = ExpungeFrom(idx,idx_ctr);
49        idx_data7 = ExpungeFrom(idx_data0,idx_ctr);
50        idx_data   = [ContREs+1:4*lenOFDM,   4*lenOFDM+idx_data4, ...
51            5*lenOFDM+idx_data5, 6*lenOFDM+idx_data5,  7*lenOFDM+idx_data7, 8*lenOFDM+idx_data5, ...
52            9*lenOFDM+idx_data5, 10*lenOFDM+idx_data5, 11*lenOFDM+idx_data4, ...
53            12*lenOFDM+1:14*lenOFDM];
54        y(idx_csr)=csr(:);                 % Insert Cell-Specific Reference signal (CSR) = pilots
55        y(idx_data)=in;                    % Insert Physical Downlink Shared Channel (PDSCH) = user data
56        if ~isempty(pdcch), y(idx_pdcch)=pdcch;end       % Insert Physical Downlink Control Channel (PDCCH)
57        if ~isempty(pss), y(idx_PSS)=pss;end                   % Insert Primary Synchronization Signal (PSS)
58        if ~isempty(sss), y(idx_SSS)=sss;end                    % Insert Secondary Synchronization Signal (SSS)
59        if ~isempty(bch), y(idx_bch)=bch;end                   % Insert Broadcast Cahnnel data (BCH)
60
61    case 10  % Subframe 5
62        % PSS, SSS are available + CSR, PDCCH, PDSCH
63        % Primary ans Secondary synchronization signals in OFDM symbols 5 and 6
64        idx_6rbs = (1:72);
65        idx_ctr = 0.5* lenOFDM - 36 + idx_6rbs ;
66        idx_SSS  = 5* lenOFDM + idx_ctr;
67        idx_PSS  = 6* lenOFDM + idx_ctr;
68        idx_data5 = ExpungeFrom(idx,idx_ctr);
69        idx_data   = [ContREs+1:4*lenOFDM, 4*lenOFDM+idx_data4,  5*lenOFDM+idx_data5, 6*lenOFDM+idx_data5, ...
70            7*lenOFDM+idx_data0, 8*lenOFDM+1:11*lenOFDM,  11*lenOFDM+idx_data4, ...
71            12*lenOFDM+1:14*lenOFDM];
72        y(idx_csr)=csr(:);                 % Insert Cell-Specific Reference signal (CSR) = pilots
73        y(idx_data)=in;                    % Insert Physical Downlink Shared Channel (PDSCH) = user data
74        if ~isempty(pdcch), y(idx_pdcch)=pdcch;end       % Insert Physical Downlink Control Channel (PDCCH)
75        if ~isempty(pss), y(idx_PSS)=pss;end                   % Insert Primary Synchronization Signal (PSS)
76        if ~isempty(sss), y(idx_SSS)=sss;end                    % Insert Secondary Synchronization Signal (SSS)
77
78    otherwise % other subframes
79        % Only CSR, PDCCH, PDSCH
80        idx_data = [ContREs+1:4*lenOFDM, 4*lenOFDM+idx_data4, ...
81            5*lenOFDM+1:7*lenOFDM, ...
82            7*lenOFDM+idx_data0, ...
83            8*lenOFDM+1:11*lenOFDM, ...
84            11*lenOFDM+idx_data4, ...
85            12*lenOFDM+1:14*lenOFDM];
86        y(idx_csr)=csr(:);                 % Insert Cell-Specific Reference signal (CSR) = pilots
87        y(idx_data)=in;                    % Insert Physical Downlink Shared Channel (PDSCH) = user data
88        if ~isempty(pdcch), y(idx_pdcch)=pdcch;end       % Insert Physical Downlink Control Channel (PDCCH)
89end
90end

 

5.11 OFDM符号生成

OFDM信号生成操作在资源网格上。它逐个接收OFDM符号(资源网格矩阵中的数据列),并执行IFFT操作,然后进行CP加法以生成OFDM调制信号。下面的MATLAB函数显示如何在IFFT操作之前,将数据打包到FFT缓冲区中并重新排序以排除DC子载波。在IFFT操作之后,我们调整输出。CP加法将IFFT输出的最后N个样本加到缓冲区的开头。第一OFDM符号中的N值与所有其他OFDM符号中的N值不同。函数的输入是资源网格(in)和包含PDSCH(prmLTE)参数的结构。CP在插槽中的符号之间具有不同的长度。每个时隙(cpLen0)的第一OFDM符号中的CP的长度略大于时隙(cpLenR)的其余六个符号中的CP值。在for循环中,当输出信号序列化并将每个OFDM调制信号的长度附加到每个子帧的输出向量时,计算输出信号时考虑这种差异[3]。


函数的输出是2D矩阵:第一维的大小是每个子帧的输出,第二维是天线端口的数量。在本章中,我们主要讨论接触式天线,其输出为二维等于一的列向量。在下一章介绍MIMO技术时,我们不必修改这个函数,因为它同样适用于单信道和多信道OFDM信号生成情况。

 1function y = OFDMTx(in, prmLTE)
2%#codegen
3persistent hIFFT;
4if isempty(hIFFT)
5    hIFFT = dsp.IFFT;
6end
7[lennumSymbnumLayers] = size(in);
8N assumes 15KHz subcarrier spacing
9N = prmLTE.N;
10cpLen0 = prmLTE.cpLen0;
11cpLenR = prmLTE.cpLenR;
12slotLen = (N*7 + cpLen0 + cpLenR*6);
13subframeLen = slotLen*2;  
14tmp = complex(zeros(N, numSymb, numLayers));
15Pack dataadd DCand reorder
16tmp(N/2-len/2+1:N/2, :, :) = in(1:len/2, :, :);
17tmp(N/2+2:N/2+1+len/2, :, :) = in(len/2+1:len, :, :);
18tmp = [tmp(N/2+1:N, :, :); tmp(1:N/2, :, :)];
19IFFT processing
20x = step(hIFFT, tmp);
21x = x.*(N/sqrt(len));
22% Add cyclic prefix per OFDM symbol per antenna port 
23% and serialize over the subframe (equal to 2 slots)
24% For a subframe of data
25y = complex(zeros(subframeLen, numLayers));
26for j = 1:2 % Over the two slots
27    % First OFDM symbol
28    y((j-1)*slotLen+(1:cpLen0), :) = x((N-cpLen0+1):N, (j-1)*7+1, :);
29    y((j-1)*slotLen+cpLen0+(1:N), :) = x(1:N, (j-1)*7+1, :);
30
31    % Next 6 OFDM symbols
32    for k = 1:6
33        y((j-1)*slotLen+cpLen0+k*N+(k-1)*cpLenR+(1:cpLenR), :) = x(N-cpLenR+1:N, (j-1)*7+k+1, :);
34        y((j-1)*slotLen+cpLen0+k*N+k*cpLenR+(1:N), :) = x(1:N, (j-1)*7+k+1, :);
35    end
36end
37



未完待续

2018/12/18

点击关注了解更多精彩内容!!




扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 2、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书
  • 3、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 4、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 5、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1
  • 6、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 7、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 8、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    当前时区 GMT+8, 现在时间是 2024-04-27 05:16:43
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.336897 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver