forked from Coastal-Imaging-Research-Network/cBathy-Toolbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpredictCSM.m
48 lines (41 loc) · 1.67 KB
/
predictCSM.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function q = predictCSM(kAlphaPhi, xyw)
% q = predictCSM(kAlphaPhi, xyw)
%
% compute complex cross-spectral matrix from wavenumber and direction,
% kAlpha for x and y lags in first 2 cols of xyw. Third column accounts
% for weightings.
%
% Input
% kalphaPhi = [k, alpha, phi], wavenumber (2*pi/L) and direction
% (radians) and phi is a phase angle (with no later utility)
% xyw, delta_x, delta_y, weight
%
% Output
% q, complex correlation q = exp(i*(kx*dx + ky*dy + phi))
% q is returned as a list of complex values but is returned as a single
% list of real, then imaginary coefficients.
kx = -kAlphaPhi(1).*cos(kAlphaPhi(2));
ky = -kAlphaPhi(1).*sin(kAlphaPhi(2));
phi = kAlphaPhi(3);
kxky = [kx,ky];
q=exp(sqrt(-1)*(xyw(:,1:2)*kxky' + repmat(phi,size(xyw,1),1))).*xyw(:,3);
q = [real(q); imag(q)];
%
% Copyright (C) 2017 Coastal Imaging Research Network
% and Oregon State University
% This program is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
% published by the Free Software Foundation, version 3 of the
% License.
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
% You should have received a copy of the GNU General Public License
% along with this program. If not, see
% <http://www.gnu.org/licenses/>.
% CIRN: https://coastal-imaging-research-network.github.io/
% CIL: http://cil-www.coas.oregonstate.edu
%
%key cBathy
%