Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
toolbox
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Institute of Technical Acoustics (ITA)
toolbox
Merge requests
!8
Clean up soundfield simulation related applications
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Clean up soundfield simulation related applications
clean_up_soundfield-simulation-related_applications
into
master
Overview
0
Commits
14
Changes
212
Merged
Philipp Schäfer
requested to merge
clean_up_soundfield-simulation-related_applications
into
master
6 years ago
Overview
0
Commits
14
Changes
212
Expand
Todo:
[ ] Increment version number to ensure setup is rerun to resolve path issues
Changes:
putting all sound field simulation classes/files in one folder
Numeric
VirtualAcoustics/Raven
VirtualAcoustics/diffraction
removing unsed applications/Numeric/SH folder
moved IniConfig to external_packages
clean up Raven folder
renamed load_ac3d to itaAc3dModel (backwards-compatible: load_ac3d now returns object of this class)
removed all xml related stuff (this can now be found in RAVEN-Installer)
Edited
6 years ago
by
Marco Berzborn
0
0
Merge request reports
Compare
master
version 4
22b9da1d
6 years ago
version 3
13fd0705
6 years ago
version 2
40b03eaa
6 years ago
version 1
d70cb2b3
6 years ago
master (base)
and
latest version
latest version
9ed32d44
14 commits,
6 years ago
version 4
22b9da1d
13 commits,
6 years ago
version 3
13fd0705
12 commits,
6 years ago
version 2
40b03eaa
11 commits,
6 years ago
version 1
d70cb2b3
8 commits,
6 years ago
212 files
+
75
−
3972
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
212
Search (e.g. *.vue) (Ctrl+P)
applications/Numeric/SH/@itaAudioMIMO/itaAudioMIMO.m deleted
100644 → 0
+
0
−
87
Options
classdef
itaAudioMIMO
<
itaAudio
% <ITA-Toolbox>
% This file is part of the ITA-Toolbox. Some rights reserved.
% You can find the license for this m-file in the license.txt file in the ITA-Toolbox folder.
% </ITA-Toolbox>
properties
(
Access
=
private
,
Hidden
=
true
)
mReceiverPosition
=
itaCoordinates
();
mReceiverUpVector
=
itaCoordinates
();
mReceiverViewVector
=
itaCoordinates
();
mSourcePosition
=
itaCoordinates
();
mSourceUpVector
=
itaCoordinates
();
mSourceViewVector
=
itaCoordinates
();
end
properties
(
Dependent
=
true
,
Hidden
=
false
)
nSources
nReceivers
end
properties
(
Dependent
=
true
,
Hidden
=
true
)
end
methods
function
this
=
itaAudioMIMO
(
varargin
)
this
=
this
@
itaAudio
(
varargin
{
1
}(
1
));
[
nReceivers
,
nSources
]
=
size
(
varargin
{
1
});
nSamplesOrBins
=
size
(
this
.
data
,
1
);
this
.
(
this
.
domain
)
=
zeros
(
nSamplesOrBins
,
nReceivers
,
nSources
);
channelNames
=
cell
(
nReceivers
,
nSources
);
for
iReceiver
=
1
:
nReceivers
for
iSource
=
1
:
nSources
if
varargin
{
1
}(
iReceiver
,
iSource
)
.
nChannels
>
1
error
(
'nur ein channel pro itaAudio. muss man anpassen wenn man was anderes will'
)
end
this
.
(
this
.
domain
)(:,
iReceiver
,
iSource
)
=
varargin
{
1
}(
iReceiver
,
iSource
)
.
(
this
.
domain
);
channelNames
(
iReceiver
,
iSource
)
=
varargin
{
1
}(
iReceiver
,
iSource
)
.
channelNames
;
end
end
this
.
channelNames
=
channelNames
;
end
function
res
=
source
(
this
,
iSource
)
res
=
this
;
dataSize
=
[
this
.
nReceivers
this
.
nSources
];
% use linear index because channelNames is always 1-D and data 2-D
linearIndex
=
sub2ind
(
dataSize
,
1
:
dataSize
(
1
),
iSource
*
ones
(
1
,
dataSize
(
1
)));
res
.
data
=
this
.
data
(:,
linearIndex
);
res
.
channelNames
=
this
.
channelNames
(
linearIndex
);
end
function
res
=
receiver
(
this
,
iReceiver
)
res
=
this
;
dataSize
=
[
this
.
nReceivers
this
.
nSources
];
% use linear index because channelNames is always 1-D and data 2-D
linearIndex
=
sub2ind
(
dataSize
,
iReceiver
*
ones
(
1
,
dataSize
(
2
)),
1
:
dataSize
(
2
));
res
.
data
=
this
.
data
(:,
linearIndex
);
res
.
channelNames
=
this
.
channelNames
(
linearIndex
);
end
function
nSources
=
get
.
nSources
(
this
)
nSources
=
size
(
this
.
(
this
.
domain
),
3
);
end
function
nReceivers
=
get
.
nReceivers
(
this
)
nReceivers
=
size
(
this
.
(
this
.
domain
),
2
);
end
end
end
\ No newline at end of file
Loading