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]