Física de las Comunicaciones Electrónica y Electromagnetismo
Enviado por josuemxx • 14 de Noviembre de 2014 • Ensayo • 2.055 Palabras (9 Páginas) • 326 Visitas
Física de las Comunicaciones © Electrónica y Electromagnetismo
Señales y Análisis de Fourier
En esta práctica se pretende revisar parte de la materia del tema 2 de la asignatura desde la
perspectiva de un entorno de cálculo numérico y simulación por ordenador. El objetivo
fundamental es familiarizarse con la definición, manipulación y representación de señales en
MATLAB. Para ello, en primer lugar, repasaremos y consolidaremos las nociones de MATLAB
adquiridas en la práctica anterior; en particular la definición, operación y representación de
señales en el dominio del tiempo. Posteriormente, utilizaremos algunas de las funciones que
ofrece MATLAB para el Análisis de Fourier así como para la manipulación de señales en los
dominios del tiempo y la frecuencia,
1. Introducción
Como ya estudiamos en diversos ejemplos de la práctica anterior, MATLAB es
muy utilizado en la definición, manipulación y representación de señales
analógicas. Siendo rigurosos, el procedimiento seguido en esos ejemplos no es
adecuado para el análisis de señales analógicas; es más, en general, MATLAB
no permite analizar señales analógicasi. Esto se debe a que la forma natural de
representar una señal en MATLAB es definir una secuencia finita de valores
mediante un vector fila. Así, como veremos en el siguiente ejercicio, podemos
definir la secuencia de instantes de tiempo equidistantes (intervalo 1 ms) entre 0
y 0.25s. Y del mismo modo, definimos una señal sinusoide como una secuencia
de valores.
Ejercicio 1
Genere una secuencia de instantes de tiempo que parta de t=0s y llegue hasta
t=0.25s en intervalos de 1ms. Construya una función seno en esa base de
tiempo de amplitud 1 y frecuencia 5Hz. Use plot para dibujar la forma de onda.
Además, destaque cada punto de la gráfica con *.
>> Tinicial=0; % Definimos el tiempo inicial
>> Tfinal=0.25; % Definimos el tiempo final
>> step=0.001; % Definimos el paso entre instantes de tiempo
>> t=Tinicial:step:Tfinal-step; % Se genera el vector de tiempos
>> y=1*sin(5*2*pi*t); % Se genera y
>> plot(t,y); hold on; % Dibujamos y
>> plot(t,y,’*’); % Dibujamos las muestras de y
i. Salvo que se usen bloques funcionales o toolboxes
2
Señales y Análisis de Fourier 2
Física de las comunicaciones © Electrónica y Electromagnetismo
Por tanto, siendo estrictos, en MATLAB toda señal es discreta en tiempo, mientras
que en amplitud puede ser discreta (cuantizada) o continua (aunque limitada
por la precisión de los tipos numéricos). No obstante, si los intervalos
temporales entre valores son suficientemente pequeños y el rango temporal en
el que se define la señal es suficientemente amplio, la secuencia de valores
empleada para representar la señal y las operaciones realizadas para su análisis
proporcionan una buena aproximación a los resultados teóricos. En el caso más
simple y frecuente, los valores se toman en instantes equiespaciados, intervalo
que no debe confundirse con el periodo de muestreo. De momento, ignoraremos
el efecto de la discretización de señales (utilizaremos intervalos de tiempo suficientemente
pequeños, de modo que los efectos sean despreciables). Asimismo,
la amplitud de las señales está sometida a una discretización que, dada la precisión
de los tipos numéricos empleados en MATLAB, podemos ignorar.
1.1. Señales especiales.
Vamos a ver una posible forma de representar en MATLAB algunas señales
analógicas típicas.
SEÑAL ESCALÓN
% Ejemplo de señal escalon
>> t=-10:0.01:10;
>> f_escalon=[zeros(1,1000),ones(1,1001)];
>> plot(t,f_escalon);
SEÑAL PULSO
% Ejemplo de señal pulso
>> t=-10:0.01:10;
>> f_pulso=[zeros(1,950),ones(1,101),zeros(1,950)];
>> plot(t,f_pulso);
SEÑAL SAMPLING
% Ejemplo de señal sampling
>> t=-10:0.01:10;
% Señal sampling nula en t=n*pi, n=1,2,...
>> f_sampling=sin(t)./t;
>> plot(t,f_sampling);
% Señal sinc nula en t=n, n=1,2,...
>> f_sinc=sinc(t);
>> plot(t,f_sinc);
SEÑAL IMPULSO O DELTA DE DIRAC
% Ejemplo de señal impulso
>> t=-10:0.01:10;
>> f_impulso=[zeros(1,1000),1,zeros(1,1000)];
>> plot(t,f_impulso);
SEÑAL DIENTE DE SIERRA
% Ejemplo de señal diente de sierra de periodo 0.1Hz
% sawtooth(x,width) señal en diente de sierra con periodo 2*pi para los
% elementos del vector x. El parámetro “width” es un escalar entre
2. Análisis de Fourier 3
Física de las Comunicaciones © Electrónica y Electromagnetismo
% 0 y 1, y describe la fracción del periodo 2*pi en el que ocurre el
% máximo.
>> t=-10:0.01:10;
>> width=0.10;
>> f_sierra=sawtooth(2*pi*0.1*t,width);
>> plot(t,f_sierra);
SEÑAL TRIANGULAR
% Ejemplo de señal triangular de periodo 0.1Hz
% Es un caso particular de señal diente de sierra con width=0.5
>> t=-10:0.01:10;
>> f_triangular=sawtooth(2*pi*0.1*t,0.5);
>> plot(t,f_triangular);
SEÑAL EXPONENCIAL
% Ejemplo de señal exponencial decreciente
>> t=-10:0.01:10;
% tau: constante de tiempo (RC)
>> tau=200e-2;
>> f_expon=exp(-t/tau);
>> plot(t,f_expon);
SEÑAL CUADRADA
% Ejemplo de señal cuadrada de frecuencia 0.5Hz
% square(x,duty) genera una onda cuadrada de periodo 2*pi con un duty cycle dado
>> t=-10:0.01:10;
>> duty=50; % porcentaje del periodo en el que la señal es positiva
>> f_cuadrada=square(2*pi*0.5*t,duty);
>> plot(t,f_cuadrada);
2.Análisis de Fourier
Las series de Fourier permiten describir señales periódicas como una combinación
de señales armónicas (sinusoides). Con esta herramienta, podemos analizar
una señal periódica en términos de su contenido frecuencial o espectro.
Además, nos permite establecer la dualidad entre tiempo y frecuencia, de forma
que operaciones realizadas en el dominio del tiempo tienen su dual en el
dominio frecuencial. Utilizando operaciones sobre vectores, se pueden calcular
...