rx_timed_to_freqd.m
来自「OFDM系统的仿真代码MATLAB环境下」· M 代码 · 共 39 行
M
39 行
function [freq_data_syms, freq_pilot_syms] = rx_timed_to_freqd(time_signal,n_tx_antennas)
global sim_consts;
% culculate the number of ofdm symbols in a packet
num_ofdm_symbol = floor(length(time_signal)/80);
% remove the extra bits resulting from the multi-path delay
% time_signal(num_ofdm_symbol*80+1:length(time_signal),:) = [];
time_signal = reshape(time_signal,80,num_ofdm_symbol);
% remove guard intervals
time_signal(1:16,:) = [];
data_signal = time_signal;
% Dopple Frequency Effect
for i = 1:length(data_signal)
data_signal(i) = data_signal(i) * exp(j*2*pi*500*4*10e-6*i/64);
end
% perform fft
freq_data = fft(data_signal)/(64/sqrt(54)/sqrt(n_tx_antennas));
%Reorder pattern is [33:64 1:32]
reorder_patt = [33:64 1:32];
freq_data(reorder_patt,:) = freq_data;
%Select data carriers
freq_data_syms = freq_data(sim_consts.DataSubcIdx,:);
%Select the pilot carriers
freq_pilot_syms = freq_data(sim_consts.PilotSubcIdx,:);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?