DSPRelated.com
Forums

FSK modulated wave file

Started by pal.debabrata123 June 27, 2007
Steve Underwood wrote:

   ...

> Like any recursive oscillator, this one has the potential to wander. I > turned to using DDS wherever possible, so I never have to worry about that.
Scratch "any". Replace with "most". Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Hi Jerry,

Jerry Avins wrote:
> Steve Underwood wrote: > > ... > >> Like any recursive oscillator, this one has the potential to wander. I >> turned to using DDS wherever possible, so I never have to worry about >> that. > > Scratch "any". Replace with "most". > > Jerry
Can you name one with guaranteed stability? I don't mean one of the complex schemes people produce with stabilising add ons to the basic oscillator scheme, but one which has inherent stability? Steve
>Hi Jerry, > >Jerry Avins wrote: >> Steve Underwood wrote: >> >> ... >> >>> Like any recursive oscillator, this one has the potential to wander. I
>>> turned to using DDS wherever possible, so I never have to worry about
>>> that. >> >> Scratch "any". Replace with "most". >> >> Jerry > >Can you name one with guaranteed stability? I don't mean one of the >complex schemes people produce with stabilising add ons to the basic >oscillator scheme, but one which has inherent stability? > >Steve >
Hi Steve, Somehow I believe if the max amplitude is far below than maximum, even this oscillator cannot diverge. I really wish to have a root locus analysis , i.e. the location of poles as the gain goes up. My problem with look up tables id that we have limited local RAM space, and a highly loaded SDRAM. I will prefer to do this by code . Are you saying the "potential to wander" is potentially true for gain == 0.5 , say.
pal.debabrata123 wrote:
>> Hi Jerry, >> >> Jerry Avins wrote: >>> Steve Underwood wrote: >>> >>> ... >>> >>>> Like any recursive oscillator, this one has the potential to wander. I > >>>> turned to using DDS wherever possible, so I never have to worry about > >>>> that. >>> Scratch "any". Replace with "most". >>> >>> Jerry >> Can you name one with guaranteed stability? I don't mean one of the >> complex schemes people produce with stabilising add ons to the basic >> oscillator scheme, but one which has inherent stability? >> >> Steve >> > Hi Steve, > > Somehow I believe if the max amplitude is far below than maximum, even > this oscillator cannot diverge. I really wish to have a root locus > analysis , i.e. the location of poles as the gain goes up. My problem with > look up tables id that we have limited local RAM space, and a highly loaded > SDRAM. I will prefer to do this by code . > Are you saying the "potential to wander" is potentially true for gain == > 0.5 , say.
If the gain of an oscillator is 0.5, how does it oscillate in a sustained way? Do you mean an output level which is half of maximum? It would appear stable oscillation requires a gain of 1.0, precisely. Because the calculations are recursive, rounding, truncation or whatever nasties happen to each sample roll on to the next one. For most filters this is no big deal, unless the error is big. For an oscillator, any errors that might keep nudging in the same direction are dangerous. Fortunately, in most circumstances the errors tend to jump around in a way that is fairly balanced long term. Thus, things average to a gain of exactly 1.0. However, it is usually possible to find some combinations of start conditions that lead to the oscillator drifting well off before it settles into one of these long term balanced modes. Steve
Steve Underwood wrote:
> Hi Jerry, > > Jerry Avins wrote: >> Steve Underwood wrote: >> >> ... >> >>> Like any recursive oscillator, this one has the potential to wander. >>> I turned to using DDS wherever possible, so I never have to worry >>> about that. >> >> Scratch "any". Replace with "most". >> >> Jerry > > Can you name one with guaranteed stability? I don't mean one of the > complex schemes people produce with stabilising add ons to the basic > oscillator scheme, but one which has inherent stability?
The add-on I have in mind id three lines of code, fewer than 10 machine instructions. I wouldn't call it complex, but it has the limitation that if the amplitude isn't 1.0, post scaling is needed. (You get quadrature outputs. I've posted the code before.) Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
pal.debabrata123 wrote:
>> Hi Jerry, >> >> Jerry Avins wrote: >>> Steve Underwood wrote: >>> >>> ... >>> >>>> Like any recursive oscillator, this one has the potential to wander. I > >>>> turned to using DDS wherever possible, so I never have to worry about > >>>> that. >>> Scratch "any". Replace with "most". >>> >>> Jerry >> Can you name one with guaranteed stability? I don't mean one of the >> complex schemes people produce with stabilising add ons to the basic >> oscillator scheme, but one which has inherent stability? >> >> Steve >> > Hi Steve, > > Somehow I believe if the max amplitude is far below than maximum, even > this oscillator cannot diverge. I really wish to have a root locus > analysis , i.e. the location of poles as the gain goes up. My problem with > look up tables id that we have limited local RAM space, and a highly loaded > SDRAM. I will prefer to do this by code . > Are you saying the "potential to wander" is potentially true for gain == > 0.5 , say.
You can't avoid numerical issues the waveform will be multiplied by exp(At). No code without feedback can guarantee that A = 1.0000000000000000 and not 1.0000000000000001 or .9999999999999999. Appropriate feedback is fairly simple. Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
On Fri, 06 Jul 2007 12:27:38 -0400, Jerry Avins <jya@ieee.org> wrote:

>Steve Underwood wrote: >> Hi Jerry, >> >> Jerry Avins wrote: >>> Steve Underwood wrote: >>> >>> ... >>> >>>> Like any recursive oscillator, this one has the potential to wander. >>>> I turned to using DDS wherever possible, so I never have to worry >>>> about that. >>> >>> Scratch "any". Replace with "most". >>> >>> Jerry >> >> Can you name one with guaranteed stability? I don't mean one of the >> complex schemes people produce with stabilising add ons to the basic >> oscillator scheme, but one which has inherent stability? > >The add-on I have in mind id three lines of code, fewer than 10 machine >instructions. I wouldn't call it complex, but it has the limitation that >if the amplitude isn't 1.0, post scaling is needed. (You get quadrature >outputs. I've posted the code before.) > >Jerry
But a DDS is also quite simple, even in software. Other than the memory requirement for the DDS LUT, I'm guessing instruction wise they're similar or a DDS is more efficient. I'd think it'd be tough to say one is inherently better than the other. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org
Eric Jacobsen wrote:
> On Fri, 06 Jul 2007 12:27:38 -0400, Jerry Avins <jya@ieee.org> wrote: > >> Steve Underwood wrote: >>> Hi Jerry, >>> >>> Jerry Avins wrote: >>>> Steve Underwood wrote: >>>> >>>> ... >>>> >>>>> Like any recursive oscillator, this one has the potential to wander. >>>>> I turned to using DDS wherever possible, so I never have to worry >>>>> about that. >>>> Scratch "any". Replace with "most". >>>> >>>> Jerry >>> Can you name one with guaranteed stability? I don't mean one of the >>> complex schemes people produce with stabilising add ons to the basic >>> oscillator scheme, but one which has inherent stability? >> The add-on I have in mind id three lines of code, fewer than 10 machine >> instructions. I wouldn't call it complex, but it has the limitation that >> if the amplitude isn't 1.0, post scaling is needed. (You get quadrature >> outputs. I've posted the code before.) >> >> Jerry > > But a DDS is also quite simple, even in software. Other than the > memory requirement for the DDS LUT, I'm guessing instruction wise > they're similar or a DDS is more efficient. I'd think it'd be tough > to say one is inherently better than the other.
The OP says he doesn't want a LUT. Of course there's no One Best Way. As an aside, there is a quadrature oscillator that doesn't blow up or die out even without feedback. It does wander, and one cycle isn't exactly like the next, but its nearly circular Lissajous pattern closes after several cycles. (How many cycles depends on the word size and perhaps the initial conditions. I used to use it with 16-bit Forth on 8-bit processors for moving two-axis stepper motor tables along circular paths. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
Jerry Avins <jya@ieee.org> writes:

> As an aside, there is a quadrature oscillator that doesn't blow up or > die out even without feedback. It does wander, and one cycle isn't > exactly like the next, but its nearly circular Lissajous pattern > closes after several cycles. (How many cycles depends on the word size > and perhaps the initial conditions.
I'd really like to see that, Jerry. -- % Randy Yates % "The dreamer, the unwoken fool - %% Fuquay-Varina, NC % in dreams, no pain will kiss the brow..." %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Eldorado Overture', *Eldorado*, ELO http://home.earthlink.net/~yatescr
Randy Yates wrote:
> Jerry Avins <jya@ieee.org> writes: > >> As an aside, there is a quadrature oscillator that doesn't blow up or >> die out even without feedback. It does wander, and one cycle isn't >> exactly like the next, but its nearly circular Lissajous pattern >> closes after several cycles. (How many cycles depends on the word size >> and perhaps the initial conditions. > > I'd really like to see that, Jerry.
I'll try to reconstruct it over the next few days. As I wrote, the oscillator produces quadrature outputs. Plotting one against the other generates an annulus a few pixels wide. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;