Вы находитесь на странице: 1из 17

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FUNDAMENTOS DE SINTESIS
DE AUDIO CON FRECUENCIA
MODULADA
CURSO: MTODOS NUMRICOS

TORRES NAPN, JAZMIN MADELEINE

13190062

FIEE-UNMSM
Tabla de contenido
INTRODUCCIN..........................................................................................2
OBJETIVO................................................................................................3
ESPECTROS DE AUDIO COMPLEJOS...................................................................3
CARACTERSTICAS DE LA FM...........................................................................3
DESCRIPCIN MATEMTICA............................................................................4
Seal FM...............................................................................................4
FUNCION DE BESSEL.................................................................................4
FRECUENCIA MODULADA............................................................................5
METODO..................................................................................................6
El mtodo de Simpson (1/3).......................................................................6
CODIGO...................................................................................................8
Modulacin FM........................................................................................8
Mtodo de Simpson 1/3.............................................................................8
GUIDE.....................................................................................................8
SEAL MENSAJE..................................................................................13
SEAL PORTADORA...............................................................................14
SEAL MODULADA................................................................................14
CONCLUSIONES........................................................................................14

FIEE-UNMSM

FUNDAMENTOS DE SINTESIS DE AUDIO


CON FRECUENCIA MODULADA
INTRODUCCIN
El timbre de sonidos interesantes tiene como caracterstica principal un espectro
relativamente complejo y que se desenvuelve con la duracin del sonido. Por lo
tanto cada elemento o componente del espectro posee su propio desarrollo
individual produciendo un desarrollo espectral en la duracin del sonido. La
modulacin FM, es un mtodo que permite la manipulacin de un timbre para
obtener sonidos reales y naturales. En este informe se hace una introduccin a
los conceptos bsicos del mtodo de Frecuencia Modulada descubierta por John
Chowning (circa 1970) y se sugiere una implementacin simple para tratamiento
de seal. Los conceptos que aqu se presentan requieren de un conocimiento
bsico en teora de ondas, descomposicin de un sonido en sus componentes
espectrales, lgebra y funciones trigonomtricas.
La modulacin angular fue introducida en el ao 1931, como una alternativa a la
modulacin en amplitud. Se sugiri que la onda con modulacin angular era
menos susceptible al ruido que AM y consecuentemente, poda mejorar el
rendimiento de las comunicaciones de radio. El mayor E.H. Armstrong desarrollo
el primer sistema radio FM con xito, en 1936 (quien tambin desarrollo el
receptor superheterodino) y, en julio de 1939, la primera radiodifusin de seales
FM programada regularmente comenz en Alpine, New Jersey. Actualmente la
modulacin angular se usa extensamente para la radio difusin de radio
comercial, transmisin de sonido de televisin, radio mvil de dos sentidos, radio
celular y los sistemas de comunicaciones por microondas y satlite.
La modulacin permite aprovechar mejor el canal de comunicacin ya que
posibilita transmitir ms informacin en forma simultnea por un mismo canal
y/o proteger la informacin de posibles interferencias y ruidos.
Existen varias ventajas en utilizar la modulacin angular en vez de la modulacin
de amplitud, tal como la reduccin del ruido, la fidelidad mejorada del sistema y
el uso ms eficiente de la potencia. Sin embargo, FM y PM, tienen varias
desventajas importantes, las cuales incluyen requerir un ancho de banda
extendida y circuitos ms complejos, tanto en el transmisor, como en el receptor.
A continuacin, veremos un modelo para modulacin FM mediante el uso mtodos
numricos.
OBJETIVO

FIEE-UNMSM
Mediante la teora de mtodos numricos, hallar la frecuencia modulada
de una seal.
ESPECTROS DE AUDIO COMPLEJOS
En la historia de la msica electro-acstica existe constantemente una bsqueda
en torno a la novedad tmbrica produciendo sonidos con el adjetivo de
electrnico si son producidos con software circuitos o si son de origen fsico con
el adjetivo de concreto este ltimo resultado de un fenmeno acstico y no tan
musical. En los aos setenta y con la posibilidad del computador como
herramienta para anlisis y sntesis de sonido Jean Claude Risset con un grupo de
trabajo en los Laboratorios Bell en Estados Unidos, lograron categorizar y
sintetizar varios sonidos del mundo fsico real [Risset, 1996]. Este trabajo de
experimentacin logr resolver la incgnita que prueba la importancia del
desarrollo espectral en todos los sonidos que se originan con medios fsicos como
un instrumento musical real. En estos sonidos las intensidades en sus
componentes armnicos son dinmicas y variables. La energa en estos
componentes muchas veces se desenvuelve en forma complicada en particular al
comienzo en el ataque del sonido y al final en su decaimiento. La parte central
normalmente es constante y peridica.
La evolucin en el espectro puede ser fcilmente percibida en el caso de
campanas pero en otros casos no tanto, quiz por ser sonidos ms cortos.
Cualquiera que sea la situacin el espectro es identificado por el oyente
proporcionando una clave para distinguir los diferentes timbres de sonidos y lo
que juzgamos como su propia caracterstica o elemento que hace contrastar con
otros sonidos o sonar por encima del silencio.
En la frmula de frecuencia modulada con aplicacin directa a la sntesis de
sonido se permite generar este tipo de espectros sonoros complejos con relativa
simpleza. El hecho de que la evolucin temporal del espectro pueda ser
controlada relativamente fcil se convierte en su principal atributo y hace que la
FM sea una tcnica muy atractiva y con cualidades para manipular una forma de
onda directamente.
CARACTERSTICAS DE LA FM

Mayor insensibilidad al ruido


Mayor Calidad de Sonido
Ocupa ms Ancho de banda que la AM
Se propaga por onda Directa
El espectro es simtrico respecto a la portadora

DESCRIPCIN MATEMTICA

FIEE-UNMSM
Seal FM
En FM, la frecuencia instantnea de una onda portadora es variada de acuerdo a
una onda moduladora, de tal forma que los cambios en la portadora se
convierten en la frecuencia de la onda moduladora o frecuencia moduladora. La
cantidad de variacin en la onda portadora cambia alrededor de un promedio que
se conoce como la desviacin de picos de frecuencia entre ambas ondas y a la
vez es proporcional a la amplitud de la onda moduladora.
La ecuacin para una onda de frecuencia modulada con un pico de amplitud

y en donde ambos componentes de onda son sinusoidales es la siguiente:

e= Asen(t + Isent )
Donde

modulada,

es la amplitud instantnea de la onda portadora que ya ha sido

es la frecuencia de la onda portadora en

es la frecuencia de la onda moduladora tambin en

radianes/ seg undo

radianes/ segundo .

I =d /m , es el ndice de modulacin o en otras palabras, el radio (divisin)


entre la desviacin de picos de frecuencia y la frecuencia moduladora. Es obvio
que cuando

I =0

la desviacin pico de frecuencias tambin es

lo tanto no hay ningn tipo de modulacin. Cuando

I >0

d=0

y por

aparecen otras

frecuencias o componentes laterales por encima y por debajo de la frecuencia


portadora y en intervalos proporcionales a la frecuencia moduladora. Estos se
vuelven parte del espectro resultante de la portadora ya modulada.
El nmero de frecuencias laterales que ocurren en FM est relacionado al ndice
de modulacin

I de tal forma que al incrementar

de 0 en adelante, una

cantidad proporcional a la energa de la portadora es tomada y distribuida a cada


una de las bandas o frecuencias laterales. Tambin al incrementarse el valor del
ndice de modulacin, el ancho de banda de la onda resultante es ampliado y se
van produciendo bandas laterales. Las frecuencias del lado de arriba y de abajo
son intervalos proporcionales a la frecuencia moduladora

y son simtricos

alrededor de la portadora . Las amplitudes de la portadora y los componentes


de sus bandas laterales estn determinados por funciones de Bessel del primer

tipo y de orden- n ,

as:

ndice de modulacin

I .

J n ( I) en donde el argumento de esta funcin es el

FIEE-UNMSM
FUNCION DE BESSEL
En el caso particular de sntesis de audio, si tenemos un ndice
primeras funciones de Bessel,
bandas laterales en la siguiente manera:

, las

corresponden a las amplitudes de las

La funcin de Bessel de orden 0 con el ndice


produce un escalar que
es el coeficiente para la amplitud de la frecuencia portadora.
La funcin de Bessel de primer orden
produce los coeficientes para las
amplitudes de las primeras bandas laterales por encima y por debajo de la
frecuencia portadora.
La funcin de Bessel de segundo orden
produce los coeficientes para las
amplitudes de las segundas bandas laterales por arriba y por abajo de la
frecuencia portadora y as sucesivamente.
Entre mas alto el orden de la frecuencia lateral, ms alto debe ser el ndice de
modulacin para que esta frecuencia tenga una amplitud perceptible o
significativa.
El ancho de banda total es aproximadamente igual al doble de la suma entre la
desviacin de frecuencias pico

y la frecuencia moduladora

o,

Para fines prcticos es razonable pensar que el nmero de bandas laterales


producidas a cada lado de la portadora es igual al ndice de modulacin

mas 2

o
. Adicionalmente, la posicin (i.e. frecuencia) de cada banda
lateral se puede calcular a partir de la siguiente norma:
Donde es el orden de la banda lateral y va generalmente de,
.
Las relaciones ac descritas pueden ser expresadas con la siguiente expansin
trigonomtrica:

Es importante notar el cambio de signo en el segundo trmino en los


componentes, que es alternado entre,

entre las sumas de orden par o impar.

FIEE-UNMSM
FRECUENCIA MODULADA
La modulacin angular resulta cuando el ngulo de fase

, de una onda

senoidal, vara con respecto al tiempo sin interferir en otros parmetros. Una
seal con modulacin angular se expresa de la siguiente manera:

FM = Ac cos [ ( t ) ] (1)
Donde

( t ) =w c t+
Por tanto, sustituyendo esta expresin en (1), quedando:

FM = Ac cos [ w c t+ ]
De tal manera que dicha modulacin queda expresada en funcin de la
frecuencia angular y la fase.
Como estamos analizando la modulacin de frecuencia, entonces definimos la
variacin de frecuencia angular instantnea

w i=

wc .

d ( t )
(3)
dt

En FM, la frecuencia de la seal portadora se hace variar en forma lineal con f


(t), lo cual por la ecuacin (3), produce tambin variacin lineal de ngulo

(t )

con la integral de f (t).

w i=w c + k f f ( t )
Entonces

( t ) =w c t+ k f f ( t ) dt +
As la forma de la seal FM es:

FM = Ac cos [ wc t +k f f ( t ) dt + ]
Dnde:

La constante

kf:

Constante del sistema

se puede hacer cero sin perder generalidad en la ecuacin

anterior que entonces quedara como:

FM = Ac cos [ wc t +k f f ( t ) dt ]
El mximo ancho de banda con una frecuencia angular instantnea mayor, se
define por:

AB =[ w c + k f |f ( t )|max +2 wm ][ w c k f |f ( t )|max 2 wm ]

FIEE-UNMSM
AB=2 k f |f ( t )|max +4 wm
Dnde:

k f|f ( t )|max =w : Desviacion maxima de la frecuencia portadora


METODO

El mtodo de Simpson (1/3)


En este procedimiento, se toma el intervalo de anchura 2h, comprendido
entre xi y xi+2, y se sustituye la funcin f(x) por la parbola que pasa por tres
puntos (xi, yi), (xi+1, yi+1), y (xi+2, yi+2).

Calculamos la contribucin a la integral del primer intervalo (x0, x0+2h) y


generalizaremos para el resto de los intervalos.
La ecuacin de la parbola y=ax2+bx+c que pasa por los puntos (x0, y0), (x0+h, y1),
(x0+2h, y2) es

Este sistema de tres ecuaciones con tres incgnitas, se reduce a

Despejamos el coeficiente a, y 2ax0+b

Sustituimos la curva por la porcin de parbola en el intervalo (x0, x0+2h). La


integral vale.

En general, el valor del rea aproximada, en el intervalo (xi, xi+2h) sombreada en


la figura, es
7

FIEE-UNMSM

El rea aproximada en el intervalo (a, b) es

O bien, agrupando trminos

FIEE-UNMSM
CODIGO

Modulacin FM
clc;
wc=20;
wm=1;
t=0:0.01:2*pi;
A=1;
mf=input('Ingrese el indice de
modulacion:');
F=A*cos(wc*t);
figure(1)
plot(t,F,'linewidth',2,'color', 'black')
axis([0 1 -2 2])
xlabel('Tiempo (t)')
ylabel('Funcion Fi(t)')
title('FUNCIN')
t=0:0.01:4*pi;
fc=wc/2*pi;
fs=length(t);%tamao de t
x=cos(wm*t);

%USANDO EL METOD0 DE LA INTEGRAL DE SIMPSON


COMPUESTA
f=inline('cos(t)');
I=sim13(f,0,4*pi,2);
%desviacion de frecuencia
dw=mf*wm;
%Se cambia las filas por columnas
x = x(:);
t = (0:1/fs:4*pi)';
%FRECUENCIA MODULADA
FM = cos(2*pi*fc*t + 2*pi*dw*I);
figure(2)
plot(t,FM,'linewidth',2,'color', 'black')
axis([0 1 -2 2])
xlabel('Tiempo(t)')
ylabel('Funcion Fi(t)')
title('FRECUENCIA MODULADA')

Mtodo de Simpson 1/3


function suma=Simpson(f,x0,xf,n)
%n nmero par de intervalos, n+1 nmero
de puntos en el vector
x=linspace(x0,xf,n+1);
h=x(2)-x(1);
suma=f(x(1))+f(x(n+1));
for i=2:2:n
suma=suma+4*f(x(i));

End
for i=3:2:n-1
suma=suma+2*f(x(i));
end
suma=suma*h/3;
end

GUIDE
function varargout = FrecuenciaModulada(varargin)
% FRECUENCIAMODULADA MATLAB code for
FrecuenciaModulada.fig
%
FRECUENCIAMODULADA, by itself, creates a new
FRECUENCIAMODULADA or raises the existing
%
singleton*.
%
%
H = FRECUENCIAMODULADA returns the handle to a
new FRECUENCIAMODULADA or the handle to
%
the existing singleton*.
%
%
FRECUENCIAMODULADA('CALLBACK',hObject,eventData,handles
,...) calls the local
%
function named CALLBACK in FRECUENCIAMODULADA.M
with the given input arguments.
%
%
FRECUENCIAMODULADA('Property','Value',...)
creates a new FRECUENCIAMODULADA or raises the
%
existing singleton*. Starting from the left,
property value pairs are
%
applied to the GUI before
FrecuenciaModulada_OpeningFcn gets called. An
%
unrecognized property name or invalid value
makes property application
%
stop. All inputs are passed to
FrecuenciaModulada_OpeningFcn via varargin.

% --- Executes on button press in Most_Mod.


function Most_Mod_Callback(hObject, eventdata, handles)
% hObject
handle to Most_Mod (see GCBO)
% eventdata reserved - to be defined in a future
version of MATLAB
% handles
structure with handles and user data (see
GUIDATA)
global L_medio;
global Nfft;
global fm;
global treq;
global fs;
global t;
global t1;
global M;
global f;
A=handles.Amp_Mens;
F=handles.Frec_Mens;
inm=handles.Ind_Mod;
A2=handles.Ampl_Port;
F2=handles.Frec_Port;
Am=A;
%--Amplitud de la seal a
modular
wm=2*pi*F;
%--Frecuencia de la seal a
modular
phi=0;
%--Fase de la seal a modular
fx=Am*cos(wm*t+phi);
%Seal a modular

FIEE-UNMSM
%
%
*See GUI Options on GUIDE's Tools menu.
"GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

Choose

% Edit the above text to modify the response to help


FrecuenciaModulada
% Last Modified by GUIDE v2.5 01-Jul-2015 13:18:40
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@FrecuenciaModulada_OpeningFcn, ...
'gui_OutputFcn',
@FrecuenciaModulada_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 FrecuenciaModulada is made


visible.
function FrecuenciaModulada_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
FrecuenciaModulada (see VARARGIN)
% Choose default command line output for
FrecuenciaModulada
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes FrecuenciaModulada wait for user
response (see UIRESUME)
% uiwait(handles.figure1);
global L_medio;
%Mitad de la cantidad de
muestras a recolectar
L_medio=1000;
global Nfft;
%Cantidad de puntos para
calcular la FFT
Nfft=2048;
global fm;
%Frecuencia de muesreo segn
Nyquist
fm=80000;
%Frecuencia de muesreo segn
Nyquist
global treq;
%Tiempo requerido para recolectar L

10

%Parametros necesarios para la modulacin FM


beta=inm;
%Indice de modulacin
kw=beta*wm/Am;
%Desviacin de frecuencia
phi=-pi/2;
%Se desfasa la seal
mt1=Am*cos(wm*t+phi);
%Se utiliza la seal
original para generar el
desf=beta*mt1;
%Desfase de la portadora
%Se genera la seal FM
Ac=A2;
%--Amplitud de la seal
portadora
wc=2*pi*F2;
%--Frecuencia de la seal
portadora
st=Ac*cos(wc*t+desf);
%Seal FM
%-------------fc=wc/(2*pi);
fm=length(t);%tamao de t
%USANDO EL METOD0 DE LA INTEGRAL DE SIMPSON COMPUESTA
fx=inline('cos(t)');
I=Simpson(fx,0,4*pi,2);
%desviacion de frecuencia
%Se cambia las filas por columnas
t=(0:1/fm:treq)';
%FRECUENCIA MODULADA
GFM = cos(2*pi*fc*t + beta*I);
axes(handles.axes1)
plot(t,GFM,'linewidth', 2, 'color', 'magenta');
title('Seal FM ','color','white');
xlabel('Tiempo [s]','color','white');
ylabel('s(t)','color','white');
texto=strcat('seal modulada con beta = ',
num2str(beta));
legend(texto);
grid on;
%------------------Y1=fft(GFM,Nfft);
%FFT de Nfft puntos para la
seal FM
Y1=fftshift(Y1);
%Reordenamiento de los
valores de la FFT
norm1=max(abs(Y1));
%Para normalizar el espectro
en magnitud
Yf1=unwrap(angle(Y1));
%Clculo de las componentes
de fase de la seal
axes(handles.axes2)
plot(f,abs(Y1)/norm1, 'linewidth', 2, 'color',
'magenta');
title('Espectro seal resultante FM','color','white');
xlabel('Frecuencia (Hz)','color','white');
ylabel('Magnitud normalizada','color','white');
legend('Espectro FM');
xlim([-35*F 35*F]);
grid on;
' ';

function Amp_Mens_Callback(hObject, eventdata, handles)


% hObject
handle to Amp_Mens (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
Amp_Mens as text
%
str2double(get(hObject,'String')) returns

FIEE-UNMSM
muestras
treq=2*L_medio/fm;
recolectar L muestras
global fs;
fs=((2*L_medio-1)/treq);
recolectar L muestras

contents of Amp_Mens as a double


%Tiempo requerido para

%Divisin de tiempo para

global t;
%Vector de muestras a recolectar
t=0:1/fs:treq;
global t1;
%Vector en cantidad de muestras
recolectadas
t1=0:length(t)-1;
%Vector de frecuencias para los espectros en frecuencia
global M;
M=Nfft/2;
faux(M+1:Nfft)=0:M-1;
%Vector de frecuencias
desordenado
faux(1:M)=-M:-1;
%Vector de frecuencias
ordenado
global f;
f=fm*faux/(Nfft);
%Vector de frecuencias
normalizado
x=0;
axes(handles.axes1)
plot(t,x)
title('Seal f(t)','color','white');
xlabel('Tiempo [s]','color','white');
axis([0 0.006 -1 1])
set(handles.axes1,'XMinorTick','on')
grid on
axes(handles.axes2)
plot(f,x)
title('Seal f(Hz)','color','white');
xlabel('Frecuencia [Hz]','color','white');
axis([0 2000 0 1])
set(handles.axes2,'XMinorTick','on')
grid on

% --- Outputs from this function are returned to the


command line.
function varargout =
FrecuenciaModulada_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see
VARARGOUT);
% 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
structure
varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata,
handles)
% hObject
handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future
version of MATLAB
% handles
structure with handles and user data (see
GUIDATA)

% --- Executes on button press in Most_Mens.


function Most_Mens_Callback(hObject, eventdata,

11

Val=get(hObject,'String');
NewVal = str2double(Val);
handles.Amp_Mens=NewVal;
guidata(hObject,handles);
% --- Executes during object creation, after setting
all properties.
function Amp_Mens_CreateFcn(hObject, eventdata,
handles)
% hObject
handle to Amp_Mens (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
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBa
ckgroundColor'));
end

function Frec_Mens_Callback(hObject, eventdata,


handles)
% hObject
handle to Frec_Mens (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
Frec_Mens as text
%
str2double(get(hObject,'String')) returns
contents of Frec_Mens as a double
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.Frec_Mens=NewVal;
guidata(hObject,handles);
% --- Executes during object creation, after setting
all properties.
function Frec_Mens_CreateFcn(hObject, eventdata,
handles)
% hObject
handle to Frec_Mens (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
set(hObject,'BackgroundColor','white');
else

FIEE-UNMSM
handles)
% hObject
handle to Most_Mens (see GCBO)
% eventdata reserved - to be defined in a future
version of MATLAB
% handles
structure with handles and user data (see
GUIDATA)
global L_medio;
global Nfft;
global fm;
global treq;
global fs;
global t;
global t1;
global M;
global f;
A=handles.Amp_Mens;
F=handles.Frec_Mens;
%Se genera la seal a modular
Am=A;
%Amplitud de la seal a
modular
wm=2*pi*F;
%Frecuencia de la seal a
modular
phi=0;
%Fase de la seal a modular
mt=Am*cos(wm*t+phi);
%Seal a modular
axes(handles.axes1)
plot(t,mt,'linewidth', 2, 'color', 'red')
title('Seal mensaje','color','white');
xlabel('Tiempo [s]','color','white');
ylabel('Amplitud m(t)','color','white');
texto=strcat('mensaje de ', num2str(F), 'Hz');
legend(texto);
axis([0 2*(1/F) -A A]);
set(handles.axes1,'XMinorTick','on')
grid on
%---------------------------------------------------Y1=fft(mt,Nfft);
%FFT de Nfft puntos para la
seal FM
Y1=fftshift(Y1);
%Reordenamiento de los
valores de la FFT
length(Y1);
norm1=max(abs(Y1));
%Para normalizar el espectro
en magnitud
Yf1=unwrap(angle(Y1));
%Clculo de las componentes
de fase de la seal
axes(handles.axes2)
plot(f,abs(Y1)/norm1,'linewidth', 2, 'color', 'red');
legend('Espectro de m(t)','color','white');
title('Espectro de la seal mensaje','color','white');
xlabel('Frecuencia [Hz]','color','white');
ylabel('Magnitud normalizada','color','white');
legend('Espectro Mensaje m(t)','color','white');
xlim([-8*F 8*F]);
grid on;
% --- Executes on button press in Most_Port.
function Most_Port_Callback(hObject, eventdata,
handles)
% hObject
handle to Most_Port (see GCBO)
% eventdata reserved - to be defined in a future
version of MATLAB
% handles
structure with handles and user data (see
GUIDATA)
global L_medio;
global Nfft;
global fm;
global treq;
global fs;
global t;
global t1;
global M;
global f;

12

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBa
ckgroundColor'));
end

function Ampl_Port_Callback(hObject, eventdata,


handles)
% hObject
handle to Ampl_Port (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
Ampl_Port as text
%
str2double(get(hObject,'String')) returns
contents of Ampl_Port as a double
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.Ampl_Port=NewVal;
guidata(hObject,handles);

% --- Executes during object creation, after setting


all properties.
function Ampl_Port_CreateFcn(hObject, eventdata,
handles)
% hObject
handle to Ampl_Port (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 Frec_Port_Callback(hObject, eventdata,


handles)
% hObject
handle to Frec_Port (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
Frec_Port as text
%
str2double(get(hObject,'String')) returns
contents of Frec_Port as a double
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.Frec_Port=NewVal;
guidata(hObject,handles);
% --- Executes during object creation, after setting
all properties.
function Frec_Port_CreateFcn(hObject, eventdata,
handles)

FIEE-UNMSM
A=handles.Ampl_Port;
F=handles.Frec_Port;
Ac=A;
%Amplitud de la seal
portadora
wc=2*pi*F;
%Frecuencia de la seal
portadora
st=Ac*cos(wc*t);
%Seal FM
axes(handles.axes1)
plot(t,st,'linewidth',2, 'color', 'black')
title('Seal portadora','color','white');
xlabel('Tiempo [S]');
ylabel('Amplitud de c(t)');
texto=strcat('portadora de ', num2str(F), 'Hz');
legend(texto);
axis([0 2*(1/F) -A A])
set(handles.axes1,'XMinorTick','on')
grid on
%----------------------------------Y1=fft(st,Nfft);
%FFT de Nfft puntos para la
seal FM
Y1=fftshift(Y1);
%Reordenamiento de los
valores de la FFT
norm1=max(abs(Y1));
%Para normalizar el espectro
en magnitud
Yf1=unwrap(angle(Y1));
%Clculo de las componentes
de fase de la seal
axes(handles.axes2)
plot(f,abs(Y1)/norm1, 'linewidth', 2, 'color',
'black');
title('Espectro continuo en magnitud de la seal
portadora','color','white');
xlabel('Frecuencia (Hz)','color','white');
ylabel('Magnitud normalizada','color','white');
legend('Espectro Portadora c(t)');
xlim([-8*F 8*F]);
grid on;

% hObject
handle to Frec_Port (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 Ind_Mod_Callback(hObject, eventdata, handles)


% hObject
handle to Ind_Mod (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
Ind_Mod as text
%
str2double(get(hObject,'String')) returns
contents of Ind_Mod as a double
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.Ind_Mod=NewVal;
guidata(hObject,handles);
% --- Executes during object creation, after setting
all properties.
function Ind_Mod_CreateFcn(hObject, eventdata, handles)
% hObject
handle to Ind_Mod (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

13

FIEE-UNMSM
Como ya sabemos llamamos a la funcin guide en Matlab, luego ponemos los
botones y cuadros necesarios a utilizar.

Cambiamos el color dndole doble clic a cada cuadro.

14

FIEE-UNMSM
El resultado ser el siguiente:

Ponemos los valores de amplitud, frecuencia e ndice de modulacin de la seal:


SEAL MENSAJE

15

FIEE-UNMSM
SEAL PORTADORA

SEAL MODULADA

CONCLUSIONES
La sntesis FM es un mtodo simple para lograr sonidos que se desenvuelven en
forma natural. El espectro de un sonido generado por sntesis FM puede ser
manipulado al cambiar cuidadosamente el ndice de modulacin, como tambin
los radios (divisin) entre las frecuencias portadoras y moduladoras.
Al cambiar ndices de modulacin, el ancho de banda del sonido resultante
tambin cambia. Luego si el ndice se hace funcin del tiempo, el espectro
muestra una forma con un carcter ms complejo produciendo as sonidos ms
reales e interesantes.

16

Вам также может понравиться