?? ofdm_mod_neq.m
字號:
function [s_out] = ofdm_mod_neq( s_in )
%% ofdm 調制,帶均衡
%% 輸入:二進制序列
%% 輸出:ofdm調制后符號
%global CP_len;
global nSubC
global ifft_len;
global symbolPerCarrier;
global bitPerSymbol;
global CP_len;
global carriers;
len = length(s_in);
SQam = reshape(s_in, nSubC,len/nSubC); %串并轉換
PQam = Qam4_mod(SQam);
% 64 個子載波安排,前后7個為留空,中間50 個為有效數據用
carriers = (1: nSubC) + (floor( ifft_len/4) - floor(nSubC/2)); % 坐標: (1 to 50) + 7 --> 8 to 57
conj_carriers = ifft_len - carriers + 2; % 坐標: 122 to 73
P_IFFT = zeros(ifft_len, symbolPerCarrier ); % 一個符號塊,含4列訓練序列,1列 0
P_IFFT(carriers,:) = PQam;
P_IFFT(conj_carriers,:)=conj(PQam); % 構造共軛矩陣,擴展為128點 ( RCC算法 ,ifft 后為實數 )
PCh = real(ifft( P_IFFT )); % 得到的數據全部為實數,實際上是虛部非常小,因此還要取實部
% 添加 CP
PCh2 = cat(1, PCh((ifft_len-CP_len+1):ifft_len,:), PCh);
s_out = reshape(PCh2, 1, (ifft_len+CP_len)*(symbolPerCarrier)); %并串轉換
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -