Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
ITABase
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Institute of Technical Acoustics (ITA)
ITABase
Commits
54a487bc
Commit
54a487bc
authored
Jun 02, 2017
by
Dipl.-Ing. Jonas Stienen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding amplitude spectrum
parent
ab335b4c
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
119 additions
and
1 deletion
+119
-1
CMakeLists.txt
CMakeLists.txt
+2
-0
include/ITAAmplitudeSpectrum.h
include/ITAAmplitudeSpectrum.h
+55
-0
src/ITAAmplitudeSpectrum.cpp
src/ITAAmplitudeSpectrum.cpp
+62
-0
src/ITAMagnitudeSpectrum.cpp
src/ITAMagnitudeSpectrum.cpp
+0
-1
No files found.
CMakeLists.txt
View file @
54a487bc
...
...
@@ -49,6 +49,7 @@ include_directories( "include" )
# files
set
(
ITABaseHeader
"include/ITAASCIITable.h"
"include/ITAAmplitudeSpectrum.h"
"include/ITABaseDefinitions.h"
"include/ITABlockMath.h"
"include/ITABufferedAudioFileWriter.h"
...
...
@@ -87,6 +88,7 @@ set( ITABaseHeader
)
set
(
ITABaseSources
"src/ITAASCIITable.cpp"
"src/ITAAmplitudeSpectrum.cpp"
"src/ITABlockMath.cpp"
"src/ITABufferedAudioFileWriter.cpp"
"src/ITAClock.cpp"
...
...
include/ITAAmplitudeSpectrum.h
0 → 100644
View file @
54a487bc
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2017
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef INCLUDE_WATCHER_ITA_AMPLITUDE_SPECTRUM
#define INCLUDE_WATCHER_ITA_AMPLITUDE_SPECTRUM
#include <ITABaseDefinitions.h>
#include <ITASpectrum.h>
//! Amplitude spectrum of arbitrary size and base frequencies
/**
* Class for amplitude spectra, that is intended to be used with linear values (gains).
*
* Will raise CITAException on errors.
*
* @sa CITAMAgnitudeSpectrum, CITAPhaseSpectrum, CITAHDFTSpectrum
*
*/
class
ITA_BASE_API
CITAAmplitudeSpectrum
:
public
CITASpectrum
{
public:
CITAAmplitudeSpectrum
(
const
int
nNumBands
);
virtual
inline
~
CITAAmplitudeSpectrum
()
{};
std
::
vector
<
float
>
GetAmplitudesCopy
()
const
;
const
std
::
vector
<
float
>&
GetAmplitudes
()
const
;
void
SetAmplitudes
(
const
std
::
vector
<
float
>&
vfAmplitudes
);
void
SetAmplitude
(
const
int
iFrequencyBandIndex
,
const
float
fAmplitudeValue
);
void
SetIdentity
();
void
SetZero
();
bool
IsIdentity
()
const
;
bool
IsZero
()
const
;
bool
CompareEqualValues
(
const
CITAAmplitudeSpectrum
&
oOtherSpectrum
,
const
float
fThreshold
=
10.0e-10
)
const
;
};
#endif // INCLUDE_WATCHER_ITA_AMPLITUDE_SPECTRUM
src/ITAAmplitudeSpectrum.cpp
0 → 100644
View file @
54a487bc
#
include
<
ITAAmplitudeSpectrum
.
h
>
#include <ITAConstants.h>
#include <numeric>
CITAAmplitudeSpectrum
::
CITAAmplitudeSpectrum
(
const
int
nNumBands
)
:
CITASpectrum
(
nNumBands
)
{
SetValueUnit
(
"factor"
);
}
std
::
vector
<
float
>
CITAAmplitudeSpectrum
::
GetAmplitudesCopy
()
const
{
return
CITASpectrum
::
GetValuesCopy
();
}
const
std
::
vector
<
float
>&
CITAAmplitudeSpectrum
::
GetAmplitudes
()
const
{
return
CITASpectrum
::
GetValues
();
}
void
CITAAmplitudeSpectrum
::
SetAmplitudes
(
const
std
::
vector
<
float
>&
vfAmplitudes
)
{
CITASpectrum
::
SetValues
(
vfAmplitudes
);
}
void
CITAAmplitudeSpectrum
::
SetAmplitude
(
const
int
iFrequencyBandIndex
,
const
float
fAmplitudeValue
)
{
CITASpectrum
::
SetValue
(
iFrequencyBandIndex
,
fAmplitudeValue
);
}
void
CITAAmplitudeSpectrum
::
SetIdentity
()
{
std
::
fill
(
m_vfValues
.
begin
(),
m_vfValues
.
end
(),
1.0
f
);
}
void
CITAAmplitudeSpectrum
::
SetZero
()
{
std
::
fill
(
m_vfValues
.
begin
(),
m_vfValues
.
end
(),
0.0
f
);
}
bool
CITAAmplitudeSpectrum
::
IsIdentity
()
const
{
for
(
size_t
n
=
0
;
n
<
m_vfValues
.
size
();
n
++
)
{
if
(
m_vfValues
[
n
]
!=
1.0
f
)
return
false
;
}
return
true
;
}
bool
CITAAmplitudeSpectrum
::
IsZero
()
const
{
for
(
size_t
n
=
0
;
n
<
m_vfValues
.
size
();
n
++
)
{
if
(
m_vfValues
[
n
]
!=
0.0
f
)
return
false
;
}
return
true
;
}
src/ITAMagnitudeSpectrum.cpp
View file @
54a487bc
...
...
@@ -60,4 +60,3 @@ bool CITAMagnitudeSpectrum::IsZero() const
return
true
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment