function [sig2] = interfer(sig, CISN, model_sys)

load('interference.mat');
N = length(sig);

switch model_sys,
    case 'DL'
        N2 = length(InterDL.sig);

        if(N<N2)
            InterDL.sig = InterDL.sig(1:N);
        else
            N_i = ceil(log2(N/N2));
            for i = 1:N_i,
                InterDL.sig = horzcat(InterDL.sig, InterDL.sig);
            end
            InterDL.sig = InterDL.sig(1:N);
        end

        sig2 = sig + InterDL.sig/(10^(CISN/10));
    case 'UL'
        N2 = length(InterUL.sig);

        if(N<N2)
            InterUL.sig = InterUL.sig(1:N);
        else
            N_i = ceil(log2(N/N2));
            for i = 1:N_i,
                InterUL.sig = horzcat(InterUL.sig, InterUL.sig);
            end
            InterUL.sig = InterUL.sig(1:N);
        end

        sig2 = sig + InterUL.sig/(10^(CISN/10));
end