Документация

This commit is contained in:
2019-11-25 16:57:54 +03:00
parent d6c1e42a26
commit cca2ab2f50
3 changed files with 154 additions and 26 deletions

View File

@@ -35,9 +35,9 @@ T degrees_to_radians( const T& degrees, typename std::enable_if< std::is_floatin
/*!
* \brief decibel_to_power Перевод из децибелов в мощность
* \param degrees Значение в градусах
* \return Значение в радианах
* \brief decibel_to_power Перевод из децибелов в мощность $y = 10^{db / 10}$
* \param db Децибелы
* \return Мощность
*/
template < typename T >
T decibel_to_power( T const& db )
@@ -47,7 +47,11 @@ T decibel_to_power( T const& db )
}
// y = 10 * \log(x)
/*!
* \brief power_to_decibel Перевод из мощности в децибелы по формуле $y = 10 * \log(x)$
* \param power Мощность
* \return Децибелы
*/
template < typename T >
T power_to_decibel( T const& power )
{
@@ -56,21 +60,28 @@ T power_to_decibel( T const& power )
}
// y = 10^{x / 20}
template < typename T >
T decibel_to_magnitude( T const& value )
/*!
* \brief decibel_to_power Перевод из децибелов в амплитуду $y = 10^{db / 20}$
* \param db Децибелы
* \return Амплитуда
*/template < typename T >
T decibel_to_magnitude( T const& db )
{
static_assert( std::is_arithmetic< T >::value, "Arithmetic type is required." );
return( std::pow( 10, value / 20.0 ) );
return( std::pow( 10, db / 20.0 ) );
}
// y = 10^{x / 20}
/*!
* \brief magnitude_to_decibel Перевод из амплитуды в децибелы по формуле $y = 20 * \log(x)$
* \param magnitude Амплитуда
* \return Децибелы
*/
template < typename T >
T decibel_to_magnitude( T const& value )
T magnitude_to_decibel( T const& magnitude )
{
static_assert( std::is_arithmetic< T >::value, "Arithmetic type is required." );
return( std::pow( 10, value / 20.0 ) );
return( 20 * std::log( magnitude ) );
}
} // namespace math