Fundamentos de Sintesis de audio con frecuencia modulada

download Fundamentos de Sintesis de audio con frecuencia modulada

of 17

description

En este informe hallamos la frecuencia modulada con usando metodos numericos, se utiliza la funcion para

Transcript of Fundamentos de Sintesis de audio con frecuencia modulada

FUNDAMENTOS DE SINTESIS DE AUDIO CON FRECUENCIA MODULADA

FIEE-UNMSM2015

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOSFUNDAMENTOS DE SINTESIS DE AUDIO CON FRECUENCIA MODULADACURSO: MTODOS NUMRICOS

TORRES NAPN, JAZMIN MADELEINE 13190062

Tabla de contenidoINTRODUCCIN2OBJETIVO3ESPECTROS DE AUDIO COMPLEJOS3CARACTERSTICAS DE LA FM3DESCRIPCIN MATEMTICA4Seal FM4FUNCION DE BESSEL4FRECUENCIA MODULADA5METODO6El mtodo de Simpson (1/3)6CODIGO8Modulacin FM8Mtodo de Simpson 1/38GUIDE8SEAL MENSAJE13SEAL PORTADORA14SEAL MODULADA14CONCLUSIONES14

FUNDAMENTOS DE SINTESIS DE AUDIO CON FRECUENCIA MODULADAINTRODUCCINEl 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 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 portadoraDESCRIPCIN MATEMTICASeal 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:

Donde es la amplitud instantnea de la onda portadora que ya ha sido modulada, es la frecuencia de la onda portadora en y es la frecuencia de la onda moduladora tambin en . , 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 la desviacin pico de frecuencias tambin es y por lo tanto no hay ningn tipo de modulacin. Cuando 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 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- as: en donde el argumento de esta funcin es el ndice de modulacin .FUNCION DE BESSELEn el caso particular de sntesis de audio, si tenemos un ndice, las primeras funciones de Bessel, corresponden a las amplitudes de las bandas laterales en la siguiente manera: 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. FRECUENCIA MODULADALa 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:

Donde

Por tanto, sustituyendo esta expresin en (1), quedando:

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 .

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 con la integral de f (t).

Entonces

As la forma de la seal FM es:

Dnde: Constante del sistemaLa constante se puede hacer cero sin perder generalidad en la ecuacin anterior que entonces quedara como:

El mximo ancho de banda con una frecuencia angular instantnea mayor, se define por:

Dnde: METODOEl mtodo de Simpson (1/3)En este procedimiento, se toma el intervalo de anchura 2h, comprendido entrexiyxi+2, y se sustituye la funcinf(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 parbolay=ax2+bx+cque 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 coeficientea, 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

El rea aproximada en el intervalo (a,b) esO bien, agrupando trminos

CODIGOModulacin FMclc;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 tx=cos(wm*t); %USANDO EL METOD0 DE LA INTEGRAL DE SIMPSON COMPUESTAf=inline('cos(t)');I=sim13(f,0,4*pi,2);%desviacion de frecuenciadw=mf*wm;%Se cambia las filas por columnasx = x(:);t = (0:1/fs:4*pi)';%FRECUENCIA MODULADAFM = 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/3function 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

GUIDEfunction 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.%% *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 FrecuenciaModulada % Last Modified by GUIDE v2.5 01-Jul-2015 13:18:40 % Begin initialization code - DO NOT EDITgui_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 FrecuenciaModuladahandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes FrecuenciaModulada wait for user response (see UIRESUME)% uiwait(handles.figure1);global L_medio; %Mitad de la cantidad de muestras a recolectarL_medio=1000;global Nfft; %Cantidad de puntos para calcular la FFTNfft=2048;global fm; %Frecuencia de muesreo segn Nyquistfm=80000; %Frecuencia de muesreo segn Nyquistglobal treq; %Tiempo requerido para recolectar L muestrastreq=2*L_medio/fm; %Tiempo requerido para recolectar L muestrasglobal fs;fs=((2*L_medio-1)/treq); %Divisin de tiempo para recolectar L muestras global t; %Vector de muestras a recolectart=0:1/fs:treq;global t1; %Vector en cantidad de muestras recolectadast1=0:length(t)-1;%Vector de frecuencias para los espectros en frecuenciaglobal M;M=Nfft/2;faux(M+1:Nfft)=0:M-1; %Vector de frecuencias desordenadofaux(1:M)=-M:-1; %Vector de frecuencias ordenadoglobal f;f=fm*faux/(Nfft); %Vector de frecuencias normalizadox=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 onaxes(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 structurevarargout{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, 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 modularAm=A; %Amplitud de la seal a modularwm=2*pi*F; %Frecuencia de la seal a modularphi=0; %Fase de la seal a modularmt=Am*cos(wm*t+phi); %Seal a modularaxes(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 FFTlength(Y1);norm1=max(abs(Y1)); %Para normalizar el espectro en magnitudYf1=unwrap(angle(Y1)); %Clculo de las componentes de fase de la sealaxes(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;A=handles.Ampl_Port;F=handles.Frec_Port;Ac=A; %Amplitud de la seal portadorawc=2*pi*F; %Frecuencia de la seal portadorast=Ac*cos(wc*t); %Seal FMaxes(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 FFTnorm1=max(abs(Y1)); %Para normalizar el espectro en magnitudYf1=unwrap(angle(Y1)); %Clculo de las componentes de fase de la sealaxes(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; % --- 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 modularwm=2*pi*F; %--Frecuencia de la seal a modularphi=0; %--Fase de la seal a modularfx=Am*cos(wm*t+phi); %Seal a modular%Parametros necesarios para la modulacin FMbeta=inm; %Indice de modulacinkw=beta*wm/Am; %Desviacin de frecuenciaphi=-pi/2; %Se desfasa la sealmt1=Am*cos(wm*t+phi); %Se utiliza la seal original para generar eldesf=beta*mt1; %Desfase de la portadora%Se genera la seal FMAc=A2; %--Amplitud de la seal portadorawc=2*pi*F2; %--Frecuencia de la seal portadorast=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 COMPUESTAfx=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 MODULADAGFM = 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 FFTnorm1=max(abs(Y1)); %Para normalizar el espectro en magnitudYf1=unwrap(angle(Y1)); %Clculo de las componentes de fase de la sealaxes(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 contents of Amp_Mens as a double 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,'defaultUicontrolBackgroundColor'));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 set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));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 doubleVal=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)% 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

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.

El resultado ser el siguiente:

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

SEAL PORTADORA

SEAL MODULADA

CONCLUSIONESLa 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. 1