📄 cyclic.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -