Hello,
I need a block that function as a Logartihmic Amplifier for a sound level meter desing in simulink.
I tried ussing the Amplifier block, but i dont know how to adapt it to my needs.

 Réponse acceptée

Daniel
Daniel le 27 Mar 2023

0 votes

If you just want to implement this generically, it shouldn't be hard to build up from the mathematical definition.
  1. Divide Vin by Vref with a Divide block or a Gain block. The block output is Vin/Vref.
  2. Take the log of the output with a Log block. The block output is ln(Vin/Vref).
  3. Multiply by K with a Gain block. The block output is K*ln(Vin/Vref).
If you want that to look pretty, you can package it in a subsystem, and perhaps create a mask to define K and Vref.

3 commentaires

Federico
Federico le 27 Mar 2023
Thanks for your answer.
I attached the .slx code so you can see why the divide block wouldnt work for me, i dont have 2 impunt.
I look forward to your suggestions
Daniel
Daniel le 28 Mar 2023
You can use a Gain block in that case, which has one input and one parameter.
You can also use Constant blocks to create non-varying signals.
Federico
Federico le 28 Mar 2023
Thanks ! Ill try that and will get back to you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by