Hi Linda

Some (possibly spurious) thoughts...

I'm confused about what you're actually trying to achieve by referencing things relative to 0dBFS (which is measure of signal level relative to digital full scale). You talk about frequency responses below, which are expressed in terms of gain/attenuation multipliers, not signal levels.

The main ways I can see signal level concerns entering into a frequency response is if you are concerned with:
(1) precision effects
(2) frequency response under saturation (a.k.a. certain signals in your filter exceeding 0dbFS)

Neither of these would result in a frequency response expressed in dbFS but they could result in 0dbFS being relevant, given a specific fixed-point / integer implementation of your algorithm.


On 18/01/2012 5:34 PM, Linda Seltzer wrote:
Those who know me personally know that my background in music DSP is via
the AT&T Labs / Bell Labs signal processing culture.  So for the first
time I have encountered the way recording studio engineers think about
measurements.  They plot frequency response graphs using dbSF on the Y
axis.

I presume that you mean dbFS here as in the subject line.

http://en.wikipedia.org/wiki/DBFS
(when the SOPA and PIPA protest ends)   

For an integer signal, full strength is the maximum representable (peak) signal value.

In my experience I do *not* believe that this is typically the way recording studio engineers work (e.g. with a ProTools system).

Usually levels are calibrated such that 0dBFS maps to +24db (dbV? dbU?) on the mixing console meters (or some other relatively high level that allows for plenty of headroom when recording).

If anything, based on my discussions with audio engineers, dBFS is a concept that comes out of computer digital audio/computer music and is actually quite alien to studio engineers.


Recording engineers are accustomed to the idea of dbSF because of the
analog mixes where the needle looked like it was pegging at 0dB.

You'll need to explain that.

Analog engineers *don't* expect 0dB to be a clipping level. You can drive an analog desk much hotter than what meters as 0dB.


The problem is what this means in signal processing.  My understanding is that
different manufactureres have different voltage levels that are assigned
as 0dB.  In signal processing we are not normally keeping track of what
the real world voltage level is out there.

I agree with this. There is indeed confusion in this area. In the analog domain I think you might find that there are standards about what voltage 0dB maps to (not my area either) (dbV?). On the other hand I'm not aware of any standards regarding the analog voltage level of 0dbFS -- perhaps there are in certain domains such as broadcast TV or film etc). On the contrary, in a music studio, my understanding is that the dbFS <-> voltage level mapping is something that is a matter of taste depending on how hard you want to drive your analog console (assuming say a ProTools desk connected to an analog console). But my understanding is that an offset of 0dbFS = between +16 and +24db is common -- perhaps someone else can cite some standards or conventions.


When I am looking at a signal in Matlab it is a number in linear sampling
from the lowest negative number to the highest negative number.  Or it is
normalized to 1.

I don't understand what you're asking here. Are you asking about floating point numbers? I don't think 0dbFS has a strict meaning in floating point. [-1.0, 1.0] by convention could be considered 0dbFS in floating point terms but you need to be careful how this maps to integers (if you care about the LSB, different systems use different float-int scalars).


I don't know how to translate from my plot of a frequency response in
Matlab to a graph using dbFS.

A frequency response is a representation of *gain/attenuation*. I'm don't see how this can be usefully expressed in dBFS (a measure of absolute signal level relative to the digital representation's limits).

I would think that simply expressing gain in dB would be correct.

On the other hand if you're considering precision and range within an integer DSP path perhaps you need to look at time domain response. 0dBFS could come into it with regard to response to a particular signal (eg perhaps a step response).


Perhaps you don't mean frequency response above, but rather *amplitude spectrum* in which case you could reference your levels off 0dbFS.


Visually a signal processing engineer
wouldn't think about the peaks as much as a recording engineer sitting at
a mixing console does.  I can see that from their point of view they are
worrying about the peaks because of worries about distortion.  A signal
processing engineer assumes that was already taken care of by the times
the numbers are in a Matlab data set.  The idea of plotting things based
on full scale is a bit out of the ordinary in signal processing because
many of our signals never approach full scale.

I agree. But if your digital system has limited dynamic range then it seems what you are being asked to do is plot the system response under saturation/clipping.


Telephone calls are different from rock music.

Sadly.


Any comments on this issue would be greatly appreciated.

Just my two cents. Take with salt.

Ross.

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to