generovanie FM
Igor Cesko
cesko
Středa Březen 17 12:03:23 CET 2004
Zdravim!
Omyl! Ten vzorecek je blbe :-( . Musime brat do uvahy okamzitu
frekvenciu a nie hned pocitat od casu t=0.
Vysvetlenie: pre velmi velky cas (t=vela) sa stane, ze zmena
frekvencie v jednom kroku (napr. z i=x do i=x+1) bude dostatocne
velka na to aby okamzita hodnota signalov frekvencie z kroku x a z
kroku x+1 bola uplne rozdielna. To je ako keby ste si nakreslili
frekvenciu f1=K a frekvenciu f2=K+0.005Hz (tych 0.005Hz
predstavuje zmenu frekvencie v jednom kroku z i=x na i=x+1)a po
dostatocne dlhom case zistite, ze tie dva signaly su rozidene.
Potom zalezi aj na malickom frekvencnom zdvihu - priebehy sa
mozu navzajom predbehnut o velmi vela period: vysledkom je
potom totalna nahoda - sum, ktory ste dostali.
Spravny vzorec asi nebude jednoduchy, lebo sa musi menit
"okamzita" frekvencia. Tusim, ze som to naposledy cital v knihe
"Moderni Radioelektronika" od BEN.
Algoritmicky by to islo asi tak, ze by sa k signalu so zmenenou
frekvenciou v kazdom kroku pripocital fazovy posun z
predchadzajuceho kroku starej frekvencie : ale to je len teraz tak
narychlo co ma napadlo - mozno je to blbost ;-).
S pozdravom
Igor
P.S.: Vcelku zaujimavy dotaz - musim to nastudovat z tej knihy
(ved z priebehu toho signalu sa odvadza frekvencne zlozenie FM-
signalu)
> Ten vzorecek je dobre, nevidim v nem chybu, nicmene vzpominam si, ze jsem mel jedou problem s tim, ze mi BorladC (tusim 3.neco) kompiloval tu matematiku podle dosti divokych klicu, jestli se pojede celociselne neco floatove. Nevim jak je to v pascalu, ale bud bych pretypoval vsude na float,
nebo predem definoval vsechny promenne tak, aby byly schopny chapat desetinna cisla. Taky bych zkusil prepsat ten vzorecek do tvaru A*sin((2*Pi*t*(fc+delta*mod(t)))/samples) - aby se nejdriv nasobilo a pak delilo, presneji, aby dilci vypocty vychazely ve vetsich cislech a nebyl problem se
zaokrouhlovanim...
>
> Jirka N.
>
> > -----Original Message-----
> > From: Puskajler Robert [mailto:robert.puskajler@telecom.sk]
> > Sent: Tuesday, April 17, 2001 9:34 AM
> > To: Multiple recipients of list
> > Subject: generovanie FM
> >
> >
> > Zdravim HW,
> >
> > v jednej aplikacii potrebujem generovat FM signal
> > (AM a PM generovanie mi funguje bez problemov),
> > pouzivam priblizne nasledovny algortimus:
> >
> > A ... amplituda vysledneho signalu
> > samples ... pocet vzoriek (1/vzorkovacia_frekvencia)
> > fc ... nosna frekvencia
> > delta ... frekvencny zdvih
> > mod(t) ... modulacny signal , vysledok <-1..0..+1>
> >
> > t:= 0;
> > repeat
> > F:= A * sin (2*pi*t/samples*(fc+delta*mod(t)));
> > inc(t);
> > until koniec
> >
> > aj pri modulacii s malym zdvihom (delta = 1 Hz) po
> > relativne kratkom case dostanem len sirokopasmovy sum ;-)
> >
> > budem vdacny za spravne nasmerovanie pripadne linky ...
> > (vyhladavace som uz skusil ...)
> >
> > vdaka,
> > robert
> >
> >
> >
>
-------------------------
Ing. Igor Cesko
Hardware & Software
http://www.cesko.host.sk
E-mail: cesko@internet.sk
Applied Precision Ltd.
Technicka 5
821 04 Bratislava
SLOVAKIA
Tel,Fax: +421-7-4342 6628
Tel: +421-7-4363 3151
Tel: +421-7-4333 7340
E-mail: info@appliedp.sk
Web: http://www.appliedp.sk
-------------------------
Další informace o konferenci Hw-list