No BSD License  

Highlights from
BPSK Simulator for Low Rate Transmisions

image thumbnail
from BPSK Simulator for Low Rate Transmisions by César Delgado González
BPSK Simulator for didactical purposes. Systemic coding style.

cosenoAlzado (PAM, fs, Rb, memoria,...
function [Linea, memoria, retardo]  = cosenoAlzado (PAM, fs, Rb, memoria,...
                                                        RollOff, primera)
%--------------------------------------------------------------------------
%  function [Linea, memoria, retardo]  = cosenoAlzado (PAM, fs, Rb,... 
%                                                      memoria, RollOff)
%--------------------------------------------------------------------------
%|     Funcion que realiza el filtrado coseno alzado de una
%|   seal PAM.
%|
%|   ENTRADAS
%|     1.- PAM      = seal PAM de entrada
%|     2.- FS       = frecuencia de muestreo
%|     3.- RB       = Rgimen binario
%|     4.- MEMORIA  = condiciones iniciales a aplicar en el filtro
%|     5.- ROLL_OFF = factor de Roll Off del filtro alzado.
%|                    Valor por defecto: 1
%|
%|   SALIDAS:
%|     1.- LINEA    = linea tras filtrado coseno alzado
%|     2.- MEMORIA  = condiciones finales del filtro coseno alzado
%|     3.- RETARDO  = retardo maximo introducido por el filtro.
%--------------------------------------------------------------------------
%   Autor: Cesar Delgado Gonzalez
%   Fecha: 19- Abril -2.004
%--------------------------------------------------------------------------

if nargin < 4
    Disp ('ERROR: en el numero de parametros de entrada de la funcion cosenoAlzado');
else
    if nargin < 5
       RollOff=1;
       primera=1;       
    elseif nargin < 6,
       primera=1;       
    end;
    
    % 1.- Diseo del filtro coseno alzado
    %-------------------------------------
   h = rcosfir(RollOff,[-3 3],round(fs/Rb),1);    
   
   retardo = 0;
   if primera,
        gd = grpdelay(h,1,fs,'whole');
        retardo = ceil(max(gd));       
    end;
        
    % 2.- Filtrado de la seal de entrada
    %------------------------------------
    %Linea = rcosflt(Y,fs,fd) es otra forma de calcular esto    
    [Linea, aux]= filter(h,1,PAM,memoria(1:length(h)-1)); 
    memoria(1:length(h)-1) = aux';    
    
    % 3.- Eliminamos retardo inicial
    %-------------------------------
    if primera,
        Linea = Linea(retardo+1:length(Linea));
    end;    
end    
        
   

Contact us at files@mathworks.com