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 + -
显示快捷键?