|
What is an FRD File?
A Frequency
Response Data file is a human readable text file that contains a numerical
description of Frequency and Phase Response. The purpose of an FRD file to
represent measurements or targets or corrections of acoustic items, like
loudspeakers and/or crossovers or room effects. The reason for using FRD files
is to pass information between different design programs and thus to get the
programs to share data and work together to achieve a complete finished design.
Structurally, an FRD file is very simple. An
* is placed in the first character position of any line that is a comment, so
the remainder of that line is ignored. Comments can only be added at the
beginning of an FRD file and not embedded once the data starts.
After
the comment, the data block is composed of three numerical values per
line separated by either one or more spaces or a tab. Each line is a single
measurement or value instance. The numerical values, in order, per line,
correspond to Frequency, Magnitude and Phase. The frequency data should start at
the low end of the response and proceed to the higher end with no directional
reversals or overlapping repeating regions in the frequency progression. That is
all. It should look something like this:
|
|
*
Seas T25-001.frd
* Freq(Hz) SPL(db) Phase(deg)
*
10 21.0963
158.4356
10.1517 21.0967 158.4363
10.3056 21.3305 158.7836
10.4619 21.5644 159.1299
10.6205 21.7983 159.2452
10.7816 22.032 159.3599
10.9451 22.2658 159.4099
11.1111 22.4996 159.4597
11.2796 22.7335 159.4832
11.4507 22.9672 159.5065
11.6243 23.2011 159.5171
11.8006 23.4349 159.5276
11.9795 23.6687 159.5308
12.1612 23.9025 159.534
Can you provide a more detailed
description of standard FRD format?
The comment
field mentioned above is sometimes required, even if the data in it is never
used, or at least we have encountered programs that will not load the FRD file
if the Comment field is not there. We have also found the opposite, programs
that get confused about the comment field and work better if there was none. In
general the comments are useful to the human reader and specific to the last
program to output the data. So box modelers may have the conditions used to
create the curve, like Vb, Driver name and T/S parameters, etc.
It is usually
better that the data blocks have boundaries on the numbers used. Although
Scientific Notation is permitted, it is usually better, more accurate and much
more readable if the numbers used have exactly four decimal places below the dot
(greater accuracy is really not helpful and less has been show to induce jitter
from Group Delay derived or other secondary processing). In addition, it greatly
simplified the operation of any subsequent program if the Frequency spacing is
even and progresses in a log spacing format. This tends to spread the samples
evenly over the frequency segment.
The Magnitude
number is log gain and in db values. The scale can be SPL @ wattage @ distance
format (hovering about 90) or a unity aligned offset (usually just above zero
for diffraction or starting at and diving below zero steeply for box models and
crossover functions). The Phase data is best if in degrees, from –180 to +180
wrapping.
In general,
there are good reasons to keep the frequency sampling density high enough to
accurately represent a complex waveform sequence (without losing detail) but not
so dense as to generate large amounts of extra sample data. Usually between 200
to 250 samples per decade, which is about 60 to 75 samples per octave, works
very well.
When processing
files and using the resultants, there are also good reasons to have the response
extend at least one octave and preferably 2 or more octaves beyond the region of
interest (above and below) so as to keep phase tracking error very low. This is
especially important when deriving Minimum Phase or Optimizing crossovers
downstream. A good standard to target is the internal default one of the Frequency
Response Combiner program, which was selected for those reasons above (sample
density and frequency extension) and for a close adherence to digital sound
cards sampling rates, and also that the sample set was easily sub-divided into
many equal sized integer count pieces (2, 3, 4, 6, 7, 8, 14, 16, 21, 24). The
FRC program default standard for internal FRD data calculation is 2 Hz to 96,000 Hz with 1176 equal log spaced samples or
about 251 samples per decade.
|
What is Rect Linear FRD?
In cases where
the FRD format is less efficient for capturing the data required to feed DSP
processing applications, a special extension version or variant of FRD can be used.
Rect Linear stands for Rectangular Coordinate with Linear Gain Coefficients and
Linear Frequency Spacing, meaning a real and imaginary value pair with a fixed
frequency increment from the lowest to the highest frequency.
The
Rect Linear FRD file format is very much like the Standard FRD fomat. Both formats use a
header with comment lines starting with an *, and both formats use a three
numeric values per line where the first value is Frequency in ascending order.
The Rect Linear
differs from Standard FRD format in three ways. First the header is very
specific to ID the file. The First line must say “Rect Linear”, the second
line is the Nyquist value, which can be 44100, 48000, 82000 or 96000, and the
third line is the number of samples in the format (2^N)+1, items being 8193 and
16385.
The second
difference is that Rect Linear files are linear spaced with the first value at 0
hz and the last value at Nyquist/2.
The third
difference is that the second and third values in each line are not Magnitude in
DB and Phase in Degrees. Instead, the second value is a linear gain Real and the
third value a linear gain Imaginary component of the Complex Mag/Phase for that
frequency. This format is closer to the format needed to generate correction
coefficients as used in DSP applications.
The coefficients in the two Rect Linear Real and Imaginary numbers need many
more digits to avoid round off error and scientific notion to capture the
smaller filter values without generating noise. In addition since the files are
over 8000 lines long, and have more digits, they tend to be much larger in size than regular FRD files.
* Rect Linear
* 44100
* 8193
0.00000 0.000000000000 0.000000000000
2.69165 -3.30454093E-06 7.07904974E-07
5.38330 -4.92655660E-05 2.21544924E-05
8.07495 -2.19974397E-04 1.61748430E-04
10.7666 -5.71355700E-04 6.44496291E-04
13.4583 -1.03112794E-03 1.82762835E-03
16.1499 -1.28991828E-03 4.14684195E-03
18.8416 -7.11036713E-04 8.00111500E-03
21.5332 1.71559875E-03 1.35805061E-02
24.2249 7.34962272E-03 2.06470295E-02
26.9165 1.77774487E-02 2.82850150E-02
|