AM - TESIUAMI

Anuncio
-
UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPA
DIVISION : CBI
INGENIERIA ELECTRONICA
PROYECTO TERMINAL I1
ESQUEMAS DE MODULACION ANALOGICA Y DIGITAL
Acesor :
/'
/
Integrantes : Tobias Granados Morales
Pedro I . Zayas Pdrez
INTRODUCCION
El concepto de modulación en comunicación electrónica
es tan importante hoy en dia, que se
hacen incluso estudios especiales para su mejor aprovechamiento.Si la modulación no existiera
sería muy difícil imaginarse como el hombre
se comunicaría a distancia.
Basicamente la mudulación es el proceso por el cual una señal de baja frecuencia, es impresa
sobre otra señaldemuchomdsaltafrecuencia.
La señaldebajafrecuencia
es llamada
moduladora
y la de alta frecuencia es llamada portadora, ya que esta es la que se encarga de "transportar .'
el
mensaje.Si esto no fuera así,entonces se necesitarían antenas de kilometros
de largo para poder
transmitir dicho mensaje.
Existen varios tipos de modulación. tanto aneloaico como diaital:
y frecuencia modulada.
En los analógicos estan la amplitud modulada
Amplitud modulada : Aquí la amplitud de la portadora varía segun varie
el mensaje, por 10 tanto
es propensa a ruido. Dentro de esta modalidad existen varios tipos de modulación como son
:
AM comercial, AM doble banda lateral, AM banda lateral unica, AM banda lateral residual.
Frecuencia modulada : en este tipo de modulación lo que varia es la frecuencia de la portadora,
este tipo de modulaciónes muy imporante en comunicación de voz ya que es menos propensa
al
ruido, porque su amplitud permanece constante.
Existen otros tipos de modulación como la modulación digital que en la actualidad se ha vuelto
tan
importante parael proceso de datos,telefonía,voz,video,etc.
Dentro de esta categoriaseencuentranvariostipos
de modulacióndigitaltalescomoASK,
FSK,
PSK, QPSK, QASK,etc. Dependiendo de la necesida,se elige que tipo de modulación usar,por
ejemplo para modem's se utiliza muchoFSK.
En este programamostramosalgunosdelosdiferentestiposdemodulacióntantoandlogica
como
digital, mostramos grdficamente como se vería en
el tiempo la seilal y tambien mostramos su
grafica en frecuencia, es decir su ancho de banda. Tambien incluimos una pequeña intruducción
teórica y explicación delos diferentes tiposde modulación.
MODO DE USAR EL PROGRAMA
La forma de usar este programa es muy sencilla.lnicialmente muestra una advertencia para el
uso de cierto tipo demonitor.Inmediatamentedespuesapareceunapequeñaanimación
de
adorno, posteriormente oprimiendo cualquier tecla aparece el menu del tipo de modulación que
se desee observar, habiendo ya seleccionado
el tipo de modulación entonces apareceotro menú,
el cual es unaderivacióndelanterior,
y asisucesivamentehastaque
se encuentralaúltima
indicación.
Como va apareciendo cada menú se va preguntando
Io que se desea hacer. Por
programano tiene ningunaopción de ayudaextra,yaquesufuncionamiento
anidada .
lo tanto el
es deforma
**************
librerias y bibliotecas usadas en el programa
*/
include<stdio.h>
include<math.h>
include<stdlib.h>
include<graphics.h>
include <conio.h>
include <ctype.h>
fiefine RAD 57.29578 / * CTE. PARA LOS CALCULOSDE LAS SENOIDES * /
nt graphmode;/* variables para detectar el tipo de tarjeta los
para
graficos
nt graphdriver = DETECT;
nt
nt
nt
nt
nt
maxxlmaxylpuntmed;
c;
/ * variable para el uso de los menus * /
x;
/ * VARIABLE PARA LA SIGNAL NO PERIODICADE A.M. * /
k;
/ * Variable para ask * /
Errorcode; / * variable para detectar graficos
*/
*******************
MENSAJES
PARA
LOSM E W S EN
PANTALLA
..............................
har analog [I
har digita [I
har salir[]
=
II
MODULACION ANALOGICA.
.< A >
MODULACION DIGITAL... . < D >
SALIR... . . . . . . . . . . . . .<ESC >
har amp [I
har frec [I
=
II
AMPLITUD MODULADA.
. . . .< A >
FRECUENCIA MODULADA. . . < F >
har
har
har
har
dbl
[I
blu
[I
blr
[I
amc
[I
har m t[1
har mIa[]
har teo
[I
har
har
har
=
=
=
=
=
Ir
=
DOBLE BANDA LATERAL.
. .< D >
BANDA LATERAL UNICA.
. .< U >
BANDA LATERAL RESIDUAL<
R >
AM COMERCIAL. . . . . . . . . .< C >
II
=
=
=
=
If
II
MODULACION EN TONO..
....< T
MODULACION NO PER1ODICA.c
A
TEORIA. . . . . . . . . . . . . . . . . . < E
INDICE MAYOR
INDICE MENOR
INDICE IGUAL
ma-uno[I =
=
me-uno[I
ig
uno[]
=
-
har graf tie [I
har graf-frec [I
har an-banda [I
********
=
=
=
II
II
-
har
dig[]
har
df [I sk
har
dask
[I
har dpsk
[I
hardqpsk [I
-
"
'I
I'
"
It
I1
ll;
' I ;
";
;
;
If;
II
;
>I1;
>I1;
>I1;
UNO.
. . .< A >
UNO.
. . .< E >
UNO.
. . .< I >
'I
I'
'I
GRAFICA EN TIEMPO.. . . . < T >
GRAFICA EN FRECUENCIA.
< F >
ANCHO DE BANDA. . . . . . . . < B >
MENSAJESPARA
har fsk[]
har psk[l
har ask [I
har qpsk
[I
har geom [I
A
A
A
ll;
;
;
;
'I
**************/
LA MODULACIONDIGITAL
MODULACION FSK. . . . . . . . . . <
MODULACION PSK.. . . . . . . . . <
MODULACION ASK. . . . . . . . . . <
MODULACION QPSK.
. . . . . . . .<
FORMA GEOMETRICA.. . . . . . . <
Modulacion
Digital
Digital FSK
Digital
ASK
Digital PSK
DigitalQPSK
;
;
;
II
F
P
A
Q
G
>
>
>
>
>
' I ;
'I;
'I;
'I;
Ir;
I1
.
.
I
II
.
.
I
II
II
11
I
I
.
I
*/
har
mens
[I
har DBL [I
har DBLN [I
nar DBLT [I
har BLU [ I
har BLUN [I
har BLUT [I
harBLR [I
har BLRN [I
har BLRT [I
AMCO
har
[3
harAMCN [ ]
har AMCT [ I
har IMEU [ ]
har IMAU [ I
har IUNO [ I
o[] har
men1
har
[I
har men2
[I
har inm
[I
hariil [ I
har nop [ I
harmenf m [ I
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
"Modulacion
de A.M.
II .
"doblebandalateral
11 .
"doble banda lateral no periodical!;
"doble banda lateral en tono I ! ;
"bandalateraunica
II .
"banda lateral unica no periodicall;
"banda lateral unica en tono
"bandalateralresidual(BLR)
.
"BLR no periodica" ;
"banda lateral residual en tono
"comerical
r.
"comercialnoperiodica
11 .
"comercial
en
tono
II .
Ilcomercial en tono con indice c 1
"comercial en tono con indice > 1
"comercial en tono con indice = 1
I
I
I
11 I
11
I
I
I!;
I!;
I!;
.
II I
tono.
en
II .
en tono con indice menor a uno
en tono con indice mayor a
uno";
entonoconindiceiguala
unoll;
de una funcion no periodica I r ;
modulaciondeFM
II .
I
I!;
I
* FUNCIONES DE LOS MENUS EN PANTALLA
*/
Did marco(void); / * dibuja un marco para las graficas*/
Did menul(int 1,int t,int r,int b,char *analog,char *digita,char *salir,
int *c,int c1,int c2,int c3,int color);
oid menu2 (int
1,int t,int r,int b,char *espacio,char *mens,
char *aux,char *an,char *di,char *sa,int
*c,
int c1,int c2,int c3,int c4,int color,int~ 0 1 2 ) ;
oid menu3(int 1,int t,int r,int b,char *Atchar *B,char *C,
char *D,char*E,char *F,char *G,int *c,int
cl,
int c2,int c3,int c4,intc5,int c6,int c7,int color,int
~012);
oid
oid
oid
oid
mensaje(void); / * Esta funcion
mensage2(void); / * Esta funcion
animacion(void);/* funcion que
analogica(void); / * funcion de
da el primer mensaje en pantalla
*/
da el segundo mensaje
en pantalla * /
hace una animacion
*/
modulacion analogica* /
oid amp1 mod(void); / * funcion de amplitud modulada* /
oid teo %l(void); / * funcion de la teoria de
A.M.*/
oid doba
la(void)
; / * funcion
de doble banda lateral
*/
"
**********
oid
oid
oid
oid
oid
oid
oid
oid
FUNCIONES DE BANDA LATERAL UNICA . . . . . . . . . . . . . . . . . . . .
ba laun(void); / * funcion de banda lateral unica* /
t" b
_ 1-u(void); / * teoria de banda lateral * / unica
m blu np(void); / * modulacion no periodica de blu
*/
mt blÜAM(void); / * modulacion en tono de blu
*/
g t bluN(void); / * grafica en tiempo de no
BLU
periodica * / / * * * * * * * /
g F bluN(void);/ * grafica en frecuencia de BLU no periodica
*/
a" g
_ f blu(void); / * auxiliar
de
BLU
en
frecuencia
no
periodica*/
g F bluT(void);/ * grafica en frecuencia de BLU en * / tono
"
"
"
* * * * * * * * FUNCIONES DE BLR . . . . . . . . . . . . . . . . . . . .
*/
oid ba lare(void); / * funcion de banda lateral residual
oid t" b
_ 1-R(void); / * teoria de BLR * /
*/
oid m-blR-np(void); / * modulacion BLR no periodica
Did mt blRAM(void)
; / * modulacion BLR en tono
*/
Did g F blRn(void); / * grafica en frecuencia de BLR no periodica
*/
/
*
grafica
en
frecuencia
de
BLR
en
tono
*
/
2id
g-F-blUT(void)
;
2id
agf
-blrN(void); / * auxiliar de BLR en frecuencia no periodica
*/
"
A-********* FUNCION DE AM COMERCIAL
Did
Did
Did
Did
Did
*
am comer(void); / *
m-co-AMT(void); / *
t am
com(void);
/*
m co amn(void); / *
g-t amcn(void); / *
"
"
.......................
Am comercial * /
Am comercial en tono
*/
teoria
de
AM comercial * /
funcion deAM comercial no periodica* /
grafica en tiempo AM
de comercial no
periodica* /
Funciones para las graficas AM
de comercial no periodica*/
Did
Did
Did
Did
Did
2id
1;
mod VOZ l(int a,int b,int ang1,int ang2,int *xO,int color
mod-vozTvoid) ;
vozpor (int ,iint ,jint ind)
;
port voz (void)
;
mod-no-p
(void)
;
m- "
n p a(void);
/ * fin de las funciones de
AM no periodica en tiemPo*/
Did
Did
Did
Did
Did
g-F- AMcn(void); / * grafica
men 1 am(void); / * funcion
may- 1_ am(void); / * funcion
t i ma
-l(void);/*
teoria AM
ind- 1_ am(void); / * funcion
"
"
en frecuencia de
AM comercial no periodica * /
deAM comercial en tono menor que* / uno
deAM comercial en tono mayor que* / uno
comercial en tono >ind
uno * /
deAM comercial de indice igual a uno en
* * * FUNCIONES PARA LAS GRAFICAS
DE INDICE DE AM EN
Did intim uno(void);/ * GRAFICA EN TIEMPO AM
EN IND
Did mo-am-m l(int color); / * MODULADORA DE INDICE
Did PO a am m l(inti,int j,int ind);/ * PORTADORA
Did po-am m-lTvoid); / * PORTADORA DE INDICE MENOR
TONO * * * * * /
MENOR A UNO*/
MENOR A UNO EN AM*/
AUX. DE INDICE MENOR AUNO
A UNO AM*/
EN
g r-i" m void); /*GRAFICA EN FRECUENCIA CON IND. MENOR QUE UNO*/
g-t- i-l(void); /*Dibuja toda la grafica de ind. igual
1 */
a
m-i" i l(int color);
/ * Dibuja la moduladora de ind. igual
1 */
a
P-1'
i-l(int i,int j,int ind);/*
parte de la portadora igual
1*/ a
p-1 i 2(void);/ * toda la portadora de ind. igual * / a uno
5J-t-i-m-l(void); /*Dibuja la signal en tiempo para ind. mayor a
m" _
i m l(int color);
/ * dibuja la moduladora de ind. mayor a uno*/
P-+' m-l(int i,int j,int
ind); /*portadora de ind. mayor a uno*/
P-1- m-un(void); /*portadora auxiliar de ind. mayor * /a uno
"
"
Did
aid
Did
Did
oid
Did
Did
Did
Did
"
Did m no_pam(void);/* modulacion no periodica
AM de
*/
de AM DBLPS no periodica*/
aid axdblnp(void);/*auxiliar de graf. en frecuencia
oid
oid
oid
oid
oid
oid
mt AM(void);
/ * modulacion en tono de am * /
t db la(void); / * teoria de doble banda lateral* /
gIt- am_ n(void); / * grafica
en
tiempo
de
no periodica
am
*/
9-f-a m-n(void); / * grafica en frecuencia de noam
periodica * /
g-t-mtAM(void);/* grafica en tiempo modulacion en tono de am * /
g-f-m tAM(void); / * grafica en frecuencia modulacion en tono de am*/
*******
FUNCIONES
PARA
LA
FM
......................
oid frec mod(void);/ * FUNCION PARA LA FM
*/
oid teo Tm(void); / * Teoria de la FM en general
*/
oid mt Fm(void);/* funcion para
la modulacion en tono
oid te-fm
- _ np(void); / * Teoria
de
fm un de
tono * /
de
FM*/
to
Did g" _
t t fm(void); / * Grafica completa de la signal * / en FM
Did mod fm(void); / * Moduladora de Fm en tiempo*/
Did port fm(void);/ * Portadora de FM en tiempo*/
Did mod frec(void);/*Grafica deFM en tiempo*/
Did mod-aux(int a,int b,int xaux,int des);/* graf. auxiliarFMde
en tiempo*/
Did g" _
f-t FM(void); / * Funcion que dibuja el espetro de Fm* / en tono
Did FM no pe(void); / * funcion de FM no periodica
*/
*void
f-fmno(void) ;*/ / *
Grafica en frecuencia de *FM
/
"
3id
3id
Did
3id
>id
Did
3id
3id
digital(void); / * FUNCION DE ANALISIS DIGITAL * /
TE0 DIG(void); / * Funcion de teoria digital* /
mod-ask(void); / * Modulaion ASK * /
m d-ask(void); / * Funcion para la ASK en tiempo
*/
m fsk(int *k,int A,int B,int ang1,int ang2,intcolor); /*auxiliar de m - d a
G F ASK(void) ; / * Funcion que dibuja la grafica del espectro de ASK
*T
ask no p(void); / * Auxiliar del espectro de ASK* /
teo-ask(void)
; / * Teoria
de ASK
*/
3id
Did
3id
3id
3id
3id
mod fsk
(void); / * Modulacion FSK* /
G T-FSK(void); / * Grafica en tiempo la FSK * /
aux fsk(int *k,int A,int ang1,int ang2,int color);/ * Aux. de FSK* /
ES =K(void) ; / * Dibuja el espectro de FSK* /
AUK FSK(void);/ * Auxilia al espectro de FSK
*/
teo-fsk(void);
/ * Funcio de teoria de FSK
*/
3i.d
Did
aid
aid
3id
Did
mod psk(void); / * Modulaion PSK * /
g t-psk(void); / * Funcion que dibuja la grafica en tiempo de *PSK
/
au-t-psk(int *k,int A,int B,int ang1,int ang2,int color);/* Aux. de enPSK
g f psk(void);/ * Grafica en frecuencia de* / PSK
psk auxf(void); / * Aux de PSK en frec.* /
TEO-PSK(void)
;
/ * Teoria de PSK * /
"
"
"
"
"
aid mod qpsk(void); / * Modulaion QPSK * /
aid g-tzqpsk(void); / * grafica en tiempo QPSK
*/
3id TE0 QPSK(void); / * Teoria qpsk * /
*void gzf
-qpsk(void);*/ / * Grafica en frecuencia
QPSK
*/
Did main (void)
{
clrscr ( 1 ;
mensaje ( ) ;
mensage2 0 ;
animacion ( ) ;
do
c
. menu1(20,10,53,16,analog,digita,salir,&c,65,68,27,3~;
switch ( c )
{
case 6 5
:
case 6 8
:
case 27
:
1
analogicao;
break;
digital 0 ;
break;
exit(1);
q
1
while
(c! =
1
27) ;
*/
...............................................................
/ * FIN DE PROGRAMA
PRINCIPAL
FUNCION
ANALOGICA
...............................................................
2id analogica
(void)
menu1(20,10,53,16,amp,frec,salir,&c,65,70,27,2);
switch
(c)
{
case 65
/*****
:
case
70
:
case
27
:
ampl mod0 ;
brear;;
frec m o d o ;
break;
c = 77;
break ;
FIN DE FUNCIONANALOGICA
**********/
FUNCION DE AMPLITUD
MODULADA
*************/
2id ampl
mod
(
1
{
do
{
menu3(20,10,53,18,mens,teo,dbl,bl,blu,
blr,amc,salir,&c,69,
t******
68,85,82,67,27,27,4,14);
switch (c)
{
case 69
case
:
68
:
case 85
:
case
82
:
case
67
:
case
27
:
teo A M O ; / * funcion de la teoria deA.M.*/
break ;
do ba la();
break;
ba la-un( ) ;
break;
ba la re
() ;
break;
am comer();
break;
c = 27;
break;
1
1
while(c
!= 2 7 ) ;
1
..................................................................
FUNCION DE DOBLE
BANDA
LATERAL
...................................................................
oid do ba
"
la(void)
menu2(20,10,53,16,DBL,mens,teo,m
-a,m-t,salir,&c,27,65,84,69,0,14);
switch (c)
. .
{
case 69 : t db-lao; / * teoria * /
break;
case 65 : m no Pam();/* modulacion no periodica* /
byeaE;
case 84 : mt A M O ; / * modulacion en tono * /
break;
case 27 : c = 77;
break;
k***********************************************************
FUNCION DE MODULACION
NO
PERIODICA
AM
DE
DOBLE
BANDA
LATERAL
k****************************************************************/
2id m no
{
do
{
pam(void)
"
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , D B L N , m e n s , g r a f -tie,salir,graf-
frec,espacio,
&c,27,27,84,70,15,0);
switch
(c)
{
case 84 : g-t- amen();/* grafica en tiempo es la misma que
*/
break; / * AM comercial * /
case 70 : g-f-am-n();
/ * grafica en frecuencia * /
break;
case 27 : c = 27;
break;
1
1
while(c
!=
27) ;
1
.........................................................
GRAFICA
EN
FRECUENCIA
DE DOBLE
BANDA
LATERAL
NO
PERIODICA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3id g- f am n(void)
{
int ind, cont;
initgraph(&graphdriver,
&graphmode,
. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( 1 ;
setcolor (15);
setlinestyle ( O ,Ox3ff ,1);
outtextxy(maxx/2-20,20,~10F(w)
O ! ! ) ;
outtextxy(3*maxx/4,maxy-25,"fc") ;
' I .
outtextxy(maxx/4-4,maxy-25,"-fc")
;
outtextxy(maxx-25,maxy/2-30,
I1w1l)
;
outtextxy(maxx-25,maxy-30t
"w");
outtextxy(maxx/2-20,maxy/2+10,"0F(w)
outtextxy(20,30,
"MAGNITUD
O " )
;
ESPECTRO
DEL
EN"); / * Mensaje
especial * /
outtextxy(20,40, "FRECUENCIA
DE UNA FUNCION")
;
outtextxy(20,50,~rN0
PERIDICA DOBLE BANDA
LATERAL");
outtextxy(maxx/2+20,50, "MAGNITUD DEL ESPECTRO")
;
outtextxy(maxx/2+20,maxy/2+50,"ESPECTRO TRASLADADO")
;
outtextxy (20
,maxy/2+50, "OBSEVAMOS QUE EN EL ESPECTRO"
) ;
outtextxy(20,maxy/2+60, "TRASLADADO NO HAY PORTADORA")
;
setcolor (15);
moveto(maxx/2,30);
lineto(maxx/2,maxy/2.0-30);/*DIBUJA EL EJE
Y DE LA PRIMERA GRAFICA* /
moveto(20,maxy/2-30);
lineto(maxx-30,maxy/2-30);/ * DIBUJA EL EJE
X DE LA la GRAFICA*/
moveto(maxx/2,maxy/2.~+30)
;
lineto(maxx/2,maxy -30); /*DIBUJA EL EJEY DE LA 2a GRAFICA * /
moveto(20,maxy -30);
lineto(maxx-30,maxy -30); / * DIBUJA EL EJE X DE LA 2a GRAFICA*/
cont = (maxy-30)
- (3*maxy/4+30);
for(ind =l;ind c=cont;ind + = 6 )
{
putpixel(maxx/4,maxy-30-ind,15);
putpixel(3*maxx/4,maxy-30-indr15);
}
axdblnp ( 1 ;
setcolor (O) ;
outtextxy (maxx/2
,maxy-lO,Ilpresionar unatecla");
getch ( ) ;
closegraph ( 1 ;
1
k**************
AUX. DE GRAFICA EN FRECUENCIA DBLPS NO PER.
(void)
Yroid axdblnp
{
double y1 ,x1 ;
int i,y2,y;
rnoveto(maxx/2-30,maxy/2-30)
;
setcolor (14) ;
for(i=O;i<=180;i+= 10.0)
{
y1 = 1 5 * s i n ( i / ~ ~-~ )
I.~*cos(~*~/RAD)
;
x1 =(int)20*i/RAD + maxx/2 -30;
y = maxy/2-(int)yl -45;
lineto (x1,y);
}
setcolor
(15)
;
outtextxy(maxx/2,maxy/2 - 2 0 , 11011)
;
outtextxy(maxx/2,maxy -20,1 1 0 1 1;)
outtextxy(x1,y +IO,Irfrnl1)
;
outtextxy(maxx/2-50,maxy/2 -20,11-fm11)
;
setcolor
(14)
;
moveto(maxx/4-30,maxy-30)
;
for(i=O;i<=180;i += 10.0)
{
y1 = 1 5 * s i n ( i / ~ ~-~ )
I~*cos(~*~/RAD)
;
x1 =(int)20*i/RAD + maxx/4 -30;
y = maxy-(int)yl -45;
lineto (XI,
y) ;
1
setcolor
(15)
;
outtextxy(3*maxx/4-55,maxy - 21,11fc-fm11)
;
setcolor (14) ;
moveto(3*maxx/4-30,maxy - 30) ;
for(i=O;i<=180;i += 10.0)
********/
{
1
y1 = 1 5 * s i n ( i / ~ )- I~*cos(~*~/RAD)
;
x1 =(int)20*i/RAD + 3*maxx/4 -30;
y = maxy -(int)yl -45;
lineto (x1,y) ;
setcolor
(15)
;
outtextxy(x1,y +lo, llfc+fmll)
;
}
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCIO DE MODULACION
EN
TONO
DE AM DOBLE
BANDA
LATERAL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
lid mt-AM(void)
(
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , D B L T , m e n s , g r a f -tie,salir,graf
-
frec,espacio,
&~,27,27,84,70,5,15);
switch(c)
{
case 84 : intim uno();/* grafica en tiempo es
la misma * /
break:
/ * de indice menor a uno * /
case 70 : g-f-mtAMO; / * grafica en frecuencia * /
break;
case 27 : c = 27;
break;
1
1
while(c
! = 27);
}
k***************************************************************
FUNCION DE GRAFICA
EN
FRECUENCIA
DE AM EN
TONO
DBLPS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2id g f mtAM(void)
{
int y1,y2 ,ind;
initgraph
(&graphdriver
, &graphmode , . . \\bgi ) ;
maxx = getmaxxo ;
maxy = getmaxy ( 1 ;
marco ( ) ;
setcolor
(15)
;
moveto
(maxx/2
,40);
lineto(maxx/2,maxy/2); /*DIBUJA EL EJE
Y DE LA SEGUNDA GRAFICA* /
moveto(20,maxy/2);
~ineto(maxx-20,maxy/2);/ * DIBUJA EL EJE
X DE LA SEGUNDA GRAFICA*/
setcolor
)(14
;
moveto(maxx-ll*maxx/l6,maxy/2); / * dibuja las bandas laterales
*/
lineto(maxx-ll*maxx/16,9*maxy/20);
"
I'
moveto(maxx-3*maxx/l6,maxy/2);
lineto(maxx-3*maxx/l6,9*maxy/20);
moveto(maxx-13*maxx/l6,maxy/2);
lineto(maxx-13*maxx/l6,9*maxy/20);
moveto(maxx-5*maxx/l6,maxy/2);
lineto(rnaxx-5*maxx/l6,9*maxy/20);
y1 = maxy/4 - (maxy-7*maxy/8);
/ * contadores para las portadoras
y2 = maxy-7*maxy/8 - (maxy-7*maxy/8)+1;
for(ind = y2;ind e = y1;ind +=6)
*/
{
putpixel ( (maxx-maxx/4), (maxy-5*maxy/8+ind),15);
putpixel((maxx-3*maxx/4),(maxy-5*maxy-5*maxy/8+ind),l5);
1
setcolor
(15)
;
outtextxy
(maxx-maxx/$
,maxy/2+5 , I1wc1l
) ;
outtextxy(maxx-3*maxx/4-6,maxy/2+5,"-Wc~1);
outtextxy(maxx-3*maxx/16,maxy/2+5, (Wc+Wm) ;
outtextxy(maxx-5*maxx/16-30,maxy/2+5,"(Wc-Wm~~~~;
outtextxy(maxx-13*maxx/16-50,maxy/2+5,"- (Wc+Wm)" ) ;
outtextxy(maxx-ll*maxx/16,maxy/2+5,
1 1 - (Wc-Wm)
I!) ;
outtextxy(30,3*maxy/4,IIEspectro deAM DBL entono");
outtextxy(30,3*maxy/4+10,"Wc es la frecuencia de la portadora
outtextxy(30,3*maxy/4+2O,~~Wm
es la frecuencia de la moduladora
I ! ) ;
! I ) ;
outtextxy(maxx/2-2,2O,"F(w) I t ) ;
outtextxy(maxx/2-3,maxy/2+5,"0");
outtextxy(max~-20,maxy/2,
"w");
setcolor ( O ) ;
outtextxy(maxx/2,maxy-10,"Presionar cualquier tecla");
getch ( 1 ;
closegraph ( ) ;
}
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION DE BANDA
LATERAL
UNICA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
lid ba- la
_ un(void)
{
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , B L U , m e n s , t e o , m -a,m-t , s a l i r , & c , 2 7 , 6 5 , 8 4 , 6 9 , 1 5 , 4 ) ;
switch
(c)
{
case 69
case
:
65
:
case 84
:
case 27
:
t b-1-u 0 ; / * teoria * /
break;
m blu np();/* modulacion no periodica * /
break:
mt bluAM(); / * modulacion en tono * /
break ;
c = 77;
break;
1
1
while
(c! = 77) ;
1
..............................................................
FUNCION DE BLU NO
PERIODICA
..............................................................
2id m- blu
{
do
np(void)
r. m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , ~ ~ ~ ~ , m e n s , gt irea, fs a l i r , g r a f _ f r e c , e s p a c i o ,
-
&c,27,27,84,70,2,14);
switch
(c)
{
case 84 : g-t- amen();/* grafica en tiempo es la misma
*/
break;
/ * de AM comercial * /
case 70 : g-F- bluN(); / * grafica en frecuencia * /
case 27
:
break;
c = 27;
break;
1
1
while(c
! = 27) ;
I
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRAFICA
EN
FRECUENCIA
DE BLU
NO
PERIODICA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
)id g
{
F
"
bluN(void)
int ind,cont;
I r . . \\bgi");
initgraph
(&graphdriver,
&graphmode,
maxx = getmaxxo ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor
(15)
;
outtextxy(20,30,IIESPECTRO DE BANDA LATERALUNICA");
outtextxy(20,40,"DE UNA FUNCION NO PERIODICA")
;
outtextxy(2O,maxy/2+2O,~~fm
ES LA FRECUENCIA MAXIMA
DE");
outtextxy(20,maxy/2+30,"LA FUNCION");
outtextxy(20,maxy/2+45,"0bservar que se suprime la portadora");
outtextxy(maxx/2-20,15,~~oM(f)o~~~;
outtextxy(maxx-20,maxy/2-3~,
I l f l I )
;
outtextxy(maxx-20,maxy-30,
I 1 f l 1 ) ;
outtextxy(maxx/4,maxy-20,Ir-fc")
;
outtextxy(3*maxx/4,maxy-20,~lfc")
;
moveto
(maxx/2,30)
;
lineto(maxx/2,maxy/2.0-30);/*DIBUJA EL EJEY DE LA GRAFICA * /
moveto(20,maxy/2-30);
lineto(maxx-35,rnaxy/2-30);/ * DIBUJA EL EJE X DE LA GRAFICA*/
moveto(maxx/2,maxy/2.0+30);
lineto(maxx/2,maxy -30); /*DIBUJA EL EJEY DE LA GRAFICA * /
moveto(20,maxy -30);
lineto(maxx-30,maxy -30); / * DIBUJA EL EJEX DE LA GRAFICA*/
cont = (maxy-30)- (3*maxy/4 ) ;
for(ind =l;ind c=cont;ind + = 5 )
{
putpixel(maxx/4,maxy-30-ind,15);
putpixel (3*maxx/4,maxy-30-ind,l5)
;
1
a" _g f b l u 0 ;
setcolor (O ) ;
outtextxy(maxx/2,maxy-10,"Presionar
getch ( ) ;
closegraph ( ) ;
cualquier tecla");
1
roid a" _g f blu( )
{
double y1 ,x1 ;
int i,y2,y;
moveto(maxx/2-30,maxy/2-30)
;
setcolor (14) ;
for(i=Ó;ic=180;i += 10.0)
y1 = 15*sin(i/RAD) - 15*cos (2*i/RAD)
;
x1 =(int)20*i/RAD + maxx/2 -30;
y = maxy/2-(int)yl -45;
lineto (XI, ; y)
1
setcolor
(15)
;
outtextxy(maxx/2,maxy -20,I l O l l ) ;
outtextxy(x1,y +IO, l1fm")
;
outtextxy(maxx/2-50,maxy/2 -20,Il-fmIl);
moveto(maxx/4-30,maxy-30);
setcolor
)(14
;
for(i=O;ic=90;i += 10.0)
{
y1 = 15*sin(i/IiAD) - 15*cos (2*i/RAD)
;
x1 =(int)20*i/RAD + maxx/4 -30;
y = maxy-(int)yl -45;
lineto (x1,y);
1
setcolor
(14)
;
moveto(3*maxx/4,y);
for(i=90;ic=180;i+= 10.0)
{
y1 = 15*sin(i/RAD) - 15*cos (2*i/RAD)
;
x1 =(int)20*i/RAD + 3*maxx/4 -30;
y = maxy -(int)yl -45;
lineto (x1,y);
1
setcolor
(15)
;
outtextxy(maxx/2,maxy/2 -20,11011)
;
outtextxy(maxx/2,maxy -20,I 1 O 1 ' ) ;
outtextxy(x1,y +10,"fm+fc");
outtextxy(maxx/4-80,maxy -20, (fm+fC)" )
'I-
;
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION DE
AM
BLU
MODULACION
EN
TONO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
lid mt-bluAM(void)
{
do
{
menu2(20,10,53,16,BLUT,mens,graf
-tie,salir,graf-frec,espacio,
&c,27,27,84,70,13,15);
switch
(c)
{
case 84 : intim uno();/* grafica en tiempo
es l a misma * /
break:
/ * de indice menor a uno * /
case 70 : g-F-bluT(); / * grafica en frecuencia * /
break;
case 27 : c = 27;
break;
1
1
while(c
!=
27) ;
g-F -bluT
(void)
int y1,y2 ,ind;
initgraph ( &graphdriver, &graphmode , . . \\bgi 11 ) ;
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( 1 ;
setcolor (15);
setcolor
(WHITE)
;
outtextxy(maxx/2-2,20,
"F(w)
;
outtextxy(maxx-20,maxy/4,I1w") ;
outtextxy (maxx-20,maxy/2 , I l w l l ) ;
outtextxy(rnaxx-20,3*maxy/4,~~~~~);
o~ttextxy(20,20,~~ESPECTRO
DE BLU DE UN TONOr1);
outtextxy(20,30,"CON FRECUENCIA Wm");
outtextxy(20,maxy-30,
"Wm Frecuencia demodulation") ;
outtextxy (maxx/2
,maxy-30, "Wc Frecuencia de portadora")
;
outtextxy(20,maxy-3*maxy/4+30,"Espectro de
BLS");
outtextxy(20,maxy-maxy/2+30,
IIEspectro deBLI");
setcolor
(15)
;
outtextxy(maxx/2+30,maxy/4+~0,
llwmll)
;
outtextxy(maxx/2-40,maxy/4+~~,~~-~m~~)
;
outtextxy(maxx-3*maxx/16,maxy/2+10, (Wc+Wm) ;
outtextxy(maxx-5*maxx/l6-2O,3*maxy/4+lO,1~(Wc-Wm)1~);
outtextxy(maxx-13*maxx/16-30rmaxy/2+10, (Wc+Wm) ;
outtextxy(maxx-11*maxx/16-20,3*maxy/4+10, (Wc-Wm)1 1 ) ;
setcolor
(14)
;
outtextxy(3*maxx/4,maxy/2+~~,
IIWC")
;
setcolor (15);
moveto
(maxx/2,20)
;
lineto(maxx/2,maxy/4); /*DIBUJA EL EJE
Y DE LA PRIMERA GRAFICA*/
moveto(20,maxy/4);
lineto(maxx-30,maxy/4); /*DIBUJA EL EJE
X DE PRIMERA GRAFICA* /
moveto
(maxx/2
,maxy/2)
;
lineto(rnaxx/2,maxy-3*maxy/4+20);/*DIBUJA EL EJE
Y DE LA SEGUNDA GRAFICA*
moveto(2ormaxy/2);
lineto(maxx-30,maxy/2);/ * DIBUJA EL EJE
X DE LA SEGUNDA GRAFICA*/
moveto(maxx/2,maxy/2+20);
lineto(maxx/2,maxy-maxy/4); /*DIBUJA EL EJE
Y DE LA TERCERA GRAFICA
*/
moveto
(20,3*maxy/4)
;
lineto(maxx-30,3*maxy/4);/ * DIBUJA EL EJEX DE LA TERCERA GRAFICA*/
setcolor
(14)
;
moveto(maxx/2-30,maxy/4);
/ * dibuja
las
bandas
laterales
*/
lineto(maxx/2-30,maxy-4*maxy/5); / * delespectro
*/
moveto(maxx/2+30,maxy/4);
lineto(maxx/2+30,maxy-4*maxy/5); . . . . . . . . . . . . . . . . . . . . . . . . . .
I!)
It)
'I-
It)
moveto(maxx-3*maxx/l6,maxy/2) ;
lineto(maxx-3*maxx/l6,9*maxy/20);
moveto(maxx-13*maxx/16,maxy/2);
lineto(maxx-13*maxx/16,9*maxy/20);
moveto(maxx-ll*maxx/l6,3*maxy/4-maxy/20);
lineto(maxx-ll*maxx/l6,3*maxy/4);
moveto(maxx-5*rnaxx/l6,3*maxy/4-maxy/4-maxy/20)
;
lineto(maxx-5*maxx/l6,3*maxy/4);
y1 = maxy/4 - (maxy-7*maxy/8)
;
y2 = maxy-7*maxy/8 - (maxy-7*maxy/8)+1;
for(ind = y2;ind c = y1;ind +=5)
{
putpixel ( (maxx-maxx/4), (maxy-5*maxy/8+ind),15) ;
putpixel((maxx-3*maxx/4),(maxy-5*maxy/8+ind),l5);
putpixel( (maxx-maxx/4),
(maxy-3*maxy/8+ind),l5);
putpixel ( (maxx-3*maxx/4)
, (maxy-3*maxy/8+ind),15) ;
1
setcolor
(RED)
;
outtextxy
(maxx/2
,maxy-10, "Presionar
getch ( ) ;
closegraph ( 1 ;
cualquier
tecla")
;
. . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BANDA
LATERAL
RESIDUAL
r*****************************************************************/
)id ba la
{
do
{
re(void)
"
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , B L R , m e n s , t e o , m -t,m-a,salir,&c,27,65,84,69,10rll);
switch
c
.
(c)
case
69
:
case
65
:
case 84
:
case 27
:
t" b
- 1 R O ; / * teoria * /
break;
m blR np();/* modulacion no periodica * /
break7
mt blRAM(); / * modulacion en tono * /
break;
c = 77;
break;
\
1
J
while
(c! = 77) ;
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION DE MODULACION BLR NO
PERIODICA
...............................................................
>id -mblR- np(void)
{
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , B L R N , m e n s , g r a f -tie,salir,graf
-
frec,espacio,
&c,27,27,84,70,9,14);
switch
(c)
{
case 84 : g t-amcn();/* grafica en tiempoes la misma * /
break;
/ * de am comercial no periodica * /
case 70 : g-F- blRn(); / * grafica en frecuencia * /
break;
case 27 : c = 27;
break;
1
}
while(c
!=
27) ;
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( 1 ;
setcolor
(15)
;
outtextxy(20,30,"ESPECTRO DE BANDA LATERAL RESIDUAL")
;
outtextxy(20,40,"DE UNA FUNCION NO PERIODICA")
;
outtextxy(2O,maxy/2+2O,~~fm
ES LA FRECUENCIA MAXIMADE");
outtextxy(20,maxy/2+30,"LA FUNCION");
outtextxy(20,maxy/2+45,"0bservar que se suprime la
portadora");
outtextxy(maxx/2-20,15,nMo");
outtextxy(maxx-20,maxy/2-3~,~~f~~);
outtextxy(maxx-20,maxy-3~,~~f~~);
outtextxy(rnaxx/4,maxy-2~,~~-fc~~)
;
outtextxy(3*maxx/4,maxy-20,Ilfc");
moveto
(maxx/2
,30) ;
lineto(maxx/2,maxy/2.0-30);/*DIBUJA EL EJEY DE LA GRAFICA * /
moveto(20,maxy/2-30);
lineto(maxx-35,maxy/2-30);/ * DIBUJA EL EJEX DE LA GRAFICA*/
moveto
(maxx/2,rnaxy/2.0+30)
;
lineto(maxx/2,maxy -30); /*DIBUJA EL EJEY DE LA GRAFICA * /
moveto(20,maxy -30);
lineto(maxx-30,maxy -30); / * DIBUJA EL EJEX DE LA GRAFICA*/
cont = (maxy-30)- (3*maxy/4 ) ;
for(ind =l;ind <=cont;ind +=5)
{
putpixel (maxx/4+5,maxy-30-ind,
15) ;
putpixel(3*maxx/4-3,maxy-3O-ind,15~;
1
agf blrN
() ;
setcolor ( 0 ) ;
outtextxy(maxx/2,maxy-10,"Presionar cualquier tecla");
getch ( ) ;
closegraph ( ) ;
1
AUXILIAR DE GRAFICA EN FRECUENCIA BLR NO PERIODICA
roid agf
blrN(void
)
{
double y1 ,x1 ;
int i,y2 ,y;
moveto(maxx/2-30,maxy/2-30);
setcolor
(14)
;
for(i=O;i<=180;i+= 1)
{
y1 = 15*sin(i/RAD) - 15*cos(2*i/RAD);
x1 =(int)20*i/RAD + maxx/2 -30;
y = maxy/2-(int)yl -45;
putpixel (xl,y,14);
r********
1
setcolor
(15)
;
outtextxy(maxx/2,maxy - 2 0 ,
;
outtextxy(x1,y + I O , llfm")
;
outtextxy(maxx/2-50,maxy/2 -20,I l - f m " )
moveto(maxx/4-30,maxy-30);
setcolor
(14)
;
I~oII)
;
for(i=O;i<=60;i+= 1)
{
y1 = 15*sin(i/RAD) - 15*cos (2*i/RAD)
;
x1 =(int)20*i/RAD+ maxx/4 -30;
y = maxy-(int)yl -45;
************/
putpixel (xl,y,14) ;
1
for(i=90;i<=157;i+= 1.0)
{
y1 = 1 5 * s i n ( i / ~ ~-~ )
15*cos RAD);
x1 =(int)20*i/RAD + maxx/4 -30;
y = maxy -(int)yl -45;
putpixel(x1-10,y+10,14)
;
}
setcolor
(14)
;
moveto(3*maxx/4,y);
for(i=120;ic=180;i += 1.0)
{
y1 = 1 5 * s i n ( i / ~ ~-~ )15*cos RAD);
x1 =(int)20*i/RAD + 3*maxx/4 -30;
y = maxy -(int)yl -45;
putpixel (xl,y,14);
I
1
for(i=22;i<=gO;i +=
{
1)
y1 = 1 5 * s i n ( i / ~ ~-~ )
15*cos (2*i/RAD)
;
XI =(int)20*i/RAD + 3*maxx/4 -30;
y = maxy-(intlyl -45;
putpixel (x1+10,y+10,14)
;
1
setcolor
(15)
;
outtextxy(maxx/2,maxy/2 -20,1 1 0 1 ';)
outtextxy(maxx/2,maxy -20,' 1 0 1 1;)
outtextxy(maxx/2+20,40r "ESPECTRO
DE LA FUNCION");
outtextxy(maxx/2+20,maxy/2 +20,"ESPECTRO TRASLADADO")
;
1
.................................................................
FUNCION DE MODULACION
BLR
EN
TONO
................................................................
>id mt-blRAM(void)
{
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , B L R T , m e n s , g r a f -tie,salir,graf-
frec,espacio,
&c,27,27,84,70,4,15);
switch(c)
.
1
case 84
:
case 70
:
case 27
:
intim uno();/* grafica en tiempo es la misma
*/
break?
/ * que indice menor a uno * /
g-F-blUTO; / * grafica en frecuencia * /
break;
c = 27;
break;
1
1
while(c
!=
27) ;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRAFICA
EN
FRECUNCIA
DE BLR
EN
TONO
k***********************************************************/
3id g F
"
blUT(void)
case 69
:
case 65
:
case 84
:
case 27
:
t am c o m o ; / * teoria * /
brear;;
m co amno;/* modulacion no periodica * /
break;
m co A M T O ; / * modulacion en ton0 * /
break;
c = 77;
break;
1
1
while
(c! = 77) ;
1
....................................................................
FUNCION DE MODULACION
DEAM COMERCIAL
NO
PERIODICA
.....................................................................
)id m co amn(void)
"
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , A M C N , m e n s , g r a f -tie,salir,graf
- frec,espacio,
&c,27,27,84,70,4,15);
switch (c)
{
case 84 : g-t-a men();/* grafica en tiempo * /
break;
case 70 : g-F-AMcn();
/ * grafica en frecuencia
break;
case 27 : c = 27;
break;
*/
1
1
while(c
!=
27) ;
....................................................................
MODULACION DE
AM
COMERCIAL
EN
TONO
.....................................................................
)id m-co-
1
case 69
:
case
65
:
case 73
:
case 27
:
men l-amo; / * tono comercial menor que uno* /
break ;
may 1 a m o ; / * tono comercial mayor que uno
*/
break;
ind 1-amo; / * tono comercial igual a uno* /
break;
c = 77;
break;
1
while
1
AMT(void)
(c!=77);
"
..................................................................
FUNCIO DE
AM
COMERCIAL
EN
TONO
CON
INDICE
MENOR
A
...................................................................
)id
UNO
men
1 am(void)
"
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , I M E U , m e n s , g r a f -tie,salir,graf-frec,espacio,
&c,27,27,84,70,15,14);
switch
(c)
{
case 84 : intim uno();/* GRAFICA EN TIEMPO
*/
break;
case 66 : printf ("ancho de banda");
break;
case 70 : g-f-i-m-u(); / * grafica en frecuencia con ind. menor que
break;
case 27 : c = 27;
break;
1
1
while(c
!=
27) ;
..................................................................
FUNCION DE
AM
COMERCIAL
EN
TONO
CON
INDICE
MAYOR
A
..................................................................
)id
UNO
may
1 am(void)
"
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 6 , I M A U , m e n s , g r a f -tie,salir,teo,espacio,
&c,27,27,84,69,15,14);
switch
(c)
{
case 84 : g-t-i-m -l o ; / * GRAFICA EN TIEMPO* /
break;
case 66 : printf ('!ancho de
banda");
break;
case 69 : t i ma-10; / * teoria de indice mayora uno * /
break;
case 27 : c = 27;
break ;
"
1
}
while
(c! = 27) ;
r*****************************************************************
FUNCION DE
AM
COMERICAL
EN
TONO
CON
INDICE
IGUAL
UNO A
...................................................................
>id ind
-1-am(void)
do
{
menu2(20,10,53,16,IUNO,mens,graf
- frec,espacio,
-tie,salir,graf
&c,27,27,84,70,15,14);
switch (c)
{
case 84 : g-t -i-l o ; / * GRAFICA EN TIEMPO* /
case 6 6
:
case 70
:
case 27
:
break;
printf ("ancho de banda");
break;
g-f i m-uO; / * grafica en frecuencia con ind. menor que
break;
c = 27;
break;
"
1
1
while(c
!=
27) ;
........................................................................
........................................................................
FUNCIONES PARA LAS GRAFICAS
DE MODULACION EN AM
.........................................................................
....................................................................
GRAFICA
EN
TIEMPO
DE AM COMERCIAL
NO
PERIODICA
....................................................................
rid g t
"
amcn(void)
x = o;
initgraph (&graphdriver, &graphmode,
. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ;
punt med =maxy/2;
marco ( ;
moveto(40,punt- med)
;
mod voz
0;
port voz
() ;
outtextxy(30,30, "Signal
modulada conuna");
outtextxy(30,40r"funcionno periodica")
;
outtextxy(max~/2+10,maxy-50,~~
La grafica punteada es la moduladora");
outtextxy(maxx/2+1o,maxy-40, La grafica continua es la portadora")
;
setcolor ( O ) ;
outtextxy(maxx/2,maxy-10,"Presionar cualquier tecla");
getch ( 1 ;
closegraph ( 1 ;
.......................................................................
FUNCION
QUE
DIBUJA
LA
MODULADORA
DE LA
FUNCION
NO
PERIODICA A.M.
EN
......................................................................
roid mod-VOZ-l(int a,int b,int ang1,int
{
double y1,xl;
int iry2,y;
for(i=angl;i<=ang2;i += 1 0 . 0 )
{
y1 = a*sin(i/RAD) ;
x1 = b*i/RAD ;
*x = (int)x1 + *x;
y = punt-med(int
) y1 ;
y2 = punt med + (int)yl;
putpixel Fx+40 , y 3 0,color);
putpixel (*x+40,y2+50,color)
;
1
I*******
ang2,int
*x,int
color
)
SIGNAL
MODULADORADE NO
PERIODICA
DE
A.M.
**********/
-oid mod-voz(void)
{
mod voz 1(15,2,0,180,&~,14);
mod voz 1(20,1,190,360,&~,14);
mod voz 1-(30,1,370,540,&~,14);
mod-voz-1(40,2,550,640,&~,14);
.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
'ROCEDIMIENTO
QUE
DIBUJA
TODA
LA
PORTADORA
DE
LA
FUNCION DENOA M.
PER.
............................................................
)id port voz (void)
7
voz por(0,180,63);
vozpor(190,360,63);
voz~por(370,540,55);
voz_por(550,720,45);
voz por(730,900,33);
vozpor(910,1080,30);
voz-por(1090,1260,35);
voz-por(1270,1440,42);
voz-por(1450,1620,52);
voz-por(1630,1800,65);
voz-por(1810,1980,72);
vozpor(1990,2160,80);
;
vozpor (2170,2340,77)
vozpor (2350,2520,751;
voz~por(2530,2700,70);
voz-por(2710,2880,60);
voz-por(2890,3060,53);
vozpor(3070,3240,48);
vozpor(3250,3420,42);
voz-por(3430,3600,35);
voz-por(3610,3780,30);
vozpor(3790,3960,28);
voz-por(3970,4140,22);
voz-por(4150,4320,20);
voz-por(4330,4500,16);
voz-por(4510,4680,13);
voz-por(4690,4860,11);
voz-por(4870,5040,11);
voz~por(5050,5220,10)
;
vozpor(5230,5400,10);
-
. . . . . . . . . . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION QUE
DIBUJA
PARTE
DE LA PORTADORA DE NO PERIODICA DE A.M.
............................................................
)id voz- por (int
i,int j ,int ind)
{
int apl,x,
y;
double y1 ,x1 ;
for(ap1 = i;aplc=j;apl += 10.0)
c
y1
ind*sin(apl/RAD);
5 . 0 * a p l / ~;~ ~
x = (int)xl;
y = punt med- (int)yl;
setcolorWHITE) ;
lineto(x+40,y);
=
XI
=
..................................................................
GRAFICA
EN
FRECUENCIA
DE
AM
COMERCIAL
NO
PERIODICA
...................................................................
)id g
{
F
"
AMcn(void)
int ind,cont;
. \\bgi");
initgraph
(&graphdriver,
&graphmode,
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor
(15)
;
setlinestyle ( O , Ox3ff,1);
outtextxy(maxx/2-20,20,~~°F(w)
O ' ' ) ;
outtextxy(3*maxx/4,maxy-25,"fc") ;
outtextxy(maxx/4-4,maxy-25,
Il-fc");
outtextxy(maxx-25,maxy/2-30,
"w") ;
outtextxy(rnaxx-25,maxy-30,
Irw") ;
outtextxy(maxx/2-20,maxy/2+10,"0F(w) O r ' ) ;
outtextxy(20,30, "MAGNITUD DEL ESPECTRO
EN"); / * Mensaje especial * /
outtextxy(20,40, "FRECUENCIA
DE UNA FUNCION")
;
outtextxy(20,50,"NOPERIDICA.");
outtextxy(20,maxy/2+30, "ESPECTRO TRASLADADO")
;
setcolor
(15)
;
moveto
(maxx/2,30)
;
lineto(maxx/2,maxy/2.0-30);/*DIBUJA EL EJE
Y DE LA PRIMERA GRAFICA* /
moveto(20,maxy/2-30);
lineto(maxx-30,maxy/2-30);/ * DIBUJA EL EJEX DE LA GRAFICA*/
moveto(maxx/2,maxy/2.O+3O);
lineto(maxx/2,maxy -30); /*DIBUJA EL EJEY DE LA GRAFICA * /
moveto(20,maxy -30);
lineto(maxx-30,maxy -30);/ * DIBUJA EL EJEX DE LA GRAFICA*/
cont = (maxy-30)- (3*maxy/4+30);
for(ind =l;ind c=cont;ind +=1)
{
putpixel (maxx/4,maxy-30-ind,l5)
;
putpixel (3*maxx/4,maxy-30-ind,l5)
;
I!.
1
mbd-no-p ( ) ; / * Dibuja las graficas*/
setcolor (O) ;
outtextxy
(maxx/2
,maxy-10, "presionar
una
getch ( ) ;
closegraph ( ) ;
tecla"
) ;
. . . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
LAS
GRAFICAS
DEL
ESPECTRO
DE LA SIGNAL
NO
PER.
DE A.M.
...........................................................................
roid mod- no-p( )
{
double y1 ,x1 ;
int i,y2,y;
rnoveto(maxx/2-30,maxy/2-30);
setcolor
)(14
;
for(i=O;ic=l80;i += 10.0)
{
y1 = 15*sin(i/RAD) - 15*cos (2*i/RAD)
;
x1 =(int)aO*i/RAD + maxx/2 -30;
y = maxy/2-(int)yl -45;
outtextxy(maxx/2-50,maxy/2 -20,Il-fm");
setcolor
(14)
;
moveto(maxx/4-30,maxy-30);
for(i=O;i<=180;i += 10.0)
{
y1 = 15*sin(i/RAD) - 15*cos(2*i/RAD);
x1 =(int)20*i/RAD + maxx/4 -30;
y = maxy-(int)yl -45;
lineto
(x1
,y) ;
}
setcolor
(15)
;
outtextxy(3*maxx/4-55,maxy - 21,llfc-fmlr)
;
setcolor
(14)
;
moveto
(3
*maxx/4
-3O ,maxy - 3 O ) ;
for(i=O;ic=l80;i+= 10.0)
{
y1 = 15*sin(i/RAD) - 15*cos (2*i/RAD)
;
x1 =(int)20*i/RAD + 3*maxx/4 -30;
y = maxy -(int)yl -45;
lineto(x1,y);
1
setcolor
(15)
;
outtextxy(x1,y +lo, llfc+fm")
;
1
........................................................................
FUNCION QUE DIBUJALA SENAL DE AM EN TIEMPO CON IND MENOR QUE UNO *
........................................................................
intim-uno
(void)
initgraph(&graphdriver,
&graphmode,
. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( 1 ;
marco ( ) ;
punt-med =maxy/2;
moveto(40,maxy/2);
PO-am- m
-1 0 ;
mo am m l(14);
outtextxy
(30
,30 , "Signal modulada en )tono"
;
0uttextxy(30,40,~~con
indice de modulacion menoruno")
a ;
outtextxy(rnaxx/2+10,maxy-50,~~
La grafica punteada es la moduladora");
outtextxy(max~/2+10,maxy-40,~~
La grafica continua es la portadora");
setcolor (O) ;
outtextxy
(maxx/2
,maxy-10, "Presionar cualquier
tecla");
getch ( 1 ;
closegraph ( 1 ;
I!.
.......................................................................
FUNCION
QUE
DIBUJA
L A MODULADORA,
INDICE
MENOR
A UNO
......................................................................
.aid mo-am m 1 (int color)
{
double y1 ,x1 ;
int x,y2 ,y,ang;
for(ang = O.O;angc=720.0;ang += 10.0)
{
y1 = 3O*cos (ang/RAD)
;
x1 = 40.O*ang/RAD ;
x = (intlxl;
y = punt med-(int)yl - 40;
y2 = punt med + (int)yl + 40;
putpixel
(X+40
,y,color);
putpixel(x+40,y2,color);
"
1
. .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROCEDIMIENTO
QUE
DIBUJA
TODA
LA
PORTADORA
DE IND MENORA
...........................................................
lid PO am m l(void)
- {- po-a am m-l(0,180,70);
PO a
amm 1(190,360,65);
PO a amm 1(370,540,55);
PO a
amm 1(550,720,45);
PO a am m 1(730,900,30);
PO a am m 1(910,1080,20);
PO a
amm 1(1090,1260,15);
PO a am m 1(1270,1440,10);
PO a am m 1(1450,1620,10);
PO a
amm 1(1630,1800,15);
PO a am m 1(1810,1980,20);
PO a am m 1(1990,2160,30);
PO a am m 1(2170,2340,45);
PO a am m 1(2350,2520,55);
PO a am m 1(2530,2700,65);
PO a
mam1(2710,2880,70);
PO a
mam
1(2890,3060,70);
PO a
-mam
1(3070,3240,65);
PO a
-mam
-1(3250,3420,55);
PO a am m 1(3430,3600,45);
PO a am m 1(3610,3780,30);
PO a am m 1(3790,3960,20);
PO a am m 1(3970,4140,15);
PO a am m 1(4150,4320,10);
po-a-am-m-~(4330,4500,10) ;
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
po-a-am-m-1(4510,4680,15)
"
"
PO a am m
;
1(4690,4860,20);
po-a-arn-m-1(4870,5040,30);
"
PO
a
"
amm 1(5050,5220,45);
poIa~arn-rnI1(5230,5400,55)
;
PO a a m m 1 (5410,5580,65);
"
PO
a
"
"
am
m
"
1(5590,5760,70)
;
. . . . . . . . . . .1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
PARTE
DE LA PORTADORA DE IND
MENORA
............................................................
)id PO a
am
"
{
m1 (int
"
i,int
j,int
ind)
UNO
UNO
int apl,x,y;
double y1 ,x1 ;
for(ap1 = i;apl<=j;apl += 1 0 . 0 )
{
y1 = ind*sin(apl/RAD);
x1 = 5.0*apl/RAD ;
x = (intlxl;
y = punt med- (int)yl;
setcolorTWHITE) ;
lineto
(x+40
,y) ;
1
1
.......................................................................
FUNCION
QUE
DIBUJA
LA GRAFICA
EN
FRECUENCIA
PARA
INDICE
MENOR
QUE
........................................................................
lid g
c
fi m
UNO
u(void)
” ”
int y1 ,y2 ,ind;
initgraph
(&graphdriver,
&graphmode,
. \\bgi”);
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor (15);
setcolor
(WHITE)
;
outtextxy(30,3*maxy/4,“Espectro de AM comercial deun tono,con indice,u 1 ”
outtextxy(30,3*maxy/4+10,”Wc es la frecuencia de la portadora
outtextxy(30,3*maxy/4+20,1~Wm
es la frecuencia de la moduladora
outtextxy(maxx/2-2,20,“ F ( w ) ;
outtextxy(maxx/2-3,maxy/2+5,”0”) ;
outtextxy (maxx-20,maxy/2 , l l w l l) ;
moveto(maxx/2,40);
lineto(maxx/2,maxy/2); /*DIBUJAEL EJE Y DE LA SEGUNDA GRAFICA* /
moveto(2otmaxy/2);
lineto(maxx-20,maxy/2);/ * DIBUJA EL EJE
X DE LA SEGUNDA GRAFICA*/
setcolor
(14)
;
moveto(maxx-ll*maxx/l6,maxy/2); / * dibuja las bandas laterales
*/
lineto(maxx-ll*maxx/16,9*maxy/20);
!I.
I ! ) ;
0
I ! ) ;
I!)
moveto(maxx-3*maxx/l6,maxy/2);
lineto(maxx-3*maxx/l6,9*maxy/20)
;
moveto(maxx-13*maxx/l6,maxy/2);
lineto(maxx-13*maxx/16,9*maxy/20);
moveto(maxx-5*maxx/l6,maxy/2);
lineto(maxx-5*rnaxx/l6,9*maxy/20);
y1 = maxy/4 - (maxy-7*maxy/8);
/ * contadores para las portadoras
y2 = maxy-7*maxy/8 - (maxy-7*maxy/8)+1;
for(ind = y2;ind e= y1;ind +=1)
{
1
putpixel((maxx-maxx/4),(maxy-5*maxy/8+ind),3);
putpixel ( (maxx-3*maxx/4), (maxy-S*rnaxy/8+ind),3) ;
setcolor
outtextxy
(15)
;
(maxx-maxx/4
,maxy/2+5 , IIWC~~
) ;
outtextxy(maxx-3*maxx/4-6,maxy/2+5, Ir-Wc1!)
;
outtextxy(maxx-3*maxx/l6,maxy/2+5, (Wc+Wm) ;
outtextxy(maxx-5*maxx/l6-3O,maxy/2+5,“(Wc-Wm~~1);
outtextxy(maxx-13*maxx/l6-5O,maxy/2+5,”-(Wc+Wm) ;
II
IN)
*/
outtextxy(maxx-ll*maxx/l6,maxy/2+5, (Wc-wm)
setcolor (O) ;
11)
II-
closegraph ( 1
;
;
}
.......................................................................
FUNCION
QUE
DIBUJA
LA SENAL DE
AM
CON IND DE MODULACION IGUAL AUNO
........................................................................
*
lid g-t" i 1 (void)
initgraph(&graphdriver,
maxx = getmaxx 0 ;
maxy = getmaxy ( ) ;
punt-med =maxy/2;
marco ( ) ;
&graphmode,
I r . . \\bgi");
outte~txy(30,30,~~
Signal modulada entono");
outtextxy(30,40, con indice de modulacion igual
uno")
a ;
outtextxy(maxx/2+10,maxy-50,~1
La grafica punteada es la moduladora");
outtextxy(maxx/2+10,maxy-40,~~
La grafica continua es la portadora");
setcolor (O) ;
outtextxy
(maxx/2
,maxy-10, "Presionar cualquier tecla"
) ;
getch 0 ;
closegraph ( ) ;
'I
. . .} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
LA MODULADORA
CON
IND.
DE MODULACION
IGUAL
A
......................................................................
.oid m- "
i
c
i
1 (int
UNO
color)
double y1 ,x1 ;
int x, ,y,
y2ang;
for(ang = O.O;ang<=720.0;ang += 10.0)
{
y1 = 30*cos (ang/RAD)
;
x1 = 40.0*ang/RAD ;
x = (int)xl + 10;
y = punt-med- (int)
y1 - 30;
y2 = punt med + (int)yl + 30;
putpixel
(X+40
,y,color) ;
putpixel
(x+40
,y2 ,color) ;
. . . }. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROCEDIMIENTO
QUE
DIBUJA
TODA
LA
PORTADORA
CON DEIND.
MODULACION
............................................................
)id p 1 i 2 (void)
-
7-
P-l'
i-1(0,180,60);
P-l- i-1(190,360,58);
P-1- i-1(370,540,50);
p-i i 1(550,720,40);
P-1'
i-1(730,900,32);
"
IGUAL
A1
p_ i" ip1(1990,2160,20);
P-1-1'
'
1(2170,2340,31);
p-i i 1(2350,2520,40);
p-i-i-1(2530,2700,51) ;
p-i-i-1(2710,2880,58)
- ;
P&$-' ' 1(2890,3060,60);
P-l-1- 1(3070,3240,58);
p-i i 1(3250,3420,50);
p-i:i-1(3430,3600,40);
P&$-' ' 1(3610,3780,30);
P-+-L1(3790,3960,20);
P-1- i-1(3970,4140,12);
p-i i 1(4150,4320,3);
p-i-i-1(4510,4680,3);
- P-1-1'
'
1(4690,4860,9);
p-i i 1(4870,5040,20);
p-i i 1(5050,5220,31);
p-i-i-1(5230,5400,40) ;
p_i~i-1(5410,5580,51);
p-i -i-1(5590,5760,58);
"
. . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
PARTE
DE LA PORTADORA
CON
IND.
DE MOD.
............................................................
IGUAL
A1
'id p-i-i-1 (int i,int j,int ind)
{
int
apl
,x,y;
double y1 ,x1 ;
for(ap1 = i;aplc=j;apl += 10.0)
{
y1 = ind*sin (apl/RAD);
XI = 5.0*apl/RAD ;
x = (int)xl;
y = punt med- (int
1 yl;
setcolorTWHITE) ;
lineto
(x+40
,y) ;
1
1
.......................................................................
*
........................................................................
FUNCION
lid g
QUE
ti m 1 (void)
""
DIBUJA
LA
SENAL
DE AM CON
SOBREMODULACION
outtextxy(maxx/2,maxy-~~,~~~resionar
cualquier
getch ( ) ;
closegraph ( ) ;
tecla");
. . .1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
LA
MODULADORA
DE IND.
MAYOR
QUE
UNO
......................................................................
.oid "m- mi l(int color)
{
double y1 ,x1 ;
int x,y2,y,ang;
for(ang = O.O;angc=720.0;ang += 10.0)
{
y1 = 30*cos ( a n g / W );
x1 = 40.0*ang/RAD ;
x = (int)xl;
y = punt med- (int)yl
- 20;
y2 = punt med + (int)yl + 20;
putpixel
(X+40
,y,color) ;
putpixel
(x+40,color)
,y2 ;
1
1
........................................................
FUNCION QUE DIBUJA LA PORT.
DE IND. MAYOR QUE UNO
...........................................................
id p i m un(void)
-
7-
p-i m
1(0,180,50)
;
P-+' m-1(190,360,45);
P-+-m-1(370,540,35);
P-+-m-1(550,720,24);
P-1- m-1(730,900,13);
p-i -m_l(910,1080,5);
'
1(1090,1260,5);
p-1-mp-i m 1(1270,1440,10);
'
1(1450,1620,10);
p-1-mp-i m 1(1630,1800,5);
'
m- 1(1810,1980,5)
;
P-1p-i m 1(1990,2160,13);
p-i-m-1(2170,2340,24) ;
p-i-m-1(2350,2520,35);
- P-+-m'
1(2530,2700,45);
P-l-m-1(2710,2880,50);
P-1- m-1(2890,3060,50);
p-i -m-l(3070,3240,45);
P-1' m-1(3250,3420,35)
;
p-i m 1(3430,3600,24);
P-+'
m-1(3610,3780,13);
P-1- m-1(3790,3960,5);
p-i-m-1(3970,4140,5);
p-i m 1(4150,4320,10);
p-i-m-1(4330,4500,10);
p-i m
1(4510,4680,5);
P-l'
m-1(4690,4860,5);
P-l-m-1(4870,5040,13);
P-l- m-1(5050,5220,24);
p-1-m- 1(5230,5400,35);
p-i-m -1(5410,5580,45);
"
"
"
"
"
"
p-i -m-1 (5590,5760,50);
. . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION QUE DIBUJA
PARTEDE LA
PORTADORA
CON
IND.
MAYOR
UNOA
............................................................
id
{
p-i- m-1(int i fint j ,int
ind)
int apl,x,y;
double y1 ,x1 ;
for(ap1 = i;aplc=j;apl += 10.0)
{
y1 = ind*sin(apl/RAD);
x1 = 5.0*apl/RAD ;
x = (intlxl;
y = punt-med- (int)
yl;
setcolor (WHITE)
;
lineto(x+40,y);
1
1
.........................................................................
.........................................................................
FUNCIONES DE LA MODULACION DE FM EN
GENERAL
..........................................................................
id
frec
-
mod
r do
{
(void)
menu2(20,10,53,18,espacio,menfm,teo,m -a,m-t,salir,
&c,69,84,27,65,4,14);
switch ( c )
{
case 84
:
case 69
:
case 65
:
case 27
:
mt-f m 0 ; / * funcion en tono
*/
break;
teo-f m 0 ; / * teoria de fm
*/
break;
FM-no-peO; / * FM no periodica* /
break;
c = 27;
break;
1
1
while(c
!=
27) ;
1
.........................................................................
. . FUNCION
. . . . . . . . . .PARA
. . . .LA
. . .MODULACION
. . . . . . . . . . . .EN
. . . .TONO
. . .DE
. . .FM
.................................
lid mt-fm(void1
~~~~2(20,10,53,18,menl,menfrnfgraf
-tie,teo,graf-frec,sa~ir,&cf69,70,27,84
switch
(c)
{
case 84 : g-t-t-frno; / * grafica en tiempo* /
break;
case 69 : te-fm-np();
break;
case 70 :g-f- t_ F M O ; / * grafica en frecuencia* /
break;
case 27 : c = 77;
............................................
GRAFICA
EN
TIEMPO
DE FM EN
TONO
..............................................
id g-t" t fm(void)
{
int i;
initgraph(&graphdriver,
&graphmode,
I ! . . \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( 1 ;
punt med =maxy/2;
marco ( ) ;
moveto(20,punt med-70);
for(i=l;i<=140fi + = 5 )
putpixel(20+i,punt-med-70,14);
mod f m 0 ;
port fm ( 1 ;
mod rrec ( ) ;
setcolor
(15)
;
outtextxy(30,30, "Frecuencia modulada
de untonoll);
outtextxy(maxx/2+15,maxy/4-10,
"Signal moduladora")
;
outtextxy
(3*maxx/4
,maxy/2
, "Signal Portadora")
;
outtextxy(3*maxx/4,maxy/2+60,"Signal deFM");
setcolor ( O ) ;
outtextxy(maxx/2,maxy-10,"Presionar cualquier tecla");
getch ( ) ;
closegraph ( ) ;
.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MODULADORA DE FM DE UNA
SIGNAL
NO PERIODICA
....................................................................
id mod-fm(void)
{
int x1 ,y1 ,x,y,ang;
for(ang = O.O;ang<=360.0;ang+= 10.0)
{
y1 = 2 5 * s i n ( a n g / ~ ;
~~)
x1 = 60.O*ang/RAD ;
x = (int)xl + 140;
y = punt med- (int)
y1 - 70;
putpixel7x+20,y,14);
1
. . . 1. . . . . . . . . . . . . . . . .
PORTADORA DE UNA
SIGNAL
EN
FM NO PERIODICA
...................................................
lid port- fm(void)
{
int x,y,xl,yl,ang;
for(ang = 0.0;ang<=3240.0;ang+= 10.0)
*
{
1
1
y1 = 25*sin(ang/RAD);
x1 = 7 . 0 * a n g / m ;
x = (int)xl + 10;
y = punt med- (int)
yl;
putpixe1-i;c+20,yrl4);
.........................................................................
FUNCION
QUE
DIBUJA
LA
FRECUENCIA
MODULADA
EN
TIEMPO
PARA
NO
..........................................................................
id
mod
-
PERIOD.
frec(void)
{
mod aux(0,1080,7,0);
mod-aux(1090,1450,6,20);
mod-aux(1460,1810,5,44);
mod-aux(1820,2170,4,75);
mod-aux(2180,2530,3,113);
mod-aux(2540,2890,4,70);
mod~aux(2900,3250,5,20);
mod-aux(3260,3610,6,-36);
mod-aux(3620,3970,7,-98);
mod-aux(3980,4330,8,-165);
mod-aux(4340,4690,9,-241)
;
-
. . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION AUXILIAR
PARALA FM
COMPLETADE UN TONO
.................................................................
id
mod
-aux(int a, int b,int xaux,int
{
des)
int x,y,x1 ,y1 ,ang;
for(ang = a;ang e= b;ang += 10.0)
{
y 1 = 25*sin(ang/m) ;
x1 = xaux*ang/RAD ;
x = (intlxl + des + 10;
y = punt med- (int)yl + 70;
putpixelTx+20,y,l5);
1
.......................................................................
FUNCION
QUE
DIBUJA
LA
GRAFICA
EN
FRECUENCIA
DE FM CON
ESPECTRO
CTE.
..........................................................................
lidr g- f
- -t
t
FM(void)
int ind,cont;
initgraph (&graphdriver, &graphmode,
.\\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor
(15)
;
moveto(20,maxy/2-30); / * DIBUJA EL EJE XDE LA GRAFICA 1 * /
lineto(maxx/2-20,maxy/2-30);
setcolor
(YELLOW)
;
moveto(maxx/4,20); /*DIBUJA LA PORTADORA
DE LA GRAFICA1 * /
lineto(rnaxx/4,maxy/2.0-30);
moveto(7*maxx/32,maxy/2-30); /*DIBUJA LAS FREC. LATERALES
*/
lineto(7*maxx/32,maxy/2-50);
moveto(9*maxx/32,maxy/2-30);
lineto(9*rnaxx/32,maxy/2-50);
moveto(6*maxx/32,maxy/2-30);
lineto(6*maxx/32,maxy/2-35);
moveto(~0*maxx/32,maxy/2-30);
lineto(10*maxx/32,maxy/2-35);
setcolor (15);
moveto(maxx/2+20,maxy/2.0-30); / * DIBUJA EL EJEX DE LA GRAFICA 2 * /
lineto(maxx-20,maxy/2-30)
;
setcolor (14);
rnoveto(3*maxx/4,maxy/2-30);/*DIBUJA LA PORTADORADE LA GRAFICA2 * /
lineto(3*maxx/4,maxy/2.0-38)
;
rnoveto(23*maxx/32,maxy/2-30); /*DIBUJA LAS FREC. LATERALES
*/
lineto(23*maxx/32,maxy/2-60);
moveto(25*maxx/32,maxy/2-30);
lineto(25*rnaxx/32,maxy/2-60);
moveto(22*maxx/32,maxy/2-30);
lineto(22*maxx/32,maxy/2-55);
moveto(26*maxx/32,maxy/2-30);
lineto(26*maxx/32,maxy/2-55);
moveto(2~*maxx/32,maxy/2-30)
;
lineto(21*maxx/32,maxy/2-5O);
moveto(27*maxx/32,maxy/2-30);
lineto(27*maxx/32,maxy/2-50);
moveto(20*maxx/32,maxy/2-30);
lineto(20*maxx/32,maxy/2-38);
moveto(28*maxx/32,maxy/2-30);
lineto(28*maxx/32,maxy/2-38);
moveto(~9*rnaxx/32,maxy/2-30);
lineto
(19*maxx/32,
maxy/2-33)
;
moveto(29*maxx/32,maxy/2-30);
lineto(29*maxx/32,maxy/2-33);
setcolor (15);
moveto(2O1maxy-30)
; /*DIBUJA EL EJEX DE LA GRAFICA 3 * /
lineto(maxx/2-20,maxy -30)
;
setcolor (14) ;
moveto(maxx/4,maxy-3O);/*DIBUJALA PORTADORADE LA GRAFICA3*/
lineto(maxx/4,maxy-65);
rnoveto(5*maxx/32,maxy-30); /*DIBUJA LAS FREC. LATERALES
*/
lineto(5*maxx/32,maxy-33);
moveto(6*maxx/32,maxy-30);
lineto(6*maxx/32,maxy-38);
moveto(7*maxx/32,maxy-30);
lineto(7*maxx/32,maxy-45)
;
moveto(9*maxx/32,maxy-30);
lineto(9*maxx/32,maxy-45);
moveto(~0*maxx/32,maxy-30);
lineto(lO*maxx/32,rnaxy-38);
moveto(~~*maxx/32,maxy-30);
lineto(~~*maxx/32,maxy-33);
setcolor (15);
moveto(maxx/2+20,maxy-30);/ * DIBUJA EL EJEX DE LA GRAFICA 4 * /
lineto(maxx-20,maxy-30)
;
setcolor ( 1 4 ) ;
rnoveto(3*maxx/4,maxy-30);/*DIBUJA LA PORTADORA DE LA GRAFICA4 * /
lineto(3*maxx/4,maxy-48);
rnoveto(23*maxx/32,maxy-30); /*DIBUJA LAS FREC. LATERALES
*/
lineto(23*maxx/32,maxy-43);
rnoveto(25*maxx/32,maxy-30~;
lineto(25*maxx/32,maxy-43);
moveto(22*maxx/32,maxy-30);
lineto(22*maxx/32,maxy-53);
moveto(26*maxx/32,maxy-30);
lineto(26*maxx/32,maxy-53);
moveto(2~*maxx/32,maxy-30)
;
lineto(21*maxx/32,maxy-39);
moveto(27*maxx/32,maxy-30);
lineto(27*maxx/32,maxy-39);
moveto(20*maxx/32,maxy-30);
lineto(20*maxx/32,maxy-35);
moveto(28*maxx/32,maxy-30);
lineto(28*maxx/32,maxy-35);
moveto(~9*maxx/32,maxy-30)
;
~ineto(19*maxx/32,maxy-33);
moveto(29*maxx/32,maxy-30);
~ineto(29*maxx/32,maxy-33);
moveto(l8*maxx/32,maxy-30);
lineto(l8*maxx/32,maxy-33);
moveto
(30*maxx/32,maxy-30)
;
lineto(30*maxx/32,maxy-33)
;
setcolor
(15)
;
outtextxy(maxx/8,maxy/2-60,r~m
= 0.5");
0uttextxy(maxx/8,maxy-60,~~m
= 1.0");
outtextxy(maxx/2+20,maxy/2-6O,"m= 2.5");
outtextxy(maxx/2 +20,maxy-60,"m = 4.0");
outt-extxy(maxx/2 +40
,maxy/2 -6, I1m = Indice demodulation" ) ;
outtextxy(maxx/2 +40,maxy/2+8,I1La linea Central de 9rafica");
cada
outtextxy (maxx/2
+40,maxy/2+18 , "es la portadoraFC");
setcolor ( 0 ) ;
outtextxy(maxx/2-50,maxy-~~,~~Presionar
cualquier tecla");
getch 0 ;
closegraph ( 1 ;
...........................................................................
...........................................................................
FUNCIONES
PARA
LOS
MENUS
EN
PANTALLA
.........................................................................
*******
FUNCION
MENU1
DEL
*********/
id menul(int 1,int t,int r,int b,char *analog,char
int *Clint c1,int c2,int c3,int color)
{
int bufsize;
char *tbuffer;
bufsize = 2* (b-t +1)* (r-l+l);
if ( (tbuffer= (char
* ) malloc
(bufsize)
) == NULL)
{
cputs ("error allocating buffer
;
;
if (!gettext(l,t,r,b,tbuffer))
{
cputs ("error salvando text")
;
exit (1);
l
window(l,t,r,b);
*digita,char
*salir,
textbackground(co1or);
clrscr ( ) ;
textcolor (BLACK) ;
gotoxy(2,2);
cputs
(analog)
;
gotoxy(2,4);
cputs
(digital
;
gotoxy(2,6);
cputs
(salir)
;
do
{
*c = getch 0 ;
*c = toupper(*c);
}
while(*c ! = cl && *c ! = c2
&&
*c
!=
c3);
if(!puttext(l,t,r,b,tbuffer))
{
cputs ( "error restoring
text");
1
free
*********
(tbuffer)
;
FUNCION DE MENU 2
************/
id menu2(int 1,int t,int r,int b,char *espacio,char *mens,
char *aux,char *an,char *di,char *sa,
int *c,int c1,int c2,int c3,int c4,int
colortint col21
{
int bufsize;
char *tbuffer;
bufsize = 2* (b-t +1)* (r-l+l);
if ( (tbuffer= (char
* ) malloc
(bufsize)
== NULL)
{
cputs ("error allocating buffer" 1 ;
)exit
;
if(!gettext(l,t,r,b,tbuffer))
{
cputs ("error salvando text");
}exit
;
window(l,t,r,b);
textbackground
(color)
;
clrscr ( ) ;
textcolor (col21;
gotoxy(2,1);
cputs
(mens)
;
gotoxy
(2 ; I2)
cputs
(espacio)
;
gotoxy(2,4);
cputs
(aux)
;
gotoxy(2,5);
cputs
(di)
;
gotoxy(2,6);
cputs
(an)
;
gotoxy(2,7);
cputs
(sa)
;
do
{
*c
*c
1
=
=
getcho ;
toupper(*c) ;
while(*c
!=
cl
&&
*c ! = c2
&&
*c
!=
c3
&&
*c
!=
c4);
if(!puttext(l,t,r,b,tbuffer))
{
cputs ( "error restoring text;
1
free
(tbuf
. . . .1. . . . . . . . . . . . . . . . .
;
f
er)
FmCION DE MENU3
.............................
id menu3(int 1,int t,int r,int b,char *A,char *B,char
*C,
char *D,char *E,char *F,char *G,int *c,int c1,int c2,int
c3,
int c4,int c5,intc6,int c7,int color,int~ 0 1 2 )
{
int bufsize;
char *tbuffer;
bufsize = 2* (b-t +1)* (r-l+l);
if ( (tbuffer= (char
* ) malloc
(bufsize)
) == NULL)
{
cputs ("error allocating buffer1 1 ) ;
;
if(!gettext(l,t,r,b,tbuffer))
{
cputs ("error salvando text");
;
window(l,t,r,b);
textbackground(co1or);
clrscr ( 1 ;
textcolor (col21;
gotoxy(2,2);
cputs
(A)
;
gotoxy I 3(2
) ;
cputs (B);
gotoxy(2,4);
cputs ( C ) ;
gotoxy(2,5);
cputs (DI ;
gotoxy(2,6);
cputs
(E)
;
gotoxy(2,8);
cputs ( G ) ;
do
{
*c = getch0 ;
*c = toupper(*c) ;
1
while(*c!=cl&&*c!=c2&&*~!=~3&&*~!=~4
&& * c ! = c ~&&*c!=c~&&*c!=c~);
if (!puttext(l,t,r,b,tbuffer)
{
cputs ("error restoring text");
I
free
(tbuffer)
;
. . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION
QUE
DIBUJA
UNA
ANIMACION
.....................................................................
id
{
animacion
(void)
int i;
char far *image;
char buffer
[801 ;
unsigned numbytes;
initgraph (&graphdriver, &graphmode,
. .\\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxyo ;
setcolor
(15)
;
moveto(20,20); / * dibuja el escape de la nave
*/
lineto(20,32);
lineto (30,29);
lineto (30 ;23)
lineto (20,20);
setfillstyle(1,15);
/ * colorea la nave * /
bar3d(69,23,95,29,1,0);
setfillstyle (1,7);
bar3d(20,23,30,29,1,0);
for(i = l;i<=8;++i)
putpixel (21+i,26/14);
setcolor ( C Y A N ) ;
for(i=O;i<=24;++i)
{
putpixe1(69+i,30,7);
putpixe1(69+i,31,15);
1
for(i=O;i<=22;++i)
{
putpixe1(69+iJ32,7);
putpixe1(69+ir33,7);
1
for(i=O;i<=2O;++i)
putpixe1(69+i,34,15);
for(i=O;i<=17;++i)
putpixel (69+i,35,15)
;
for(i=O;i<=14;++i)
putpixel (69+i,36/15);
for(i=O;i<=lO;++i)
putpixe1(69+i,37,15);
for(i=O;i<=5;++i)
putpixel (69+i,37,15)
;
bar3d(30,10,67,40,1,0);/* dibuja el cuerpo de la nave
*/
moveto(70,lO); / * dibuja la cabeza de la nave
*/
lineto(90,18);
lineto(95,23);
lineto (95,29);
lineto(90,34);
lineto(70,40);
line(95,26,98,26);
numbytes = (unsigned int) imagesize
( O , O, 80,60);
if ((image = (char far* ) malloc(numbytes)) == (char far*)NULL)
{
closegraph ( ) ;
exit ( O ) ;
1
getimage(20,10,98,45,image);
cleardevice ( 1 ;
for(i = O;ic= 1500;++i)
putpixel
(random
(maxx)
, random (maxy)
,random ( MAXCOLORS-1 ) +1);
setfillstyle(SOL1D FILL,BLUE);/ * color de la tierra
*/
fillellipse(maxx/2~maxy+5O,maxx/2,maxy/3);/ * dibuja la tierra * /
setfillstyle(SOL1D FILL,GREEN);/ * color de la tierra
*/
fillellipse(7*maxx~24+30,maxy+90rmaxx/4,maxy/3);
/ * dibuja la tierra* /
fillellipse(3*maxx/4,maxy+l35,maxx/6,maxx/6,maxy/3);
/ * dibuja la tierra* /
setcolor
(15)
;
line(maxx/2-~5,maxy/3,maxx/2-5,maxy/3);
line(maxx/2+5,maxy/3,maxx/2+~~,maxy/3);
setfillstyle (1,3);
/ * Dibuja las alas* /
bar3d(maxx/2-35,maxy/3-8,maxx/2-15,maxy/3+8,1,0~;
circle
(maxx/2
,maxy/3 ,5 ) ;
floodf
ill
(maxx/2
,maxy/3 ,15);
1ine(maxx/4+10,3*maxy/4+30,maxx/4+10,3"maxy/4+15~;/*bases de antena* /
line(maxx/~+~~,~*maxy/~+~~,maxx/~+~~,~*maxy/~+~~~;
bar3d(maxx/2+15,maxy/3-8,maxx/2+35,maxy/3+8,1,0);
~ine(~*maxx/~-~0,3*maxy/~+~0,~*maxx/~-~0,~*maxy/~+~~~;
~ine(~*maxx/~-~~,3*maxy/~+15,3*maxx/~-~~,~*maxy/~+~~~;
ellipse(maxx/4+14,3*maxy/4,185,315,15,15~; / * parabola de antena * /
ellipse(3*maxx/4-14,3*maxy/4,240,360,15,15~;
1ine(maxx/4+12,3*maxy/4+8,maxx/4+10,3*maxy/4+12); /*punta
de la antena
*/
1ine(3*maxx/4-12,3*maxy/4+8,3kmaxx/4-10,3*maxy/4+12);
/ * punta de la anten
settextstyle(1,HORIZ DIR,3);
outtextxy(20,maxy/2-50,IICOMUNICACION
ELECTRONICA") ;
outtextxy(maxx/2+20,maxy-3O,~~presionar
cualquier tecla");
i =O;
while(!kbhit() 1 / * ciclo de movumiento de
la nave y de la signal * /
{
i +=3;
setcolor
)(14
;
moveto
(maxx/4+12,3*maxy/4+8)
;
lineto
(maxx/2,
maxy/3)
;
lineto(3*maxx/4-10,3*maxy/4+12);
if (i c = maxx)
{
putimage(i,lO,image,XOR
-PUT);
delay(l0);
setcolor ( 0 ) ;
moveto
(maxx/4+12
, 3*maxy/4+8);
lineto
(maxx/2,maxy/3)
;
lineto(3*maxx/4-10,3*maxy/4+12);
put
image
( i ,1O ,image ,XOR-PUT) ;
}
else
i=O ;
1
getch ( ) ;
closegraph ( )
;
1
.................................................................
FUNCION
QUE
DIBUJA
UN MARCO DE LA SENAL
PARA
LAS
GRAFICAS
*
...................................................................
)id
{
marco
(void)
setcolor
(14)
;
setlinestyle(O,Ox3ff,3);
moveto(2,2);
lineto(2,maxy-2);
moveto(5,2);
lineto(5,maxy-2);
moveto(maxx-2,2);
lineto(maxx-2,maxy-2);
moveto (maxx-5,
2) ;
lineto(maxx-5,maxy-2)
;
moveto(6,3);
lineto ( m a ~ x - 6 ~;3 )
moveto (6,6);
lineto (maxx-6,6)
;
moveto (6,9);
lineto(maxx-6,9);
moveto(6,maxy-3);
lineto(maxx-5,maxy-3);
moveto(6,maxy-6);
lineto(maxx-5,maxy-6);
moveto (6,maxy-9);
lineto(maxx-5,maxy-9)
;
setlinestyle ( O , Ox3ff,1 ) ;
id
{
mensaje
(void)
clrscr ( ) ;
gotoxy(4,lO);
printf("Este programa fue hecho empleando el compilador C++, version 1.0"
gotoxy
(4
11);
printf("en unaPC compatible con monitor VGA,cuya resolucion es de 640x480
gotoxy
(4
12);
printf("por lo cual es recomendable utilizar un monitor
de la misma
gotoxy (4,13);
printf("capacidad,de lo contrario habra errores de visualizacion");
gotoxy(40,18);
printf ( "presionar cualquier tecla.
.. 1;
gotoxy(68,18);
getch ( ) ;
/
/
1
*-A-*********
FTJ&JCION
DE MENSAJE
id
{
mensage2
2
.............................
(void)
unsigned numbytes;
initgraph ( &graphdriver,
&graphmode
, . . \\bgi")
Errorcode = graphresult ( 1 ;
if (Errorcode ! = grOk)
1
printf ("Error en
exit (1);
el
sitema
'I
;
de
graficos;
I!)
settextstyle (3,HORIZ
DIR,3);
outtextxy(20,40,IIMODÜLACION :
;
settextstyle(3,HORIZ DIR,3) ;
outtextxy(maxx/4+20,60, "MODULACION ANALOGICAII)
;
settextstyle ,(3
HORIZ DIR,3) ;
outtextxy(maxx/4+20,80, "MODULACION DIGITAL1')
;
settextstyle
(1,HORIZ
DIR,
1)
;
outtextxy(20,maxy/2,~~El
programa contiene graficas en tiempo
y en frecuenc
settextstyle (1,HORIZ DIR.
, 1) :
outtextxy<20,maxy/2+ZO,"Tambien contiene la introduccion teorica de cad
settextstyle (1,HORIZ
DIR,1) ;
outtextxy(20,maxy/2+~0,
"tipo de modulacion . ;
settextstyle
(0,HORIZ
DIR,1);
outtextxy(maxx/2,maxy-40,"PRESIONAR CUALQUIER TECLA....!!);
getch ( ) ;
closegraph ( 1 ;
I!)
P
.
.........................................................................
.........................................................................
FUNCION DE ANALISIS
DIGITAL
..........................................................................
digital
(1
id
do
{
enu3(20,10,53,18,espacio,ask,fsk,psk,qpsk,qpsk,teo,salir,
&c,65,70,80,81,81,69,27,15,0);
switch
(c)
{
case 69
:
case 65
:
case 70
:
case
:
1
while
80
case 81
:
case 27
:
TE0 DIG(); / * Teoria de Mod. digital* /
break;
mod ask(); / * Modulaion ASK * /
break;
mod f s k 0 ; / * Modulaion FSK * /
break ;
mod psk0 ; / * Modulaion PSK * /
break ;
mod qpsk0; / * Modulaion QPSK * /
break ;
c = 77;
break;
1
(c! = 77) ;
1
..........................................................................
FUNCION DE MODULACION
DIGITAL
ASK
...........................................................................
eoid mod-ask(void)
do
menu2(20,10,53,18,espacio~dask,graf
-tie,teo,graf- frec,salir,
&c,69,70,27,84,1,14);
switch
(c)
I
ask()
; / * grafica
en tiempo
*/
break;
case 69 : teo-a s k 0 ;
break;
case 7 0 :G-F-ASK(); / * grafica en frecuencia* /
break;
case 27 : c = 27;
break;
case
while
84: m d
”
(c
! =27);
.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION DE MODULACION
DIGITAL
FSK
...........................................................................
mod
-fsk(void)
id
do
{
m e n u 2 ( 2 0 , 1 0 , 5 3 , 1 8 , e s p a c i o , d f s k , g r a f -tie,teo,graf- frec,salir,
&c,69,70,27,84,1,14);
switch
(c)
{
case 84 : G T FSK(); / * grafica en tiempo* /
break;
case 69 : teo-f s k 0 ;
break;
case 70 :ES-FSK(); / * grafica en frecuencia* /
break;
case 27 : c = 27;
break;
”
1
1
while
(c
! =27);
1
...........................................................................
FUNCION DE MODULACION
DIGITAL
PSK
...........................................................................
mod
-psk(void)
id
do
{
menu2(20,10t53,18,espacio,dpsk,graf
-tie,teo,graf- frec,salir,
&c,69,70,27,84,1,14);
switch
(c)
{
case 84 : g-t-psko; / * grafica en tiempo* /
break;
case 69 : TE0-PSKO ;
break;
case 70 :g-f_psk(); / * grafica en frecuencia* /
break ;
case 27 : c = 27;
break;
1
1
while
(c
! =27) ;
.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCION DE MODULACION
DIGITAL
QPSK
...........................................................................
mod
-qpsk(void)
id
case 71
:
case 69
:
case 27
:
g-t-qpsko; / * grafica en tiempo* /
break;
TE0-QPSKO;
break;
c = 27;
break;
1
1
while
(c
! =27);
1
................................................
FUNCION
QUE
DIBUJA
LA SENAL DE ASK
.................................................
id m
{
d
"
ask(void)
initgraph ( &graphdriver ,&graphmode , . . \\bgi") ;
maxx = getmaxx ( ) ;
maxy = getmaxy ( 1 ;
k = 30;
marco ( 1 ;
moveto(30,maxy/2);
setcolor
(14)
;
m-fsk(&k,5,30,0,1080,14);
m-fsk(&k,10,0,0,720,14);
m-fsk(&k,5,30,0,1080,14);
m-fsk(&k,10,0,0,720,14);
m fsk(&k,5,30,0,1080,14);
setcolor
(15)
;
outtextxy(30,30,"ModulacionASK " ) :
outtextxy(maxx/2+10,maxy-5O,~~Donde
hay signal equivale ill);
a
outtextxy(maxx/2+10,maxy-4O,~~Ausencia
de signal equivale Oil);
a
setcolor ( 0 ) ;
outtextxy(maxx/2-30,maxy-lO,~~PRESIONAR
CUALQUIER TECLA");
getch 0 ;
closegraph ( ) ;
I
.
. . .1. . . . . . . . . . . . . . . . . . . . . . . . .
'ARTE DE LA FUNCION DE ASK
.............................
roid m-fsk(int *k,intA,int B,int ang1,int ang2,int color)
{
double y1 ,x1 ;
int x,y;
setcolor
(color)
;
for(ang1 = O.O;angl<=ang2;angl += 1 0 . 0 )
{
y1 = B*sin(angl/RAD) ;
x1 = A*angl/RAD ;
x = (int)xl + *k;
y = maxy/2- (int)yl;
lineto (x,y) ;
}
. . .}*k
. . . .=. .x;
..........................................
FUNCION
QUE
DIBUJA
EL
ESPECTRO
DE LA
SENAL
ASK
....................................................
id
{
G
F
"
ASK(void)
int ind, cont;
initgraph(&graphdriver,
&graphmode,
. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor (15);
moveto(20,maxy/2-20); / * Dibuja el eje y de la grafica
*/
lineto(20,maxy/8);
moveto(20,maxy/2-20);
lineto(maxx-30,maxy/2-20);/ * DIBUJA EL EJE
X DE LA la GRAFICA*/
setcolor (14);
moveto(maxx/2-2,maxy/2-19);/*Dibuja el pulso de la grafica
*/
lineto(maxx/2-2,3*maxy/8-3);
moveto(maxx/2-6,3*maxy/8-3); / * Dibuja la flecha * /
lineto(maxx/2+2,3*maxy/8-3);
lineto(maxx/2-2,3*maxy/8-9);
lineto(maxx/2-6,3*maxy/8-3);
ask no P O ;
setcolor (15);
outtextxy(maxx/2+40,maxy/2-8,"Wc+Wb");
outtextxy(maxx/2-80,maxy/2-8,"Wc-Wb");
outtextxy(maxx-20,maxy/2-23,
"w");
outtextxy(20,maxy/8-10,
"F(w)
;
outtextxy(maxx/2-2,maxy/2-8,
IrWc")
;
outtextxy(20,maxy/2-8,I l O l l ) ;
outtextxy(maxx/4,maxy/2+3O,~~Espectro
de potencia de una signal
ASK");
setcolor (O ) ;
outtextxy
(maxx/2
,maxy-10, "Presionar
cualquier
tecla");
getch ( ) ;
closegraph ( ) ;
' I .
It)
1
*******
FUNCION QUE AYUDA A GRAFICAR
EL ESPECTRO DE ASK
'id
{
no
ask
"
p(void)
double y1 ,xl;
int i,y2,y;
setcolor (14) ;
moveto(97+maxx/8,maxy/2-28);
for(i=180;ic=720;i += 10.0)
{
****************/
y1 = (30*sin(i/RAD) - 20*cos RAD)) / I . 5;
x1 =(int)30*i/RAD +maxx/8+3;
y = maxy/2- (int)yl-38;
lineto
(x1
,y) ;
if (i==340 1 I i==560)
{
1
1
1
l i n e ( x ~ , m a x y / 2 - ~ 5 , x ~ , m a x y / 2 - ;2 2 )
line(x~,maxy/2-~5,x~,maxy/2-22);
................................................
FUNCION
QUE
DIBUJA
LA
SENALFSK
DE
.................................................
id G T FSK(void)
c
"
............................
ARTE DE
LA
FUNCION
DE
FSK
.............................
oid aux-fsk(int *k,int A,int ang1,int ang2,int
{
double y1 ,x1 ;
int x,y;
setcolor
(color)
;
for(ang1 = O.O;angl<=ang2;angl+= 10.0)
{
y1 = 30*sin (angl/RAD)
;
x1 = A*angl/RAD ;
x = (int)xl + *k;
y = maxy/2- (int)
yl;
lineto (x,y);
}
color)
...................................................
FUNCION
QUE
DIBUJA
EL
ESPECTRO
DE LA
SENALFSK
....................................................
id ES
- FSK(void)
int ind,cont;
initgraph
(&graphdriver,
&graphmode,
I r . . \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor
(15)
;
moveto(20,maxy/2-40);
lineto(maxx-3O,maxy/2-40);/ * DIBUJA EL EJE XDE LA GRAFICA*/
moveto(20,40);
lineto(2Orrnaxy/2-40);/ * DIBUJA EL EJEY DE LA GRAFICA*/
moveto(maxx/2-35,maxy/2-40);
lineto(maxx/2-35,maxy/2-45)
;
moveto
(maxx/2+87,maxy/2-40)
;
lineto
(maxx/2+87,maxy/2-45)
;
outtextxy(20,maxy/2-30,
;
outtextxy(maxx-20,maxy/2-40,
llw")
;
outtextxy(20,30,
"F(w)
;
outtextxy(2o,max~/2+6O,~~Dencidad
espectral de una signal FSK
"1;
outtextxy(20,maxy/2+80,IIWco es la frecuencia
baja");
outtextxy(20,maxy/2+~0~,
I1Wco es la frecuencia
alta");
outtextxy(rnaxx/2-35,maxy/2-30,
"Wco
;
outtextxy(maxx/2+75,rnaxy/2-30,"Wcl
;
outtextxy
(maxx/2+10
,maxy/2 , "BW = 4Wb") ;
AUX- FSK
(1 ;
I!)
'I)
'I)
setcolor ( O )
;
closegraph ( 1
;
* * * * * * * * * * * FUNCION QUE AUXILIA A LA GRAFICA ESPECTRAL FSK
********/
oid
AUX
-
FSK(void)
double y1 ,x1 ;
int ,i
y2,y;
setcolor
)(14
;
moveto(140,maxy/2-43);
for(i=180;i<=580;i+= 10.0)
{
y1 = (30*sin(i/RAD) - 20*cos (2*i/F!AD)) /l. 5;
x1 = (int)3O*i/F¿AD-maxx/8;
y = maxy/2- (intlyl-58;
lineto
(x1+127,y)
;
if ( i==580)
{
setcolor
(15)
;
line(x~,maxy/2,x~,maxy/2-35);
}
1
moveto(maxx/2+~5,maxy/2-40)
;
for(i=320;i<=720;i += 5.0)
{
setcolor
(14)
;
y1 = (30*sin (i/RAD)
- 20*cos (2*i/RAD)
) /l. 5;
x1 = (int) 30*i/RAD+maxx/2-maxx/8;
y = maxy/2- (int)yl-58;
lineto(xl-70,y);
if ( i==435)
{
setcolor (15);
...........................................................................
FUNCION DE LA
GRAFICA
EN
TIEMPO
DE PSK
..........................................................................
id g t psk(void)
{
initgraph(&graphdriver, &graphmode, .\\bgi")
;
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
marco ( ) ;
k = 30;
moveto(30,maxy/2);
au t psk(&k,5,30,0,1440,14);
au_t_psk(&k,5,-30,0,1440,14)
;
au- t_ psk(&k,5,30,0,1440,14);
au t_psk(&k,5,-30,0,1440,14);
au-t psk(&k,5,30,0,1440,14);
setcolor
(15)
;
outtextxy
(30
,30 , IIModulacion P S K
;
outtextxy(maxx/2+~0,maxy-50,~~
f (t) equivalea 1 I ! ) ;
outtextxy(maxx/2+~0,maxy-40,~~-f
(t) equivalea 01,) ;
setcolor ( O ) ;
outtextxy(maxx/2-30,maxy-l0,
"PRESIONAR CUALQUIER
TECLA");
getch ( ) ;
closegraph ( 1 ;
"
"
"
'I)
. . .1. . . . . . . . . . . . . . . . . . . . . . . . .
ARTE DE LA GRAFICA
EN
TIEMPO
DE P S K
.............................
oid au
B,int ang1,int
- t_psk(int*k,int A,int
{
double y1 x1 ;
int x,y;
setcolor
(color)
;
for(ang1 = O.O;anglc=ang2;angl += 10.0)
{
y1 = B*sin(angl/RAD) ;
x1 = A*angl/RAD ;
x = (intlxl + *k;
y = maxy/2- (intlyl;
lineto (x, ; y)
ang2,int
I
*k
1
= X;
1
...................................................
FUNCION
QUE
DIBUJA
EL
ESPECTRO
DE LA SENAL
PSK
....................................................
color)
id g-f -psk
(void)
int ind,cont;
initgraph ( &graphdriver,&graphmode , Ir . .\\bgi ;
maxx = getmaxx ( ) ;
maxy = getmaxy ( 1 ;
marco ( ) ;
setcolor
(15)
;
moveto
(maxx/2
,6 0 ) ;
lineto(maxx/2,maxy/2.0-19);/*DIBUJA EL EJEY DE LA la GRAFICA
*/
moveto(20,maxy/2-20);
lineto(maxx-2O,maxy/2-20);/ * DIBUJA EL EJEX DE LA la GRAFICA*/
moveto(maxx/2,maxy/2+60~;
lineto(maxx/2,maxy-40); /*DIBUJA EL EJE
Y DE LA2a GRAFICA* /
moveto(20,maxy-40);
lineto(maxx-2O,maxy-40);/ * DIBUJA EL EJE X DE LA 2a GRAFICA*/
psk auxf
0;
setcolor (15);
moveto(3*maxx/4-5,maxy-40);
lineto(3*maxx/4-5,maxy-45)
;
moveto(maxx/4-3,maxy-40);
lineto(maxx/4-3,maxy-45);
outtextxy(3O,ma~y/2+1O,~~Wo
es la frecuencia dela portadorall);
outtextxy(3*maxx/4-8,maxy-36, IIWo");
outtextxy(maxx/4-8,maxy-36,
I1-Wo")
;
outtextxy(30,30, "Espectro
de potenciaPSK");
outtextxy(maxx-20,maxy/2-19,
llw")
;
outtextxy(maxx-20,maxy-40r
l1w1I)
;
outtextxy(maxx/2-3,50," F ( w ) ;
outtextxy(maxx/2-2,maxy/2-1~,~~~~0
;
outtextxy(maxx/2-15,maxy/2+50,"Fpsk(w) ;
outtextxy(maxx/2-2,rnaxy-35,"0") ;
outtextxy(maxx/2+25,maxy/4-20,IIPotencia de dencidad
espectral");
outtextxy(maxx/2+25,maxy/4-10,"de la funcionbinaria");
outtextxy(maxx/2+25,3*rna~y/4-2O,~~Potencia
de dencidad espectral");
outtextxy(maxx/2+25,3*maxy/4-10,
"de PSK'I);
outtextxy(maxx/4-80,maxy-30,
"-Wo-Wb")
;
outtextxy(rnaxx/4+50,maxy-30,"-Wo+Wb")
;
outtextxy(3*maxx/4-70rmaxy-30,
"Wo-Wb");
outtextxy(3*maxx/4+40,maxy-30rflWo+Wbll)
;
setcolor ( 0 ) ;
outtextxy
(maxx/2
,maxy-10, IIPresionar cualquier
tecla");
getch ( 1 ;
closegraph ( 1 ;
I!)
'I)
'I)
1
id psk- auxf
I
(void)
double y1,x1 ;
int i,y2,y;
setcolor
(14)
;
moveto(97+maxx/8,maxy/2-28);
for(i=180;ic=720;i += 10.0)
{
y1 = ( 3 0 * s i n ( i / ~ ~- ~~)O * C O S ( ~ * ~ / R A D ) ) / ~ S ;
x1 =(int)30*i/RAD +maxx/8+3;
y = maxy/2- (int)yl-38;
lineto
,(x1
y) ;
moveto(20,maxy-40);
for(i=180;ic=720;i += 10.0)
{
setcolor
)(14
;
y1 = ( 3 0 * s i n ( i / ~ ~- ~~)O * C O S ( ~ * ~ / R A
/IS;
D)
x1 = (int) 30*i,/RAD-maxx/8;
y = maxy- (int)yl-58;
lineto (x1
y);
if (i==320)
{
setcolor
(15)
;
line(x1+10,maxy-40,~1+10,maxy-50);
line(x1+125,maxy-40,xl+125,maxy-50);
1
}
moveto(maxx/2+20,maxy-40);
for(i=180;ic=720;i += 10.0)
{
setcolor
)(14
;
y1 = (30*sin(i/w) - ~ o * c o s ( ~ * ~ / R A
)/IS;
D)
x1 =(int)30*i/RAD+maxx/2-maxx/8;
y = maxy- (int)yl-58;
lineto
,(x1
y) ;
if (i==320)
{
setcolor
(15)
;
line(x~+10,maxy-40,x1+10,maxy-50)
;
line(x1+125,maxy-40,x1+125,maxy-50~;
...............................................................
REPRESENTACION
GEOMETRICADE QPSK
................................................................
id g
{
t
"
qpsk(void)
initgraph
(&graphdriver,
&graphmode,
. \\bgi");
maxx = getmaxx ( 1 ;
maxy = getmaxy ( ) ;
marco ( ) ;
setcolor ( 3 ) ;
outtextxy(30,30,"(Ps) esla amplitud de la signal
outtextxy(30,40,IIb equivale al bit impar
;
outte~txy(30,50,~~bl
equivale al bit par
setcolor (15);
outtextxy(maxx/2,maxy/4-2~,~~-~Ps)sen(Wot~11);
outtextxy(maxx/2,3*maxy/4+~~,~~
(Ps)sen(Wot)1 1 ) ;
outtextxy(30rmaxy/2, (Ps) cos (Wot)
;
outtextxy(40,maxy/4,I1b=
;
outtextxy(40,maxy/4+10,"bl = - 1 I l ) ;
outtextxy(40,3*maxy/4,"b =
' I .
I t ) ;
I f ) ;
'I-
-,I1)
,I1);
outtextxy(40,3*maxy/4+10,"bl = -1,')
;
outtextxy(3*maxx/4+2O,maxy/4,"b = - l 1 I ) ;
outtextxy(3*maxx/4+20,maxy/4+10,"bl = - , I f ) ;
outtextxy(3*maxx/4+20,3*maxy/4,~~b
= ,I1);
outtextxy(3*maxx/4+20r3*maxy/4+10,
"bl = , I 1 ) ;
outtextxy(3*maxx/4+2~,maxy/2,(Ps)cos(Wot) ;
moveto(maxx/2,3*maxy/4); / * Dibuja el eje y * /
lineto(maxx/2,maxy/4);
moveto(maxx/2-4,maxy/4); / * Dibuja la flechita * /
lineto
(maxx/2+4
,maxy/4) ;
lineto(maxx/2,maxy/4-8);
lineto(maxx/2-4,maxy/4);
moveto(maxx/4,maxy/2); / * Dibuja el eje x * /
lineto(3*maxx/4,maxy/2);
moveto(3*maxx/4,maxy/2-4); / * Dibuja la flechita * /
lineto(3*maxx/4,maxy/2+4);
lineto(3*maxx/4+8,maxy/2);
lineto(3*maxx/4,maxy/2-4);
setcolor
(14)
;
moveto(maxx/4,3*maxy/4);
lineto(3*maxx/4,maxy/4);
moveto(maxx/4-2,3*maxy/4-2); / * Dibuja flecha inferior izq.* /
lineto
(maxx/4+2,3*maxy/4+2)
;
lineto(maxx/4-4,3*maxy/4+4);
lineto(maxx/4-2,3*maxy/4-2);
moveto(maxx/4-2,maxy/4+2);/ * Dibuja flecha superio izq.* /
lineto(maxx/4+2,maxy/4-2);
lineto(maxx/4-4,maxy/4-4);
lineto(maxx/4-2,maxy/4+2);
moveto(3*maxx/4-2,maxy/4-2);/ * Dibuja flecha superio der.* /
lineto(3*maxx/4+2,maxy/4+2);
lineto(3*maxx/4+4,maxy/4-4)
;
lineto(3*maxx/4-2,maxy/4-2);
moveto(3*maxx/4+2,3*maxy/4-2);/ * Dibuja flecha inferior der.* /
lineto(3*maxx/4-2,3*maxy/4+2);
lineto(3*maxx/4+4,3*maxy/4+4);
lineto(3*maxx/4+2,3*maxy/4-2);
moveto (maxx/4,maxy/4) ;
/ * Dibuja el eje diagonal derecho * /
lineto(3*maxx/4,3*maxy/4);
setcolor (10);
outtextxy (maxx/2
,maxy-10,"Presionar cualquier tecla;
setcolor ( O ) ;
outtextxy
(maxx/2
,maxy-10, "presionar cualquier tecla"
1;
getch ( 1 ;
closegraph ( ) ;
I!)
1
.......................................................................
.......................................................................
FUNCIONES DE TODAS LAS TEORIAS
........................................................................
initgraph
(&graphdriver,
&graphmode,
' l . - \\bgi")
;
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt med =maxy/2;
marco ( 1 ;
setcolor (15);
.ttextxy(50,4 0 , llINTRODUCCION TEORICA
DE LA MODULACIONAM : ;
.ttextxy(50,80,11En
genara1,la modulacion es proceso por el cual una propiedad
o
.ttextxy(50,100,11metro
de cualquier senal, se hace variar en forma proporciona
tte~txy(50,120,~~gunda
senal, el tipo de dependencia se determina
con la forma
tte~txy(50,140,~~cion
empleada.En la modulacion de Amplitud,se hace variar la
tte~txy(50,160,~~una
senal senoidal, con frecuencia
y fase constantesfen propor
tte~txy(50,180,~~senal
dada.Este proceso altera la senal trasladando sus compon
ttextxy(50,200, "frecuencia a frecuencias altas.")
mas
;
tte~txy(50,230,~~De
este modo, la comunicacion que utiliza modulacion para des
tte~txy(50,250,~~espectro
de frecuencia de una senal, se conoce como comunicaci
ttext~y(50~270,"tadora.Dependiendo
de la aplicacion que se llevecabo,la
a
Mod
ttextxy(50,290,r1AM
se clasifica en las siguientes modalidades: Doble Banda L
ttextxy(50,31O,l1PortadoraSuprimida (DBLPS),Gran Portadora (AM),Banda Lateral
tte~txy(50,330,~~Banda
Lateral Residual (BLR).El ancho de banda su principal
tcolor (O) ;
ttextxy(maxx/2,maxy-~Or
"Presionar una tecla")
;
tch0 ;
osegraph ( ) ;
................................................................
TEORIA DE DOBLE
BANDA
LATERAL
DE AM
.................................................................
id t db
"
la(void)
initgraph
(&graphdriver,
&graphmode,
U .. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt med =maxy/2;
marco ( ) ;
setcolor
(15)
;
ttext~y(40,35,~~M0DULACION
EN AM:DOBLE BANDA LATERAL
CON PORTADORA SUPRIMIDA (D
t t e x t ~ y ( 4 0 ~ 6 0 , ~modulacion
~La
de amplitud con portadora suprimida,proporciona u
tte~txy(40,80,~~conveniente
de transmitir informacion.El procedimiento es como
ttextxy(40,100,11La amplitud de la portadora
no modulada se hace variar en prop
ttext~y(40,12O,~'la
signal de banda base
(o moduladora).La frecuenciay la fase
tte~txy(40,140,~~tienen
constantes. La modulacion de amplitud traslada el espec
tte~txy(40~160,~~frecuencia
de una signal en PWc rad/s,pero deja inalterada s
ttextxy(40,180," Este tipo de modulacion de amplitud se llama de portadora
su
ttextxy(40,200,11porque la densidad espectral de la signal modulada no pre
ttextxy(40,220,"tadora identificable,aunque
el espectro se centre en la frecue
tte~txy(40,240,~~
A continuacion se describen algunas relaciones matematicas
i
tte~txy(40,260,~~tes
concernientes a la modulacion
DBLPS:");
ttextxy(90,282,lIú(t) = f (t) *Cos Wct;
Representa una signal modulada en
ttext~y(40,302,~!Donde
Cos Wc*t es la signal portadora
; y f(t) la signal modul
tte~txy(55,325,~~6(w)
= 1/2*F(W + Wc) + 1/2*F(W - Wc) ; Espectro de la signal
m
tte~txy(40,345,~~De
la anterior relacion
y de su respectiva grafica en frecuenc
tte~txy(40,365,~~que
el contenido de frecuencia tanto negativo como positivo d
ttextxy(40,385,I1parece como frecuencias positivas.Esto implica que el
DE ANCHO
ttextxy(40,405,"f(t)SE DUPLICA cuando se emplea este tipo de modulacion
de am
ttextxy(4O,425,l1contenidoespectral de frecuencias positivas por encima de Wc
tte~txy(40,445,~~banda
lateral superior,^ por debajolbanda lateral inferior de
tcolor
(BLACK)
;
ttextxy(maxx/2 maxy-10 "Press any key to continue")
;
tch0 ;
osegraph ( ) ;
I
I
................................................................
TEORIA DE BANDA
LATERAL
UNICA
................................................................
lid t"b- 1 u(void)
initgraph(&graphdriver,
&graphmode,
. \\bgi");
maxx = getmaxx 0 ;
maxy = getmaxy ( ) ;
punt-med =maxy/2;
marco ( ) ;
setcolor
(15)
;
ttextxy(50,40, "MODULACION EN AMPL1TUD:BANDA LATERAL UNICA; (BLU)
tte~txy(50,80,~~Es
un esquema de modulacion
en el cual, se transmite
solo una d
tte~txy(50,100,~~bandas
laterales denominadas,banda lateral superior (BLS)
,y la
ttextxy(50,120,11tera1
inferior (BLI),quese originan al modular una signal en
ttextxy(50,140,"decualquiera de ellas contiene la informacion completa, de la
ttextxy(50,16Orf1banda
base. Lo mas importante de este tipo de modulacion
es qu
tte~txy(50,180,~~quiere
de la mitad del ancho de banda de una signal(DBL1
. ;
ttextxy(50,200,*1La
signal original podra recuperarse de nuevo,a partir de cual
tte~txy(50,220,~~par
de bandas laterales, por medio de una traslacion de frecu
t t e x t x y ( 5 0 , 2 4 0 , 1 ' c u a d a , c o m o lo sugieren las relaciones matematicas
y sus grafic
ttext~y(50,26O,~lpondientes,que
a continuacion se describen.
ttextxy(50,280,l1Aunquel o s siguientes resultados provienen del caso senoida1,s
ttextxy(50,30Or1Ipara
un caso mas genera1,por la que puede escribirse
: I 1 ) ;
ttextxy(50,325,
ú(t) = f(t) *COS wc*t p Hf (t)*sen Wc*t ; f (t) es e1 me
tte~txy(50,345,~'Hf
(t) es la transformada de Hilbert
de f (t) ,Ú(t) es la signa
ttextxy(50,370,"
6 ( w ) = M+ (W - Wc) + M- (W + Wc) ;es el espectro de
Ú
ttextxy(50,390,1rUna de las ventajas que presenta este
de modulacion
tipo
con r
ttextxy(50,410,"lamodulacion AM (comercial),es que el desvanecimiento selecti
ttextxy(50,430,"nossevero.Il);
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-~O,
"Press any key to continue")
;
tch0 ;
osegraph ( 1 ;
Ir.
'I)
I!);
....................................................................
TEORIA DE BLR
..................................................................
id t-b" 1 R(void)
initgraph (&graphdriver, &graphmode,
.\\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt-med =maxy/2;
marco ( ) ;
tcolor
(15)
;
ttext~y(50,40,~~M0DULACION
EN AMPL1TUD:BANDA LATERAL RESIDUAL
(BLR)");
t t e ~ t x y ( 5 0 ~ 8 0 , ~sistema
~Un
de banda lateral residual es
un compromiso entre la
ttext~y(50,10O,~lBLU.
Hereda las ventajas de ambos esquemas
de modulacion, pero
ttext~y(50,12O,~~inconvenientes.Las
signals BLR son relativamente faciles de ge
ttextxy(50,140,11mismo tiempo, su ancho de banda es tipicamente 25% mayor que
tte~txy(50,160,~lEn
BLR,en lugar de rechasar por completo una banda lateral co
ttextxy(50,180,~~con
BLU,se aceptaun corte gradual de una banda latera1,como
1
tte~txy(50,200,~~su
espectro,la caracteristica de atenuacion del filtro es tal
tte~txy(50~220,"presion
parcial de la banda lateral transmitida
en la vecindad
ttextxy(50r240,"tadora,secompensa exactamente por la transmicion parcial1 de
ttextxy(50,26Orf1rrespondiente,de
la banda leteral que se suprime.Devido
lo a
tte~txy(50,280,~~signal
de banda base se puede recuperar exactamente por medio
tte~txy(50,300,~~tector
sincronizado.En seguida define una exprecion la
para
si
.ttextxy(50,325, ú(t)
= f(t)*cos Wc*t p Hf(t) *Sen Wc*t ; f(t) es
el me
.ttextxy(50,345,"Hf (t) es una funcion
de transformacion ,Ú(t) es la signal mod
.ttextxy(50,370," 6(w)
= [ 1/2*{ M(W - Wc) + M(W + Wc) } l*Hv(w) ;es el espectr
.ttextxy(50,390,I1La modulacion de banda lateral residual se usa provechosam
ttextxy(50,410,"cionde video de los sistemas de television
ttext~y(50,430,~lahorro
en ancho de banda.")
;
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-10,"Press any key to continuell);
tch0 ;
osegraph ( ) ;
publicos,por
su
.....................................................................
TEORIA DE AM COMERCIAL
.................................................................
id t am corn (void)
"
initgraph( &graphdriver, &graphmode,
. \\bgi");
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt-med =maxy/2;
marco ( ) ;
tcolor
(15)
;
ttextxy(50,40,t~INTRODUCCION
TEORICA DE LA MODULACION AM : AM COMERCIAL");
t t e ~ t x y ( 5 0 ~ 8 0 , ~un
~ E sesquema de modulacion de Doble Banda Lateral con Portad
ttext~y(50,10O,~~mida,a
diferncia del otro esquema de modulacion
en AM que llev
tte~txy(50,120,~~mo
nombrereste tipo de modulacion incorpora una signal portado
tte~txy(50,140,~lparte
de la signal transmitida
y en el mismo ancho espectral d
tte~txy(50,160,~~nal
deseadareliminando de esta forma la necesidad de generar
u
tte~txy(50,180,~~portadora
en el receptor.De hecho es conveniente hacer que la
ttextxy(50,20Or"deeste termino portador sea mayor que cualquier otra porci
ttextxy(50,220rt1sidad
espectral de la signal.Este tipo de modulacion es el qu
ttextxy(50,240,"zaen difusion comercia1,para el cual existen una mayoria
de r
ttext~y(50,260,~~mas
simples y baratos,~cuenta conun solo transmisor mas caro
ttextxy(50,280r"cado.Ademasde esto para las signals de audio,no
se requiere u
ttextxy(50,300,"ta de frecuencia cero.Asi,en sistemas noque
requieren respues
ttextxy(50,320,"cuencia ,se puede situarun termino portador grande Wc.");
en
ttextxy(50,340,"A continuacion se describe matematicamente una signal modulad
ttextxy(50,365,I1 Ú(t) = [A + f (t)]*Cos Wc*t ; f (t) signal moduladora
I t ) ;
ttextxy(50,385,ItLa densidad espectral de Ú(t): es
ttextxy(50,408," b(w) = 1/2*[ F(W + Wc) + F(W - Wc) 1 + D*A*[ g(W + Wc) + g(W
ttextxy(maxx/2+100,maxy-30,
Continua en seguida > > I 1 ) ;
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-10,"Press any key to continuell);
tch0 ;
eardevice ( 1 ;
rco0 ;
tcolor
(15)
;
ttextxy(50,70,1t[A+ f (t)] es la envolvente de la signal modulada Ú(t) ,siemp
ttextxy(50,90,"envolvente sea moyor que cero
([A + f ( t )J > O para toda t)
,la r
ttextxy (50,110,
"de f (t) a partir de U(t) se reduce simplemente a deteccion
ttextxy(50,130,"Para lograrlo anterior A debe ser suficientemente grande para
ttextxy(50,15Or"A+ f(t) sea positiva para toda
t. A continuacionse realiza u
tte~txy(50~170,"para
el caso senoida1,para una mejor comprension
losde
concep
ttextxy(50,190,
A + f (t) > O para toda t ;
entonces A
-f (tlminimo
ttextxy(50,210,
i = -f(t)/A cantidad que representa el indice de modulac
.ttextxy(50,23Orv1 i p 1 Es la condicion que se requiere para la demodulacio
.ttextxy(50,250,1tda
de AM mediante un detector de envolvente.Si4 > 1 entonces
.ttextxy(50,270,Itpodra ser recuperada elpormetodo de deteccion de envolvente.
.ttextxy(50,290,I1que utilizar demodulacion sincronizada,ya que existe sobrem
.ttextxy(50,310,11
Otro parametro importante a considerar es el porcentaje
PO
de
.ttextxy(50,330,
"tal que transportan las bandas laterales
:
S = ( f>>/2+1>>)
*loo%
..................................................................
FUNCION DE TEORIA
CON
INDICE
MAYOR
A UNO AM COMERCIAL EN TONO
...................................................................
id t i ma
- l(void)
"
. . \\bgirl
) ;
initgraph
(&graphdriver
, &graphmode ,
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt-med =maxy/2;
rco0;
tcolor (15);
tte~txy(50,40,~~TEORIA
DE LA MODULACION AM : INDICE DE MODULACION MAYOR QUE
UNO
ttextxy(50,80," El analisis que a continuacion
realizales
se
para el caso seno
tte~txy(50,100,~~La
relacion matematica que a continuacion se presenta es la
ttextxy(50,120,"rial modulada en AM :
ttextxy ( 5 0 ,145 ,
Ú(t) = [A + f (t)] * COS Wc*t
t t e ~ t x y ( 5 0 ~ 1 6 5Si
,~~
A no es bastante grande, la envolvente
Ú(t)de
no es propo
tte~txy(50,185,~~f
(t),y no se cumple la condicion [A
+ f (t)] 0,es fundamental
tte~txy(50~205,~~desigualdad
se cumpla en todo momento,de
no ser asi f(t)no pu
ttextxy(50,225,"recobradapor el simple proceso de deteccion
de la envolvente.
ttextxy(50,245,11
El
indice
de
modulacion
se
define
como
:
i = -f(
ttext~y(50,265,~lEntonces
la condicion que se requiere para la demodulacion ad
t t e ~ t x y ( 5 0 ~ 2 8 5 , ~(comercial),mediante
~AM
la deteccion de envolvente ies:
p 1.
ttextxy(50,3O5,l1 Parai > 1 existe una sobremodulacion.Sinembargotla demodula
ttextxy(50,325,I1crona demodulara en forma correcta
la signal modulada.Recordan
ttextxy(50,345,11demodulacionsincrona se puede utilizar para cualquier valor
ttextxy(50,365,"Como conclucion podemos decir que para modulacion senoida1,se
tte~txy(50~385,~lque
: O f o p 1.
;
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-10, "Press any key
continuerr)
to
;
tch0 ;
osegraph ( 1 ;
I!)
........................................................................
TEORIA DE FM
.........................................................................
'id teo-fm(void)
initgraph ( &graphdriver,&graphmode , . . \\bgi
maxx = getmaxx ( ) ;
maxy = getmaxy ( ) ;
punt-med
=maxy/2;
) ;
marco ( 1 ;
setcolor (15);
ttext~y(37,40,~~1NTRODUCC1ON
TEORICA DE LA MODULACION FM : I 1 ) ;
ttext~y(37,80,~ILa
modulacion de FM al igual que la
A M , de
es una modulacion an
tte~txy(37,100,~~o,de
onda continua.Una onda senoidal se describe mediante tre
y fase,en la modulacionen fr
ttextxy(37,120,I1tros que son amplitud,frecuencia
tte~txy(37,140,~~lo
que se hace,es variar la frecuencia en proporcion a la sign
tte~txy(37,160,~'ladora
m(t).Esto significa que la frecuencia de la portadora
ttext~y(37,18O,~lando
continuamente a cada instante.
ttextxy(37,200,I1Porlo tanto,podemos aprovechar esta peculiar caracteristica p
ttextxy(37,220rt1nsmitir
informacion,haciendo variar la frecuencia de la porta
tte~txy(37,240,~les
sabido por todos,en una signal modulada
en frecuencia,la in
ttextxy(37,260,I1reside en la frecuencia instantanea,como se indica a contin
ttext~y(80,285,~IWi
= Wc*t + Kf*m(t). Donde Kf
es la constante de modulacio
ttextxy(37,310,11A diferencia la
de modulacion deA M , la modulacion en FM es un
ttext~y(37,330,~~no
1ineal.Esto quiere decir que el principio de superposicion
ttextxy(37,350,I1ca,e1 ancho de banda de la signal modulada es mucho mayor
ttextxy(37,370,I1del ancho de banda del mensaje,las componentes del de
espectr
tte~txy(37,39O,~~modulada,no
se relacionadas en forma simple con el espectro d
tte~txy(37~410,~~Otra
caracteristica importante de la signal modula en frecuenc
ttext~y(37~430,~lla
amplitud A de la portadora permanece
constante.");
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-~~,
Ilpresionar una tecla para continuar'!)
;
tch0 ;
osegraph ( ) ;
I ! ) ;
.......................................................................
TEORIA DE FM DE UN TONO
........................................................................
id
fm
te
"
np(void)
ni
tgraph
( &graphdriver , &graphmode , . . \ \bgi ) ;
axx = getmaxx ( ) ;
axy = getmaxy ( ) ;
unt med =maxy/2;
arco ( ;
etcolor
(15)
;
tte~txy(37,40,~~RELACI0NES
MATEMATICAS FUNDAMENTALESDE FM : I r ) ;
ttextxy(37,80,I1La siguiente relacion representa la signal modulada en
;
FM:
ttextxy(100,105,~1ú(t)= A cos (Wct + fi sen Wmt) 1 1 ) ;
tte~txy(37~125,~lDonde
fi es el indice de modulacion
y, Wc frecuencia de la port
ttextxy(37,145,11Para
signales FM de banda angosta&el
;para FM de banda ancha
ttextxy(100,170, = 6w / Wm
y
;
ttextxy(37,190,I1Donde 6w es la Desviacion de frecuenciay,Wm frecuencia modu
ttextxy(37,210,I1Desviacionde frecuencia : es la cantidad maximaque la frecue
ttextxy(37,23O,l1de oscilacion se desvia del valor promedio
Wc
ttext~y(37,250,~~Otro
parametro importante de la signal es la potencia:
tte~txy(100,275,~~P(frn)
= A>>/2 Donde A es la amplitud de la portadora . ' I ) ;
t t e x t ~ y ( 3 7 ~ 2 9 5 , ~ancho
~ E l de banda de la signal modulada
en FM,para el caso sen
ttext~y(37,315,~~Teoricamente
el ancho de banda
es infinitoruna buena aproximac
tte~txy(100,340,~~B
3 2(6w + Wm ) I t ) ;
tte~txy(37~360,~lAlgunas
de las aplicaciones tipicas son: Radiodifusion ,Radio
%color
(BLACK)
;
.ttextxy(maxx/2,maxy-lO,
"Press any key to continue")
;
tch0;
osegraph ( ) ;
,I)
I f ) ;
I ! ) ;
.................................................................
FUNCION PARA LA FM NO PERIODICA
..................................................................
id
no
FM pe(void)
"
initgraph
(&graphdriver,
&graphmode,
I f . . \\bgi");
maxx = getmaxx ( 1 ;
maxy = getmaxy ( ) ;
punt med =maxy/2;
marco ( ) ;
setcolor
(15)
;
tte~txy(37~40,~lTEORIA
SOBRE LA MODULACION NO-PERIODICA EN FM
tte~txy(37,80,~~Como
la modulacion en angulo un
es proceso no linea1,la descrip
tte~txy(37,100,~lta
del espectro de una signal moduladaFM,
en teniendo como si
tte~txy(37,120,~~ladora
una signal en general (no senoidal),resulta muy dificu
tte~txy(37,140,~lque
la transformada de furier de una signal general modulada
t t e ~ t x y ( 3 7 ~ 1 6 0 , ~puede
~ n o evaluarse.En casos especificos,la integracion puede e
ttextxy(37,180,I1en forma numerica
o en terminos de valores tabulados.Por
lo ta
ttextxy(37,2OOrt1lisis
se lleva a cabo sobre unas cuantas signales moduladoras,
ttextxy(37,220,111es se establecen restricciones referentes a la densidad e
ttextxy(37,240,IlHay dos mecanismos identificables
en la descripcion del espect
tte~txy(37,260,~~signal
FM.E1 primero se debe a la tasa de cambio
de la signal
ttextxy(37,280,1fes
decirla su contenido de frecuencia.El segundo,peculiar 1de
tte~txy(37,300,~~proporcionalidad
entre la amplitud de la signal moduladora
1 y
ttextxy(37,320,Ifinstantanea
de la signal deFM.
ttextxy(37,34Ot1IEnel caso senoidal el indice de modulacion
fi = sw/Wm ,da una
ttextxy(37,36Or1Ilativa
de la importancia de estos dos efectos
en FM.La ideade
ttextxy(37,38O,l1de modulacion puede extenderse a signales mas generales.pa
tte~txy(37,400,~~pulsante
en genera1,puede definirse una desviacion de frecuenc
ttext~y(37,420,~Iy
una duracionT;si la signal es periodica,entoncesT es el pe
ttextxy(rnaxx/2+100,maxy-30,
continua enseguida
;
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-l0, "Press any tokey
continue");
tch0 ;
eardevice ( ) ;
rco0 ;
tcolor
(15)
;
ttext~y(32,7O,~lEl
producto fil = (gw/2D)T es un numero adimenciona1,llamado ind
ttext~y(32,9O,~~persion,que
toma el lugar del indice de modulacion para signal
ttext~y(32,11O,~lcion
mas genera1es.E~facil ver que
fi1 tiende fi para modulacio
tte~txy(32,130,~lPara
indices de diepersion muy bajos,el contenido espectral d
ttext~y(32,150,~~moduladora
controla de manera principal la densidad espectral
ttextxy(32,170,11dices de dispersion muy altos, la magnitud
de la densidad espe
tte~txy(32,190,~~controlada
principalmente por la conversion de amplitud a fre
ttextxy(32,21or"efectosefectos de la fase no son tan predecibles porque dep
ttextxy(32,230,~lse relativa entre
signals.Il);
ttextxy(32,250,I1Para concluir con este analisis introductorio podemos argum
ttext~y(32,270,~1ente,corno
ya lo dijimos arriba no es posible evaluar la trans
ttextxy(32,29Of1Iurier
de una signal FM en genera1,por
lo que el analisis se re
tte~txy(32,310,~~noides
puras.Aunque estas son de poco interes
en comunicacione
tte~txy(32~330,~ltados
que se obtienen conducen a concluciones mas generales."
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-~O,
IIPress any key to continuelf)
;
tch0 ;
osegraph ( ) ;
: I f ) ;
I ! ) ;
It>>>
*************
> > > I 1 )
TEORIAS DE MODULACION
DIGITAL
......................
.........................................................................
TEORIA DE LA FUNCION
DIGITAL
..........................................................................
id TE0-DIG(void)
itgraph (&graphdriver, &graphmode,
. . \\bgi") ;
xx = getmaxx ( ) ;
xy = getmaxy ( 1 ;
rco0 ;
tcolor (15);
ttextxy(50,40,~~INTRODUCCION
TEORICA ACERCADE LA MODULACION DIGITAL:
tte~txy(50,80,~~
Para transmitir informacion digital
en un canal pasabanda,se
ttextxy(50,100,r~modular
la signal de banda base,esto ,se
es debe transferir la
tte~txy(50,120,~~cion
a una portadora de frecuencia apropiada.La informacion d
ttextxy(50,14O,"deser impresao aderida a una portadora en varias formas dif
tte~txy(50,160,~~gunas
tecnicas de modulacion digital mas comunmente usadas do
ttextxy(50,180,"formacion digital modifica la amplitud,la fase,
o la frecuenci
ttextxy(50,200,"portadoraen forma discreta
son:");
tte~txy(50~220,
La
~ ~modulacion en amplitud discreta,^ amplitude-shift keying
ttextxy(50,240,"mutacionde frecuencia,^ frecuency-shift keying (FSK),conmutac
ttextxy(50,260,"se,ophase-shift keying (PSK)
t t e ~ t x y ( 5 0 ~ 2 8 0 Ventajas
,~~
y desventajas que presenta el sistema de modulacion
ttextxy(50,300,"comparadocon el sistema de modulacion analogico:")
;
ttextxy(50,325,I1VENTAJAS:
a) Los errores por lo regular son correjidos");
ttextxy(50 , 345,
b) Lamanipulaciondelasignales
simplell) ;
ttext~y(50~370,~l
c) Es
posible
un
rango
dinamico
grande");
ttextxy(50,39O,"DESVENTAJAS:a) Generalmente requiere mayor ancho de banda");
ttextxy(50,410,
b)
Se
requiere
de
sincronizacion.
;
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-~O,
"Press any key to continue")
;
tch0;
osegraph ( ) ;
I!);
. I ! ) ;
'I)
******
FUNCION DE TEORIA DE ASK
id teo-ask(void)
....................
itgraph
(&graphdriver,
&graphmode,
' I . . \\bgi");
xx = getmaxxo ;
xy = getmaxy() ;
nt-med =maxy/2;
rco0 ;
etcolor
(15)
;
ttextxy(50,40,~~INTRODUCCION
TEORICA DELESQUEMA DE MODULACION DIGITAL ASK:
ttextxy(50,80,I1 En el esquema de modulacion digital (ASK), la amplitud de un
tte~txy(50,100,~~portadora
de alta frecuencia se conmuta entre o dos
mas valore
ttextxy(50,120,11puesta al codigo PCM.Para el caso binario, la eleccion usu
ttextxy(50,140,llmutacion (encendido-apagado). La signal moduladaen amplitud r
tte~txy(50,160,~~
consta de pulsos de RF,llamados marcas,que representan unos
ttextxy(50,180,I1y espacios que representan ceros binarios,en seguida se pr
ttextxy(50,200, "presion para la signal modulada:")
;
ttextxy(50,220,
Ú(t)
= D(t)
*(A*COS
Wc*t)
Donde
D(t)
es una
sig
tte~txy(50,240,~~sante
pasabajaSrque consiste de pulsos rectangulares con nivel
ttext~y(50,260,~~
D(t) = d(t - T)
;
ttext~y(50,280,~~
La probabilidad de error de la signal modulada es: ;
ttextxy(50,300, Pe
= Q (<<E/2*y)
. );
tte~txy(50,325,~~
Teoricamente el ancho de banda es infinito,pero para fines
p
t t e ~ t x y ( 5 0 ~ 3 4 5 , ~ancho
~ e l de banda,es un filtro pasabanda centrado en Wc.Del cu
tte~txy(50,370,~lsalidacontiene el 95% del promedio
de la potencia total. Se
.ttextxy(50,390,11puede mostrar que tal ancho de banda es aproximadamente
Hz
tcolor
(BLACK)
;
.ttextxy(maxx/2,maxy-10,
"Press any key to continue")
;
tch0 ;
I f ) ;
. ' I )
I'
osegraph ( )
;
id teo- fsk
(void)
itgraph
(&graphdriver,
&graphmode,
.\\bgi");
xx = getmaxx ( ) ;
xy = getmaxy ( ) ;
nt med =maxy/2;
rcEO ;
tcolor
(15)
;
ttextxy(50,40,r~INTRODUCCION
TEORICA DEL ESQUEMA
DE MODULACION DIGITAL FSK:
' I ) ;
tte~txy(50,80,~~
En el sistema de modulacion (FSK) la frecuencia instantanea de
tte~txy(50,100,~~nal
portadora se conmuta entre dos valores
,en respuesta al co
tte~txy(50,120,~~
Este esquema de modulacion digital cuenta uncon
amplio rango
ttextxy(50,140,~1caciones
en sistemas de transmicion de datos,a baja frecuencia
tte~txy(50,160,~~ferencia
se debe principalmente al desarroyo que ha tenido el
tte~txy(50,180,~len
las ultimas decadas,que resulta principalmente
en el uso de
ttext~y(50,20O,~~ladores
no-coherentes,~
la relativa facilidad de generar Sla
ttextxy(50,220,Ifro por otra parte no es tan eficiente como el esquema (PS
tte~txy(50,240,~'de
potencia y de su gran ancho de banda (del orden
2Rb).");
de
ttextxy(50,260,I1La signal modulada (FSK) binaria,se puede representar matema
ttextxy(50,280rf1Ú(t) = A*Cos[ Wc*t + Wd*l( D(t) dt + 6 ]
; y simbolo de int
ttextxy(50,300,11Donde D(t) es una signal binaria aleatoria con +1
niveles
y -1
ttextxy(50,325,11el angulo de fase de la portadora
t=O.");
para
tte~txy(50,345,~lLa
energia promedio por digito binario :esI ! ) ;
tte~txy(50,370,~~
E = A*T>>/2.
tte~txy(50~390,~~Entonces
la probabilidad de error
en el receptorqueda:Il);
tte~txy(50,410,~~
Pe = Q * [ <<E/yl .
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-~O,
"Press any key to continue")
;
tch0 ;
osegraph ( ) ;
I!.
I ! ) ;
..............................................................
TEORIA DE PSK
.................................................................
oid
TEO-PSK
(void)
itgraph ( &graphdriver,&graphmode , . .\\bgi ) ;
xx = getmaxx ( ) ;
xy = getmaxy ( ) ;
rco0 ;
tcolor
(15)
;
ttext~y(50,35,~~1NTRODUCC1ON
TEORICA DEL ESQUEMA
DE MODULACION DIGITAL PSK:' I ) ;
ttextxy(50,70,11 la modulacion de fase discreta
orphase-shiftkaying (PSK) eso
tte~txy(50,90,~lnica
de modulacion dispinible para la comunicacion de informaci
tte~txy(50,110,~~tal
sobre canales pasabanda.");
tte~txy(50,130,~~
Las signals sl(t) = - A*Cos Wc*t y s2(t) = A*Cos Wc*t ; Son
O y 1,respectivamente.El
tte~txy(50~150,~~das
para transportar digitos binarios
ttextxy(50,170,11banda requerido,para la signal
PSK,es el mismo para ASK 3Rb
Hz
tte~txy(50,190,~~
Pero la ventaja principal del esquema
PSK sobre el ASK, es su
tte~txy(50~210,~~miento
superior,bajo las mismas condiciones de potencia pico,
ttextxy(50,230,"el medio ambiente.
I!) ;
.ttextxy(50,250,11
La signal modulada (PSK),se puede representar matematicamente
.ttextxy(50,270,I1 Ú(t)= D(t)*(A*Cos Wc*t) ; Donde D(t) es una signal binaria
.ttextxy(50,290,Ircon periodo
Tb y niveles -1 y 1.Con la portadora conmutando en
II
ttextxy(50r315,"niveles + A y - A - " ) ;
ttextxy(50,335,"La potencia promedio de la signal es:
;
ttextxy(50,360,"
S = A>>/2. ;
ttextxy(50,380,"La Energia de la signal por e sbit
:") ;
E ttextxy(50,400,
= S*Tb.
;
ttextxy(50,420,"Laprobabilidad de error en terminos deS y E : I 1 ) ;
tte~txy(50,440,~~
Pe = Q (<<2E/y) ; y densidad
espectral
de
tcolor (BLACK) ;
ttextxy (maxx/2
,maxy-10, "Press any key to continue")
;
tch0 ;
osegraph ( ) ;
'I)
...............................................................
TEORIA DE QPSK
................................................................
id TE0-QPSK(void)
initgraph
(&graphdriver,
rnaxx = getmaxx ( ) ;
maxy = getmaxy 0 ;
&graphmode
, U . . \\bgi"
;
rco0 ;
tcolor
(15)
;
ttext~y(50,35,~~1NTRODUCC1ON
TEORICA DEL ESQUEMA
DE MODULACION DIGITAL QPSK:I I )
tte~txy(50,70,~~
En la modulacion (QPSK),se transmite una de cuatro posibles s
ttext~y(50~90,~Idurante
cada intervalo de simbolo Ts.Estas signals son las sigu
ttextxy(50,110,
=(<<PSI
S1 (t)
*cos Wc*t
tte~txy(50~130,~~
(t)
s2
= - (<<PSI
Wc*t
*Sen
ttext~y(50,150,~~
S3 (t) = - (<<PS)
Wc*t
*cos
ttextxy(50,170,
(t) s4
= (<<Ps)*Sen
Wc*t.
ttextxy(50,190,11 Estas signals corresponden a desfasamientos de 0%,90H,180Hy
2
tte~txy(50,210,~~se
muestra en el diagrama fasorial.
ttextxy(50,23Or1I
En la modulacion QPSK se transmiten simbolos
de dos digitos,l
tte~txy(50,250,~lcon
ello aumentar la velocidad de transmicion.La signal modula
ttextxy(50,275,I1Ú(t)= <<Ps* b-imp(t) * Sen Wot + <<Ps * b par(t) * Cos Wot
t t e ~ t x y ( 5 0 ~ 3 0 0 ,imp(t)
~~b
= p 1
; b_par(t) = p
' 1 ; <<Ps representa la amp1
tte~txy(50,320,~lla
portadora .Tales digitos son enviados a una frecuencia fb/2
ttextxy(50,340, "tanto
S-par (t)y S-imp(t) requieren de la mitad del ancho de b
tte~txy(50~360,~~querido
por PSK.La recepcion de QPSK se lleva a cabo a trav
ttextxy(5O,38Orf1ccion
sincrona.");
ttextxy(50,400,11 La probabilidad de error en el receptor para QPSK
;
es
ttextxy(50,420,"PeW 2*Q{ <<Es/y}
Donde Es es la energia por simbolo.
tcolor
(BLACK)
;
ttextxy(maxx/2,maxy-10, "Press any to key
continuell)
;
tch0 ;
osegraph ( ) ;
:I1)
BIBLIOGRAFIA
Sistemas de comunicación ..........................
B. P. LATH1
Editorial Interamericana.
Sistemas de comunicación...........................
F. G. STREMLER
Editorial Addison-Wesley Iberoamericana
Priciples of commnication systems................ TAUB - SCHILLING
Editorial McGraw-Hill international editions
modulacion digital( apuntes ............................ en
C. Fausto Casco Sanchez
M.en C. Ricardo MarcelínJ.
UAMI. julio 1991.
Descargar