Re: [linux-audio-dev] Rectifier algorithm and Exponential FM question

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Rectifier algorithm and Exponential FM question
From: Frank Barknecht (fbar_AT_footils.org)
Date: Tue May 06 2003 - 13:05:00 EEST


Hallo,
nickt hat gesagt: // nickt wrote:

> Sorry if this is the wrong list. I have never found a list with people
> who can help me with these kind of questions.

Check out the code archive on musicdsp.org.

> I am trying to figure out how a rectifier works in code. I have created
> something like it using tanh() distribution ( which will turn a sine
> wave into a sort-of-square wave). I can also achieve it with hard
> clipping/saturation. In the same sense I'd also like to know how a
> smooth operation works as well. I can not find any source code or
> explanations to help me figure out the algorithm yet.

Musicdsp has several examples and you also could take a look at
Steve's plugins. There are several ways to rectify a signal. The
hardest way is doing convolution with a matching impulse response. The
easiest way seems to be waveshaping: There you use a lookup table that
multiplies your input signal with values that smoothly approach 0 when
your signal approaches 1.

> My other question is how are exponential signals generated? I want to
> experiment with exponential FM. My only understanding of Exp. Fm is that
> it sweeps half down and full up ( at 440hz, it would sweep 220hz down
> and 880 hz up). I haven't much of an idea how this is achieved. How do I
> convert a sine wave into an exponential signal for Exp FM?

I don't quite understand this. To sweep the frequency, you just apply
a function on the frequency input. Simplified like
 
  out = sin(exp(freq))

ciao

-- 
 Frank Barknecht                               _ ______footils.org__


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue May 06 2003 - 13:15:51 EEST