domingo, 27 de noviembre de 2011

MODULACION ASK EN MATLAB


function askd(g,f)
%Modulacion  ASK

if nargin > 2
    error('Too many input arguments')
elseif nargin==1
    f=1;
end

if f<1;
    error('Frequency must be bigger than 1');
end

t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];

for n=1:length(g);
    if g(n)==0;
        die=ones(1,100);
        se=zeros(1,100);
    else g(n)=1;
        die=2*ones(1,100);
        se=ones(1,100);
    end
    c=sin(f*t);
    cp=[cp die];
    mod=[mod c];
    bit=[bit se];
end
ask=cp.*mod;
subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on;
title('Binary Signal');
axis([0 100*length(g) -2.5 2.5]);

subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on;
title('ASK modulation');
axis([0 100*length(g) -2.5 2.5]);



3 comentarios:

  1. me sale error cuando copio y pego el programa sale esto porque? trings passed to EVAL cannot contain function declarations.

    ResponderEliminar
  2. me sale error cuando copio y pego el programa sale esto porque? trings passed to EVAL cannot contain function declarations.

    ResponderEliminar
    Respuestas
    1. Lo que pasa es que esta es solo un función, no puedes ejecutar como tal una función en Matlab, para ello tienes que abrir un archivo en blanco y mandar a llamar esa función con sus respectivos parámetros de entrada. (OJO, ambos archivos deben estar en la misma carpeta)

      Eliminar