Quantcast

Transmit clipper?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Transmit clipper?

Rob Janssen
I see that in the LocalTx there is an AudioClipper but its cliplevel is never set.
(or at least I cannot find where it is set)

Am I right that a clipper functionality can simply be obtained by getting some
config variable value and passing that to clipper->setClipLevel() in the Initialize
function around line 432 in LocalTx.cpp ?

Rob

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transmit clipper?

Tobias Blomberg
Hi Rob,

I guess you may already have tried it but yes, your assumption is correct.

It has been a long time since I implemented that code but I guess the
reasoning was that the audio output level should be adjusted with
sufficient head room to not overdrive the transmitter when clipped at 1.0.

I'd accept a pull request implementing a settable clipping level if you
supply it.

73's de SM0SVX / Tobias


On 2017-05-02 19:59, Rob Janssen wrote:

> I see that in the LocalTx there is an AudioClipper but its cliplevel is never set.
> (or at least I cannot find where it is set)
>
> Am I right that a clipper functionality can simply be obtained by getting some
> config variable value and passing that to clipper->setClipLevel() in the Initialize
> function around line 432 in LocalTx.cpp ?
>
> Rob
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Svxlink-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/svxlink-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transmit clipper?

Rob Janssen
Tobias Blomberg wrote:

> Hi Rob,
>
> I guess you may already have tried it but yes, your assumption is correct.
>
> It has been a long time since I implemented that code but I guess the
> reasoning was that the audio output level should be adjusted with
> sufficient head room to not overdrive the transmitter when clipped at 1.0.
>
> I'd accept a pull request implementing a settable clipping level if you
> supply it.
>
> 73's de SM0SVX / Tobias
>
Hi Tobias,

We have a new repeater that has no hardware clipper so it requires a bit lower clip
level to avoid overdeviation (below the internal audio level that has headroom for noise).

I have made this patch.  I still need to figure out how I can get access to make pull requests again.

*** svxlink/trx/LocalTx.cpp.orig        2017-03-23 10:06:02.000000000 +0100
--- svxlink/trx/LocalTx.cpp     2017-05-03 09:56:20.000000000 +0200
***************
*** 429,434 ****
--- 429,437 ----

       // Clip audio to limit its amplitude
     AudioClipper *clipper = new AudioClipper;
+   float clip_level = 1.0;
+   if (cfg.getValue(name, "CLIP_LEVEL", clip_level))
+     clipper->setClipLevel(clip_level);
     prev_src->registerSink(clipper, true);
     prev_src = clipper;

Rob

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel

clip_level.patch (486 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transmit clipper?

Tobias Blomberg
Thanks,

You also need to update the documentation in the manual page. That's the hard part :-)

73's de SM0SVX / Tobias

On 2017-05-13 13:47, Rob Janssen wrote:
Tobias Blomberg wrote:
Hi Rob,

I guess you may already have tried it but yes, your assumption is correct.

It has been a long time since I implemented that code but I guess the
reasoning was that the audio output level should be adjusted with
sufficient head room to not overdrive the transmitter when clipped at 1.0.

I'd accept a pull request implementing a settable clipping level if you
supply it.

73's de SM0SVX / Tobias


Hi Tobias,

We have a new repeater that has no hardware clipper so it requires a bit lower clip
level to avoid overdeviation (below the internal audio level that has headroom for noise).

I have made this patch.  I still need to figure out how I can get access to make pull requests again.

*** svxlink/trx/LocalTx.cpp.orig        2017-03-23 10:06:02.000000000 +0100
--- svxlink/trx/LocalTx.cpp     2017-05-03 09:56:20.000000000 +0200
***************
*** 429,434 ****
--- 429,437 ----

      // Clip audio to limit its amplitude
    AudioClipper *clipper = new AudioClipper;
+   float clip_level = 1.0;
+   if (cfg.getValue(name, "CLIP_LEVEL", clip_level))
+     clipper->setClipLevel(clip_level);
    prev_src->registerSink(clipper, true);
    prev_src = clipper;

Rob


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel
Loading...