+ All Categories

PAM

Date post: 03-Dec-2014
Category:
Upload: fe-pa
View: 12 times
Download: 6 times
Share this document with a friend
35
i TAREA #2 GENERACION DE SEÑALES PAM
Transcript
Page 1: PAM

i

TAREA #2 GENERACION DE SEÑALES PAM

Page 2: PAM

ÍNDICE

INTRODUCCION.............................................................................................................1

OBJETIVOS.....................................................................................................................2

MARCO TEORICO..........................................................................................................3

Modulación de amplitud de pulso (PAM)............................................................3

MATLAB.............................................................................................................6

Codigo Fuente del Programa.............................................................................6

COMO FUNCIONA EL PROGRAMA GUIDE.................................................................15

CONCLUSIONES..........................................................................................................26

BIBLIOGRAFIA..............................................................................................................27

ii

Page 3: PAM

INTRODUCCIÓN.

La modulación de señales es un concepto fundamental en comunicaciones, y

consiste en usar una señal base para modificar las propiedades de una   señal

portadora.   Este tipo   de modulación   la cual codificada de   analógica - digital es

denominada PAM.

La señal PAM es una señal de banda lateral doble de modo que se requiere dos veces

el ancho de banda requerida para la transmisión banda base.

Esta manera de modulación   de la señal no es más que recoger la señal analógica, la

muestrea a su vez generando una serie de pulsos. Este ciclo es muy eficiente para

transmisión de datos.   Una de las características de la modulación por codificación de

pulsos es esencialmente es que la amplitud de pulsos es cuantizada y representada

por un patrón binario.

En este documento se presenta el desarrollo de un programa en matlab para generar

señales PAM, de funciones deterministicas y aleatorias como pude ser el audio

compuesto por múltiples frecuencias. Además como encontraremos en el cuerpo de

este documento, se utilizaran las señales deterministicas para enumerar cada una de

las propiedades del muestreo y el teorema de Nyquist, para la recuperación de una

señal original en base a un conjunto de muestras capturado.

1

Page 4: PAM

OBJETIVOS

Investigar la teoría necesaria, para construir señales moduladas por amplitud de

pulso.

Desarrollar un software en Matlab para la generación de señales PAM.

Investigar las terminologías de señales deterministicas y aleatorias, que son los

tipos de señales que se van a procesar.

Analizar las gráficas obtenidas y dar interpretación de los resultados.

Respaldar lo aprendido en clases, sobre modulación de amplitud de pulso, con

el desarrollo realizado en este documento.

2

Page 5: PAM

MARCO TEÓRICO.

Modulación de amplitud de pulso (PAM)   

Es una de las modulaciones digitales. Esta técnica recoge información analógica, (la muestra ó la prueba), y genera una serie de pulsos basados en los resultados de la  prueba. El término prueba se refiere a la medida de la amplitud de la señal a intervalos iguales.   

El método de prueba usado en PAM es más eficaz en otras áreas de ingeniería que en la comunicación de datos (informática). Aunque PAM está en la base de un importante método de codificación analógica - digital llamado modulación de código de pulso (PCM).     

En PAM, la señal original se muestrea a intervalos iguales, PAM usa una técnica llamada probada y tomada. En un momento dado el nivel de la señal es leído y retenido brevemente. El valor mostrado sucede solamente de modo instantáneo a la forma actual de la onda, pero es generalizada por un periodo todavía corto pero medible en el resultado de PAM.

La modulación por amplitud de pulso modifica una señal de banda base, al tomar un conjunto de muestras de una señal que contiene la información tal como se ve en las fig.1 y fig.2, en la cual la señal que se muestra en color rojo representa la señal mensaje y el tren de pulsos es la señal generadora de las muestras PAM.

3

Page 6: PAM

Fig 1. Principio de la modulación por amplitud de pulsos (PAM); (1) Señal original, (2) Señal-PAM, (a) Amplitud de la señal, (b) Tiempo

Fig 2. Primero Señales Deterministas

4

Page 7: PAM

La idea básica de la modulación por pulsos se fundamenta en el concepto de que es posible recuperar completamente una señal analógica desde algunas muestras de ella.

Esto sucede siempre y cuando la cantidad de muestras sea la suficiente para la cantidad de información que se desea recuperar. Estos conceptos se fundamentan en el “Teorema del Muestreo” de Nyquist que permite determinar la cantidad de muestras o velocidad de muestreo para cualquier señal que se pretenda recuperar.

Transmitir muestras en lugar de señales analógicas completas nos lleva a una gran ventaja, la información está contenida en la amplitud del impulso sin que la duración del impulso tenga importancia. Del párrafo anterior se desprende que la relación señal / ruido tiende a mejorar debido a que, en términos estadísticos, el ruido afectara menos al tren de pulsos que a la señal completa. Otra de las ventajas importantes de la transmisión de Impulsos, es que entre pulso y pulso de una misma señal analógica existe tiempo ocioso del canal de transmisión; esto indica que por un mismo canal físico podrán enviarse varias señales diferentes.

Recuperación de una señal de las muestras tomadas de la original.

5

Page 8: PAM

MATLAB

El objeto básico usado en MATLAB es una matriz numérica con la posibilidad de almacenar números complejos. Los datos encontrados en el estudio de señales y sistemas son siempre, muy bien representados en forma de matrices. En esta sección se usará MATLAB para la generación de señales elementales como lo son las señales exponenciales, sinodales, etc.

En MATLAB una señal discreta en el tiempo se representa exactamente, porque los valores de la señal son representados como los elementos de un vector. Sin embargo las señales de tiempo continuo en MATLAB son tan solo aproximaciones. La aproximación consiste de un vector cuyos elementos son muestras de la verdadera señal de tiempo continuo. Cuando se usa esta técnica para la representación de señales continuas es importante escoger el intervalo de muestreo lo suficientemente pequeño para asegurar que las muestras capturan todos los detalles de la señal.  

Código Fuente del Programa

El código fuente de este programa se realizo utilizando la herramienta de interfaz grafica proporcionada por Matlab la cual se llama GUIDE. Esta herramienta nos genera un código base el cual tiene que ver con la interfaz grafica de usuario. El código que genera el procesamiento de las señales se va introduciendo en cada uno de los segmentos de función provistos por el programa base tal como se muestra en el siguiente código que representa la totalidad del programa que genera todo el procesamiento de señales que se nos piden.

function varargout = buenoPAM(varargin)% BUENOPAM M-file for buenoPAM.fig% BUENOPAM, by itself, creates a new BUENOPAM or raises the existing% singleton*.%% H = BUENOPAM returns the handle to a new BUENOPAM or the handle to% the existing singleton*.%% BUENOPAM('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in BUENOPAM.M with the given input arguments.

6

Page 9: PAM

%% BUENOPAM('Property','Value',...) creates a new BUENOPAM or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before buenoPAM_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to buenoPAM_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help buenoPAM % Last Modified by GUIDE v2.5 15-Sep-2011 11:52:17 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @buenoPAM_OpeningFcn, ... 'gui_OutputFcn', @buenoPAM_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT % --- Executes just before buenoPAM is made visible.function buenoPAM_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to buenoPAM (see VARARGIN) % Choose default command line output for buenoPAMhandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes buenoPAM wait for user response (see UIRESUME)% uiwait(handles.figure1); % --- Outputs from this function are returned to the command line.function varargout = buenoPAM_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);

7

Page 10: PAM

% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout{1} = handles.output; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GRAFICO UNO %%%%%%%%%%%%%%%%%%%%%%%%%% function intro1_Callback(hObject, eventdata, handles)% hObject handle to intro1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of intro1 as text% str2double(get(hObject,'String')) returns contents of intro1 as a double % --- Executes during object creation, after setting all properties.function intro1_CreateFcn(hObject, eventdata, handles)% hObject handle to intro1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function intro2_Callback(hObject, eventdata, handles)% hObject handle to intro2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of intro2 as text% str2double(get(hObject,'String')) returns contents of intro2 as a double % --- Executes during object creation, after setting all properties.function intro2_CreateFcn(hObject, eventdata, handles)% hObject handle to intro2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

8

Page 11: PAM

end function intro3_Callback(hObject, eventdata, handles)% hObject handle to intro3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of intro3 as text% str2double(get(hObject,'String')) returns contents of intro3 as a double % --- Executes during object creation, after setting all properties.function intro3_CreateFcn(hObject, eventdata, handles)% hObject handle to intro3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end%%%%%%%%%%%%%%%%%%%%%%%%% -HASTS AQUI LOS TRES INTRO Y EL PANEL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DE LA SENAL SENOIDAL- %%%%%%%%%%%%%%%%%%%%% function intro5_Callback(hObject, eventdata, handles)% hObject handle to intro5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of intro5 as text% str2double(get(hObject,'String')) returns contents of intro5 as a double % --- Executes during object creation, after setting all properties.function intro5_CreateFcn(hObject, eventdata, handles)% hObject handle to intro5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function intro4_Callback(hObject, eventdata, handles)

9

Page 12: PAM

% hObject handle to intro4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of intro4 as text% str2double(get(hObject,'String')) returns contents of intro4 as a double % --- Executes during object creation, after setting all properties.function intro4_CreateFcn(hObject, eventdata, handles)% hObject handle to intro4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end %%%%%%%%%%%%%%%%%%%%%%%%% -HASTS AQUI LOS TRES INTRO Y EL PANEL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DE LA SENAL CUADRADA- %%%%%%%%%%%%%%%%%%%%% % --- Executes when selected object is changed in uipanel3.function uipanel3_SelectionChangeFcn(hObject, eventdata, handles)if hObject == handles.radio1 valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor3=get(handles.intro3,'String'); xmax=str2num(valor3);% Convertir de char a num. valor4=get(handles.intro4,'String'); N=str2num(valor4);% Convertir de char a num. % Grafica en la Opción 1 t = (0:1/fs:N/fs); y = sin(2*pi*ffs*t); % esta es la Señal deterministica plot(handles.fig1,t,y,'linewidth',2); set(handles.fig1, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 xmax*(1/ffs)],'Ylim',[-1.5 1.5]); elseif hObject == handles.radio2 set(handles.salida,'String','tiempo [s]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num. valor3=get(handles.intro3,'String'); muestras=str2num(valor3);% Convertir de char a num. [x FS nbit]=wavread('bueno'); N=length(x)

10

Page 13: PAM

t = (0:1/fs:(N-1)/fs); plot(handles.fig1,t,x,'linewidth',2); set(handles.fig1, 'xgrid', 'on' , 'ygrid', 'on'); periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N-1)]; tren=filter(1,a,d);tren=tren';mul=x.*tren;%n = (0:(N-1)); stem(handles.fig2,t,mul,'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 15],'Ylim',[-1 1]); sound(x,fs); pause(16); sound(mul,fs); y=fft(x,1024); a=abs(y)*2/512; f=fs*(1:512)/1024; db=20*log(a); %figure(1) %plot(f,db(1:512));title('Espectro de la Señal ORIGIANAL'),grid %xlabel('Frecuencia [Hz]');ylabel('Joule');end %%%%%%%%%%%%%%%%%%%%%% -PARA EL PRIMER PAR DE RADIO BOTTONS- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % --- Executes when selected object is changed in uipanel4.function uipanel4_SelectionChangeFcn(hObject, eventdata, handles)if hObject == handles.radio3 set(handles.salida,'String','Muestra / Periodo'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor3=get(handles.intro3,'String'); xmax=str2num(valor3);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num. valor4=get(handles.intro4,'String'); N=str2num(valor4);% Convertir de char a num. % Grafica de la senal y el pulso t = (0:(N-1)); y = sin(2*pi*ffs/fs*t); % esta es la Señal deterministica periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N)]; tren=filter(1,a,d); n=1:(N+1);

11

Page 14: PAM

plot(handles.fig2,t,y,n,tren,'linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 xmax*(fs/ffs)],'Ylim',[-1.5 1.5]); sound(y,fs);elseif hObject == handles.radio4 set(handles.salida,'String','Frecuencia [Hz]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor4=get(handles.intro4,'String'); N=str2num(valor4);% Convertir de char a num. % Grafica del espectro de la senal t = (0:1/fs:N/fs); y = sin(2*pi*ffs*t); % esta es la Señal deterministica a=fft(y,1024); b=abs(a)/512; f1=fs*(1:512)/1024; plot(handles.fig2,f1,b(1:512),'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 7000]); elseif hObject == handles.radio5 set(handles.salida,'String','Muestra / Periodo'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor3=get(handles.intro3,'String'); xmax=str2num(valor3);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num. valor4=get(handles.intro4,'String'); N=str2num(valor4);% Convertir de char a num. %Generacion de la Senal PAM t = (0:(N)); y = sin(2*pi*ffs/fs*t); % esta es la Señal deterministica periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N)]; tren=filter(1,a,d); mul=y.*tren; stem(handles.fig2,t,mul,'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 xmax*(fs/ffs)],'Ylim',[-1.5 1.5]); sound(mul,fs);elseif hObject == handles.radio6 set(handles.salida,'String','Frecuencia [Hz]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor4=get(handles.intro4,'String'); N=str2num(valor4);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num.

12

Page 15: PAM

t = (0:(N)); y = sin(2*pi*ffs/fs*t); % esta es la Señal deterministica periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N)]; tren=filter(1,a,d); n=1:(N+1);mul=y.*tren; a=fft(mul,1024); b=abs(a)/512; f1=fs*(1:512)/1024; plot(handles.fig2,f1,b(1:512),'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 7000]); end % --- Executes on slider movement.function slider2_Callback(hObject, eventdata, handles)% hObject handle to slider2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider% get(hObject,'Min') and get(hObject,'Max') to determine range of slider % --- Executes during object creation, after setting all properties.function slider2_CreateFcn(hObject, eventdata, handles)% hObject handle to slider2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background.if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);end % --- Executes on slider movement.function deslis1_Callback(hObject, eventdata, handles) set(handles.salida,'String','tiempo [s]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num. valor3=get(handles.intro3,'String'); muestras=str2num(valor3);% Convertir de char a num. [x FS nbit]=wavread('bueno'); v=get(handles.deslis1,'Value')

13

Page 16: PAM

N=length(x) t = (0:1/fs:(N-1)/fs); plot(handles.fig1,t,x,'linewidth',2); set(handles.fig1, 'xgrid', 'on' , 'ygrid', 'on'); periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N-1)]; tren=filter(1,a,d);tren=tren';mul=x.*tren;%n = (0:(N-1)); stem(handles.fig2,t,mul,'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[v (16.01-v)],'Ylim',[-1 1]); % --- Executes during object creation, after setting all properties.function deslis1_CreateFcn(hObject, eventdata, handles)% hObject handle to deslis1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background.if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);end % --- Executes when selected object is changed in uipanel5.function uipanel5_SelectionChangeFcn(hObject, eventdata, handles)if hObject == handles.radio7 set(handles.salida,'String','Frecuencia [Hz]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num. [x FS nbit]=wavread('bueno'); y=fft(x,1024); a=abs(y); f=fs*(1:512)/1024; db=20*log(a); plot(handles.fig2,f,a(1:512),'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 fs/2]); elseif hObject == handles.radio8 set(handles.salida,'String','Frecuencia [Hz]'); valor1=get(handles.intro1,'String'); fs=str2num(valor1);% Convertir de char a num. valor2=get(handles.intro2,'String'); ffs=str2num(valor2);% Convertir de char a num. valor5=get(handles.intro5,'String'); FP=str2num(valor5);% Convertir de char a num.

14

Page 17: PAM

[x FS nbit]=wavread('bueno'); N=length(x) periodo=(fs/FP);a=[1 zeros(1,periodo) -1]; d=[1 zeros(1,N-1)]; tren=filter(1,a,d);length(tren)x=x';mul=x.*tren; a=fft(mul,1024); b=abs(a); f1=fs*(1:512)/1024; plot(handles.fig2,f1,b(1:512),'g','linewidth',2); set(handles.fig2, 'xgrid', 'on' , 'ygrid', 'on','Xlim',[0 fs/2]); end

COMO FUNCIONA EL PROGRAMA GUIDE

Tal como dijimos en la sección anterior el código fuente presentado genera una interfaz grafica, que grafica cualquier señal deterministica y una señal aleatoria especifica única, de acuerdo a un archivo de audio grabado, que contiene el mensaje “ Esta es la tarea de Comunicaciones”. La interfaz grafica es la que se presenta a continuación.

15

Page 18: PAM

Parámetros la señal deterministica:

Este conjunto de datos a introducir, representan las características de la señal a graficar, en cuanto a la velocidad de la señal la resolución de esta y los periodos que queremos desplegar en cada uno de los graficadores.

Fs: Es la frecuencia de muestreo para formar la señal analogía, que entre más grande mejor se aproxima a las características de la señal requerida.

F : Es la frecuencia de la señal mensaje, que en este caso será una deterministica.

El ultimo campo solo nos dice cuantos veces queremos repetir la señal periódica a graficar, que solo actúa para la señal deterministica.

Este par de campos actúan tanto para la señal muestreadora que es un tren de impulsos como par la señal deterministica tal como se detalla para cada uno de ellos:

16

Page 19: PAM

P: Es el número de puntos que queremos tomar de la señal deterministica para mostrar en los graficadores, de tal manera que si la Fs es igual que P se estará graficando para un segundo de tiempo. Este parámetro actúa tanto para la señal del tren de pulsos como para la señal deterministica.

F: Es la frecuencia de la señal muestreadora, de tal manera que si esta frecuencia coincide con la del mensaje el programa estará tomando una muestra de la señal que contiene la información. Que para nuestro caso funge como la frecuencia de muestreo para la generación de muestras PAM.

Los Group Botton no necesitan descripción alguna pues se detalla en la interfaz grafica de usuario, y cualquier persona con el conocimiento mínimo de procesamiento de señales conocerá su funcionamiento con solo observar la GUIDE.

ZOOM: este actúa solo para la señal aleatoria, el cual proporciona una acercamiento a un grupo de muestras identificado.

Para un optimo funcionamiento en este caso se desarrollaron las señales PAM solo utilizando señales deterministicas cosenoidales.

La versión de Matlab con la que trabaja este código es la 7.10 (R2010a), se recomiendo no usar otra versión distinta para conservar los resultados expuestos en este documento.

17

Page 20: PAM

GENERACIÓN DE SEÑALES PAM.

Para el desarrollo de generación de señales PAM se trabajara sobre un periodo de la señal mensaje, y una frecuencia de muestreo alta para mejorar la cercanía a una señal continua construida, que difiere de la frecuencia de muestreo de captura de datos generada con el tren de impulsos.

Cumpliendo lo pedido con el perfil de la tarea, construimos una señal con las siguientes características:

Señal de 300 Hz

Fm = 300 Hz

F(pulso) = 900Hz ; que será la frecuencia de muestreo.

Fs = 44100 Hz ; esta es la frecuencia de muestreo pero para dibujar las graficas.

El resultado es lo siguiente:

Se muestra la señal mensaje, y la señal mensaje con la función muestreadora.

18

Page 21: PAM

Tal como se esperaba el espectro de la señal original esta en los 300 Hz.

En esta grafica se presentan las tres muestras, con una de ellas de cero, por el hecho que la señal mensaje pasa por cero en el momento de tomar la muestra. Tomando en cuenta que estamos muestreando al triple de la frecuencia de señal mensaje.

19

Page 22: PAM

Para una Señal de 1000 Hz

Fm = 1000 Hz

F(pulso) = 3000Hz ; que será la frecuencia de muestreo.

Fs = 100900 Hz ; esta es la frecuencia de muestreo pero para dibujar las graficas.

El resultado es lo siguiente:

Se muestra la señal mensaje, y la señal mensaje con la función muestreadora.

Hay que considerar que para todos los casos estaremos tomando 3 muestras de la señal mensaje lo cual equivale a tener una frecuencia de muestreo del tren de impulsos del triple de la señal deterministica cosenoidal.

20

Page 23: PAM

Tal como se esperaba el espectro de la señal original esta en los 1000 Hz.

En esta grafica se presentan las tres muestras, con una de ellas de cero, por el hecho que la señal mensaje pasa por cero en el momento de tomar la muestra. Tomando en cuenta que estamos muestreando al triple de la frecuencia de señal mensaje.

21

Page 24: PAM

Para una Señal de 5000 Hz

Fm = 1000 Hz

F(pulso) = 50000Hz ; que será la frecuencia de muestreo.

Fs = 100900 Hz ; esta es la frecuencia de muestreo pero para dibujar las graficas.

El resultado es lo siguiente:

Se muestra la señal mensaje, y la señal mensaje con la función muestreadora.

De la grafica que muestra la señal mensaje superpuesta al tren muestreador, se puede observar que las muestras son tomadas con una de ellas siendo cero, esto se debe a que cuando el pulso aparece la señal mensaje pasa por cero.

22

Page 25: PAM

Tal como se esperaba el espectro de la señal original esta en los 5000 Hz.

Prácticamente sigue siendo la misma representación anterior, por el simple hecho de estar utilizando la misma frecuencia de muestreo.

23

Page 26: PAM

Y como se puede observar el espectro de la señal PAM se mantiene como en la señal original, cuando te muestrea a una frecuencia mayor al doble de la frecuencia de la señal mensaje.

Después de haber analizado una señal tan básica como una senoidal periódica, al transformar una señal de audio compuesta, a una señal pan se obtiene el siguiente resultado.

24

Page 27: PAM

Haciendo un acercamiento a la señal muestreada, esto es lo que se observa:

La cual representa un conjunto de muestras espaciadas en el tiempo que es el objetivo del muestreo PAM.

La grafica anterior nos muestra que el ancho de banda de la señal es de aproximada- mente 5kHz.

25

Page 28: PAM

CONCLUSIONES

Al finalizar este informe se pudo comprobar la modulación por pulsos PAM, se

observo que los valores de la modulación PAM eran exactamente proporcional a los

valores de la señal de información, también su valor tomado con el espectrómetro, esto

se debe básicamente a que al hacer el muestreo, gracias a la señal de pulsos

incorporada, mantenía sus valores, solamente, como su nombre lo indica sacaba

muestras a la señal de información y lo transportaba o modulaba a la señal PAM final.

De lo que se pudo comprobar con el desarrollo de este proyecto es que después

de efectuado el muestreó, una señal se puede recuperar siempre y cuando esta se

haya obtenido con una frecuencia de muestreo del doble de la señal mensaje por lo

menos, de lo contrario si esta es menor existe un solapamiento de espectros de

frecuencias producidas por la modulación, y la señal original contiene otras frecuencias

diferentes a la de la señal original y por lo tanto no es posible filtrar la señal para

recuperarla.

26

Page 29: PAM

BIBLIOGRAFÍA

Wikipedia.org

Señales y Sistemas segunda edición, Oppenheim

Sistemas de comunicaciones cuarta edición, Bruce Carlson

27


Recommended