<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000066">
Phil Harman wrote:<br>
<blockquote
cite="mid:89c23ecd861a8373542ae325d3101b55.squirrel@webmail.eftel.com"
type="cite">
<pre wrap="">Assuming your mic signal is a float, +/- 1.0 max.
- Create a complex signal from the mic signal
- Multiply I and Q by the required compression gain
- Calculate the envelope for each I&Q pair i.e. E = SQRT(I^2 + Q^2)
- if E > 1 then divide I by E.
- This divided signal becomes your new mic signal.
Really simple but really effective, and impossible to do using analog
techniques.
</pre>
</blockquote>
Hi Phil and Lyle,<br>
<br>
thanks indeed for your answers. Well, the method is indeed quite
simple, and it comes at a cost of only a few lines of code,<br>
given that anyway one has to transform the real audio input signal into
an analytic one before sending it to the quadrature<br>
mixer.<br>
<br>
Maybe (but I will read the original article) a sort of simple smoothing
filter perhaps should be applied to the scale factor,<br>
in order to avoid abrupt variations of the level... or maybe not, as
the clipping effect is what is needed...<br>
only careful listening (as always...) at the output of the filter will
tell...<br>
<br>
TNX<br>
<br>
73 Alberto I2PHD<br>
<br>
</body>
</html>
1263747966.0