【資料名稱】:完整的OFDM仿真平臺(tái),含詳細(xì)的注釋
【資料作者】:不祥
【資料日期】:2009
【資料語(yǔ)言】:中文
【資料格式】:其它
【資料目錄和簡(jiǎn)介】:
main函數(shù)調(diào)用的子函數(shù)均可以隨意修改,使用方便。
模塊包括:流程控制模塊、卷積編譯碼模塊、交織解交織模塊、調(diào)制解調(diào)模塊、OFDM調(diào)制解調(diào)模塊、信道模塊(為多徑rayleigh信道)、均衡模塊
可以正常運(yùn)行,絕對(duì)適合做OFDM研究使用,有詳細(xì)的注釋。
簡(jiǎn)單說(shuō)明:
流程控制模塊功能:初試值的確定(數(shù)據(jù)包的長(zhǎng)度為L(zhǎng)p,仿真點(diǎn)數(shù)M,產(chǎn)生交織碼表,比特速率Tb,采樣間隔Ts,符號(hào)時(shí)間T_symbol。)、仿真結(jié)束標(biāo)志(各點(diǎn)運(yùn)行的最大總數(shù)據(jù)包數(shù)量Ps,各點(diǎn)運(yùn)行的誤比特率范圍Pes)通過(guò)接口連接各個(gè)模塊、記錄得到的數(shù)據(jù)并進(jìn)行分析。
卷積編碼:[output]=convolutional_coded(input) 返回經(jīng)卷積編碼器編碼后的輸出比特序列。convolutional_coded實(shí)現(xiàn)卷積編碼,給出任意一個(gè)輸入序列input、卷積碼生成矩陣G可以正確獲得經(jīng)過(guò)編碼后的輸出序列output,可以選擇1/2卷積碼編碼,也可以選擇1/3卷積碼編碼。
交織:[int_aft_interleav] = interleaving( int_pre_interleav ,int_interleaving_array) 完成對(duì)接收數(shù)組的交織操作,生成的是進(jìn)行交織處理后的數(shù)組;
%建立數(shù)組int_pre_interleav,接收數(shù)據(jù)包;測(cè)試其長(zhǎng)度,N=length(int_pre_interleav);調(diào)用interleav_matrix 構(gòu)造長(zhǎng)度為N的交織矩陣;將接收的數(shù)據(jù)包int_pre_interleav按interleav_matrix的規(guī)則寫(xiě)入int_aft_interleav;[int_ aft _interleav] = interleaving( int_pre_interleav ,int_interleaving_array) 返回經(jīng)過(guò)交織技術(shù)處理后的數(shù)組;
調(diào)制:函數(shù)完成對(duì)輸入序列的各種調(diào)制。如:
% y= 8psk(x)
% x 為經(jīng)過(guò)信源調(diào)制后信息bit符號(hào)
% y 為經(jīng)過(guò)信道編碼(8psk)調(diào)制后的符號(hào)
%|
%4
%3| 2
% ----7--------1---
%8| 5
%6
%|
%
%星座圖表
%星座映射采用Gray碼,能夠改善系統(tǒng)性能
% Gray:mapping_matrix=[1 2 4 3 7 8 6 5]=[000 001 011 010 110 111 101 100]
%實(shí)際映射矩陣[000 001 010 011 100 101 110 111]=[1 2 3 4 5 6 7 8]
%得到星座圖映射矩陣
mapping=[1,sqrt(2)/2+sqrt(2)/2*j,-sqrt(2)/2+sqrt(2)/2*j,j,sqrt(2)/2-sqrt(2)/2*j,-j,-1,-sqrt(2)/2-sqrt(2)/2*j];
% 取得輸入二進(jìn)制序列長(zhǎng)度
len=length(x)/3;
%對(duì)輸入bit流進(jìn)行星座映射,得到8psk調(diào)制符號(hào)
y=zeros(1,len);
for I=1:len
temp=x(3*(I-1)+1)*4+x(3*(I-1)+2)*2+x(3*I);
y(I)=mapping(temp+1);
end
OFDM模塊:function [y]=ofdm(x)
%參數(shù)初始化設(shè)置:輸入的頻域信號(hào)中包含的OFDM符號(hào)數(shù)目s;
輸入的信號(hào)長(zhǎng)度為L(zhǎng)=length(x);
子載波數(shù)sub_carriers;
%數(shù)據(jù)處理:對(duì)輸入信號(hào)進(jìn)行分割,分割為s個(gè)符號(hào),再對(duì)每個(gè)符號(hào)進(jìn)行FFT運(yùn)算,實(shí)現(xiàn)OFDM調(diào)制,并保證能量不變
每個(gè)符號(hào)長(zhǎng)為symbol_used_len=L/s;
循環(huán)前綴的長(zhǎng)度cp;
每一個(gè)OFDM符號(hào)的抽樣值應(yīng)補(bǔ)‘0’個(gè)數(shù)zeros_pad = sub_ carriers – symbol _ used_len;
每一個(gè)OFDM符號(hào)一側(cè)應(yīng)該補(bǔ)‘0’個(gè)數(shù)zeros_pad_side=zeros_pad/2;
%將信息流輸出
信道模塊:[r_sig]=mul_ralay_channel(previous_block,signal,Ts,block_index)
采用6徑Rayleigh衰落信道,每一徑通過(guò)Jakes仿真模型生成,符合頻率選擇性衰落信道的要求。
%previous_block:相對(duì)于當(dāng)前數(shù)據(jù)包的上一個(gè)數(shù)據(jù)包
% signal:輸入的復(fù)信號(hào)序列,即OFDM調(diào)制輸出信號(hào),格式為1×n的向量
% Ts:抽樣時(shí)間間隔 單位是s
% block_index:當(dāng)前數(shù)據(jù)包的序列號(hào)
% r_signal:經(jīng)過(guò)信道后的輸出信號(hào),即接收信號(hào)
通過(guò)該信道之后還要通過(guò)AWGN信道,以描述實(shí)際信道環(huán)境中的噪聲。
經(jīng)過(guò)信道之后信號(hào)經(jīng)過(guò)IOFDM、均衡、解調(diào)、解交織、Viterbi譯碼的處理,得到信息。
完整的OFDM仿真程序.rar (134.2 KB)