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

📄 transmitter.m

📁 OFDM系统的仿真代码MATLAB环境下
💻 M
字号:
% Generates transmitted signal for one packet.

function [tx_signal, inf_bits, tx_bits] = transmitter

global sim_consts;

% Generate the information bits
inf_bits = floor(rand(1,10000)*2);

% Convolutional encoding
tx_bits = tx_conv_encoder(inf_bits);
   
%Puncturing   
%tx_bits = tx_puncture(coded_bit_stream);

% Generate number bits that is an integer multiple of OFDM symbols
rdy_to_mod_bits = tx_make_int_num_ofdm_syms(tx_bits);

if sim_consts.InterleaveBits == 1
   %Interleave padded bit stream 
   rdy_to_mod_bits = tx_interleaver(rdy_to_mod_bits);
end

%Modulate
mod_syms = tx_modulate(rdy_to_mod_bits);

% Transmit diversity
mod_syms = tx_diversity(mod_syms);

%Add pilot symbols
if sim_consts.UseTxDiv == 0
   mod_ofdm_syms = tx_add_pilot_syms(mod_syms);
else
   mod_ofdm_syms(1,:) = tx_add_pilot_syms(mod_syms(1,:));
   mod_ofdm_syms(2,:) = tx_add_pilot_syms(mod_syms(2,:));
end

% Tx symbols to time domain
time_syms = tx_freqd_to_timed(mod_ofdm_syms);

% Add cyclic prefix
time_signal = tx_add_cyclic_prefix(time_syms);

% normalize the average signal power to 1
tx_signal = [time_signal]*64/sqrt(52)/sqrt(size(time_signal,1));

%Power amplifier model
if sim_consts.UseTxPA == 1
   if sim_consts.UseTxDiv ~= 1
      [tx_signal, pwr_in, pwr_out] = tx_power_amplifier(tx_signal, 1, 1, 1, 2, size(tx_signal,2));
      % normalize average tx power to one
      tx_signal(1,:) = tx_signal(1,:)/sqrt(pwr_out);
   else
      % first antenna
      [tx_signal(1,:), pwr_in, pwr_out] = tx_power_amplifier(tx_signal(1,:), 1, 1, 1, 2, size(tx_signal(1,:),2));
      % normalize average tx power to one
      tx_signal(1,:) = tx_signal(1,:)/sqrt(pwr_out);
      
      % second antenna
      [tx_signal(2,:), pwr_in, pwr_out] = tx_power_amplifier(tx_signal(2,:), 1, 1, 1, 2, size(tx_signal(2,:),2));
      % normalize average tx power to one
      tx_signal(2,:) = tx_signal(2,:)/sqrt(pwr_out);
   end   
end



⌨️ 快捷键说明

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