0% found this document useful (0 votes)
36 views

20180314Convolutional code高偉智

This document summarizes the transmitter block diagram and simulation framework for an IEEE 802.11a wireless communication system. The transmitter block diagram includes convolutional encoding, interleaving, modulation mapping, pilot insertion, OFDM symbol generation, and digital to analog conversion. The MATLAB simulation framework includes functions for the transmitter, channel, and receiver blocks to simulate end to end communication. Key functions include convolutional encoding using the generator polynomials, interleaving, modulation, OFDM processing, and transmitting the signal over the channel.

Uploaded by

王韋棋
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

20180314Convolutional code高偉智

This document summarizes the transmitter block diagram and simulation framework for an IEEE 802.11a wireless communication system. The transmitter block diagram includes convolutional encoding, interleaving, modulation mapping, pilot insertion, OFDM symbol generation, and digital to analog conversion. The MATLAB simulation framework includes functions for the transmitter, channel, and receiver blocks to simulate end to end communication. Key functions include convolutional encoding using the generator polynomials, interleaving, modulation, OFDM processing, and transmitting the signal over the channel.

Uploaded by

王韋棋
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Communication System Simulation

IEEE 802.11a 式 告

指 老師: 宗 老師
生:高偉
告日 :2018.03.15
IEEE 802.11a Transmi er s Block Diagram

Convolutional
Encoder 14 bits Add Pilot and Make Up
1 bit 1 bit (tx_conv_encoder.m)
2 bits Interleaving 2 bits Bit to Symbol Mapping Full OFDM Symbol
PLCP DATA Scrambler (tx_interleaver.m)
(tx_conv_encoder.m) (tx_modulate.m) (tx_add_pilot_syms.m)
14 bits

Frequency 器
Divider(/2) 12MHz

Only PLCP 1 bit Convolutional 2 bits 2 bits Two Bits To 1 bit BPSK
Interleaving
SIGNAL Encoder One Bits Mapping

器 Frequency
40MHz Divider(/2)
10 bits 8 bits 8 bits 8 bits 14 bits 14 bits
14Bits to
Output to RF DAC Pulse Shaping Up Sampling Add PLCP IFFT & Add
8 Bits
10 bits 8 bits 8 bits Preamble 8 bits Cyclic Prefix 14 bits
14 bits (tx_add_cyclic_prefix.m)
(tx_gen_preamble.m)

IEEE802.11a 射 架構圖(Data Rate = 6Mbps)

CCU Comm.
Smart Antenna Lab
MATLAB 主 式架

ui_start.m

transmitter.m channel.m receiver.m

CCU Comm.
Smart Antenna Lab
Transmitter 架
transmitter.m

tx_ tx_make_ tx_


tx_ tx_ tx_ tx_ tx_add_ tx_freqd_ tx_add_ tx_gen_
conv_ int_num_ power_
Puncture Interleaver Modulate Diversity pilot_ to_ cyclic_ Preamble
Encoder ofdm_ Amplifier
.m .m .m .m syms.m timed.m prefix.m .m
.m syms.m .m

CCU Comm.
Smart Antenna Lab
Convolutional code
ConvCodeGenPoly
1 0 1 1 0 1 1
=
1 1 1 1 0 0 1 2 7

1 0 1 1 0 1 1

1 1 1 1 0 0 1

CCU Comm.
Smart Antenna Lab
Length of Output Data (R=1/2, K=7)
Input data 800 bits Output data 806 bits
Tb Tb Tb Tb Tb Tb

800 bits
X 1011011

800 bits
800 bits
800 bits

800 bits

806 bits

CCU Comm.
Smart Antenna Lab
tx_conv_encoder.m
function coded_bits = tx_conv_encoder(inf_bits) % 出 數:coded_bits 入 數:inf_bits

in_bits=single(inf_bits); 將信 數據從double 換成single儲存


global sim_consts;
number_rows = size(sim_consts.ConvCodeGenPoly, 1); %size(X,dim) dim=1 row數
% number_rows = 2 dim=2 col數
number_bits = size(sim_consts.ConvCodeGenPoly,2)+length(in_bits)-1;
% number_bits=7+800-1=806
0 . . . 0
uncoded_bits = zeros(number_rows, number_bits); 0 . . . 0 2 806

for row=1:number_rows
uncoded_bits(row,1:number_bits)=rem(conv(in_bits, sim_consts.ConvCodeGenPoly(row,:)),2);
end
%conv多 式相乘 %rem取

coded_bits=uncoded_bits(:);
CCU Comm.
Smart Antenna Lab
transmitter.m
unction [tx_signal, inf_bits, tx_bits] = transmitter(sim_options);

global sim_consts;

% Generate the information bits


inf_bits = randn(1, sim_options.PacketLength) > 0;

% Convolutional encoding
coded_bit_stream = tx_conv_encoder(inf_bits);

CCU Comm.
Smart Antenna Lab
set_sim_consts.m
function sim_consts = set_sim_consts

global sim_consts;

sim_consts = struct('SampFreq' , 20e6, ...


ConvCodeGenPoly
'ConvCodeGenPoly', [1 0 1 1 0 1 1;1 1 1 1 0 0 1 ], ...
1 0 1 1 0 1 1
. =
1 1 1 1 0 0 1
.
2 7

.
.

CCU Comm.
Smart Antenna Lab

You might also like