R: Adjust ADP Signal for Spherical Spreading

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 `adp` object, i.e. one inheriting from `adp-class`.
`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` | an integer specifying whether debugging information is to be printed during the processing. This is a general parameter that is used by many `oce` functions. Generally, setting `debug=0` turns off the printing, while higher values suggest that more information be printed. If one function calls another, it usually reduces the value of `debug` first, so that a user can often obtain deeper debugging by specifying higher `debug` values.

### 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 occurring. 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

Other things related to `adp` data: `[[,adp-method`, `[[<-,adp-method`, `adp-class`, `adpEnsembleAverage`, `adp`, `as.adp`, `beamName`, `beamToXyzAdp`, `beamToXyzAdv`, `beamToXyz`, `binmapAdp`, `enuToOtherAdp`, `enuToOther`, `handleFlags,adp-method`, `plot,adp-method`, `read.ad2cp`, `read.adp.nortek`, `read.adp.rdi`, `read.adp.sontek.serial`, `read.adp.sontek`, `read.adp`, `read.aquadoppHR`, `read.aquadoppProfiler`, `read.aquadopp`, `rotateAboutZ`, `setFlags,adp-method`, `subset,adp-method`, `summary,adp-method`, `toEnuAdp`, `toEnu`, `velocityStatistics`, `xyzToEnuAdp`, `xyzToEnu`

### 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 1.0-1 Index]