cyclic.m
来自「wimax的固定版本的链路级仿真matlab平台」· M 代码 · 共 37 行
M
37 行
function m_tx_guarda = cyclic(simbolo_ofdm,G,Tx);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %
%% Nombre: cyclic.m %
%% Funci髇: Recibe el vector del s韒bolo OFDM justo antes antes %
%% de mandarlo a trav閟 del canal %
%% %
%% Par醡etros de inter閟: %
%% --> Tx = 1 -->Estoy transmitiendo y lo que quiero es a馻dir %
%% el prefijo c韈lico. %
%% Si Tx = 0, estoy recibiendo y lo que quiero es eliminarlo %
%% %
%% Salida: Devuelve el mismo vector que recibe, pero a馻diendo %
%% el cyclic prefix que se le indica. En la proporci髇 %
%% indicada G (1/4, 1/8, 1/16 y 1/32) %
%% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Tomo la porci髇 que debo copiar al principio del s韒bolo ofdm
margen = length(simbolo_ofdm)*G;
if Tx==1
% Realizo la operaci髇 de mover las 鷏timas muestras de la IFFT al
% principio del s韒bolo. Como ya sabemos es una forma de combatir el
% multitrayecto
m_tx_guarda = [simbolo_ofdm((end-margen+1):end) simbolo_ofdm];
elseif Tx==0
% Ahora lo que debo hacer es retirar ese prefijo que le hemos a馻dido
% antes. Debo variar el margen porque ahora lo calculo a partir de los
% datos que he recibido, que ya contienen el prefijo c韈lico.
margen = margen/(1+G);
m_tx_guarda = simbolo_ofdm(margen+1:end);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?