Fs=4; %Frecuencia de muestreo Ts=1/Fs; %Periodo de muestreo N=16; %Numero de muestras nb=8; %Tamaño de la palabra de la codificacion para cada muestra L=2^nb-1 %Numero de niveles permitidos x=randi(L,N,1); %Se genera las muestras aleatoria de la señal xpcm=dec2bin(x)-48; %se codifica en binario natural xpcm=xpcm(:); %se coloca la seal PCM en un vector %Aca es necesario calcular la frecuencia de muestreo de la señal PCM %resultante que esta relacionada con la Fs de la señal y el numero de bit y %el numero de puntos que se usara para construir la representacion digital %de la cadena PCM. Np=8 %Cada pulso se conformara por 16 puntos. Ts1=(Ts/nb)*(1/Np); Fs1=1/Ts1;
%Con la informacin de Fs1 y Ts1 y sabiendo el numero de muestras y la
%cantidad de bits por muestra se realiza el barrido de tiempo t=0:Ts1:N*nb*Np*Ts1-Ts1;
%Tambien para mostrar correctamente el espectro es necesario realizar el
%barrido de frecuencias necesarios asi f=linspace(-Fs1/2,Fs1/2,length(t));
%Se usara codificacion NRZ para esta parte
pnrz=ones(1,Np); %Pulso basico para transmision senpcm=pnrz'*xpcm'; %Realizamos la señalizacion senpcm=senpcm(:); %covertimos a un vector axes(handles.figura3); plot(t,senpcm);
%Espectro de la señal N=length(senpcm); X=fftshift(fft(senpcm,N))/N; fre=linspace(-N/2,(N/2),N); axes(handles.figura4); plot(fre,abs(X)); axis([-1000, 1000, 0, 0.5]);