Back to FRD Consortium

 

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

 

"Conspiring to make your audio design programs work together" 

 

All Rights Reserved. Commercial use prohibited. 
Please contact frdc@pvconsultants.com for licensing information.