⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmit.m

📁 OFDM系统
💻 M
字号:
function [BitData TransData] = Transmit(  )global FLAG_AWGN;global FLAG_MULTIPATH;global Channel_Est;global Num_Bit;global Num_Train;% generate bits  BitData = [floor(2 * rand(1 , Num_Bit-8)), zeros(1,8)];    % for viterbi decoding% channel codingt = poly2trellis(7, [131, 171]);Out = zeros(1, 2*Num_Bit);Out = convenc(BitData, t);% interleavingInterOut = zeros(1, 2*Num_Bit);for i=1: (2*Num_Bit/256)        InterIn = Out(1+(i-1)*256 : i*256);        for k=1:256               j = 16*mod((k-1), 16) + floor((k-1)/16);            %分组交织        Inter1Out(k) = InterIn(j+1);          end        for k=1:256               j = 2*floor((k-1)/2) + mod((k+1+floor((k-1)/16)), 2);         % 高低位交织        InterOut(k+(i-1)*256) = Inter1Out(j+1);       endend% mapMappedData = BitMap(InterOut , 4);% generate the OFDM signalNum_Sym_OFDM = 2*Num_Bit/4/64;TransData = zeros(1, 2*Num_Bit*5/16 );        for i=1:Num_Sym_OFDM        Sym_OFDM_temp = MappedData( 1+(i-1)*64 : i*64 );    Sym_OFDM_ifft = 8 * ifft( Sym_OFDM_temp , 64 );         % power normalization        % add CP        Sym_OFDM_CP   = Sym_OFDM_ifft( 49 : end );    Sym_OFDM_ifft = [ Sym_OFDM_CP, Sym_OFDM_ifft ];         TransData(1+(i-1)*80 : i*80) = Sym_OFDM_ifft;endTrain = [zeros(1,16), 1 , zeros(1, 63)];TransData = [zeros(1, 16), Train, TransData];                % add zeros before the trainning sequences, for synchronization.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -