beamUnspreadAdp {oce}R Documentation

Adjust ADP signal for spherical spreading

Description

Compensate ADP signal strength for spherical spreading

Usage

beamUnspreadAdp(x, count2db=c(0.45, 0.45, 0.45, 0.45),
asMatrix=FALSE, debug=getOption("oceDebug"))

Arguments

x

an object of class "adp"

count2db

a set of coefficients, one per beam, to convert from beam echo intensity to decibels.

asMatrix

a boolean that indicates whether to return a numeric matrix, as opposed to returning an updated object (in which the matrix is cast to a raw value).

debug

a flag that turns on debugging. Set to 1 to get a moderate amount of debugging information, or to 2 to get more.

Details

First, beam echo intensity is converted from counts to decibels, by multiplying by count2db. Then, the signal decrease owing to spherical spreading is compensated for by adding the term 20*log10(r), where r is the distance from the sensor head to the water from which scattering is occuring. r is given by x[["distance"]].

Value

An object of class "adp".

Author(s)

Dan Kelley

References

The coefficient to convert to decibels is a personal communication. The logarithmic term is explained in textbooks on acoustics, optics, etc.

See Also

See read.adp for other functions that relate to objects of class "adp".

Examples

library(oce)
data(adp)
plot(adp, which=5) # beam 1 echo intensity
adp.att <- beamUnspreadAdp(adp)
plot(adp.att, which=5) # beam 1 echo intensity
## Profiles
par(mar=c(4, 4, 1, 1))
a <- adp[["a", "numeric"]]             # second arg yields matrix return value
distance <- adp[["distance"]]
plot(apply(a,2,mean), distance, type='l', xlim=c(0,256))
lines(apply(a,2,median), distance, type='l',col='red')
legend("topright",lwd=1,col=c("black","red"),legend=c("original","attenuated"))
## Image
plot(adp.att, which="amplitude",col=oce.colorsJet(100))

[Package oce version 0.9-18 Index]