fcfwrite
Write file containing filter coefficients
Syntax
fcfwrite(h)
fcfwrite(h,filename)
fcfwrite(...,'fmt')
Description
fcfwrite(h)
writes a filter
coefficient ASCII file in a folder you choose, or your current MATLAB® working
folder. h
can be a single filter object or a vector
of filter objects. On execution, fcfwrite
opens
the Export Filter Coefficients to .FCF File dialog
box to let you assign a file name for the output file. You can choose
the destination folder within this dialog as well.
The default file name is untitled.fcf
. When
you have DSP System Toolbox™ software, you can use fcfwrite(h)
to
write filter coefficient files for multirate filters, adaptive filters,
and discrete-time filters.
fcfwrite(h,filename)
writes
the filter coefficients and general information to a text
file called filename
in your present MATLAB working
folder and opens the file in the MATLAB editor for you to review or
modify.
If you do not include a file extension in filename
, fcfwrite
adds
the extension fcf
to filename
.
fcfwrite(...,'fmt')
writes
the filter coefficients in the format specified by the input argument fmt
.
Valid fmt
values are hex
for
hexadecimal, dec
for decimal, or bin
for
binary representation of the filter coefficients.
Examples
To demonstrate fcfwrite
, create a fixed-point
IIR filter at the command line, and then write the filter coefficients
to a file named iirfilter.fcf
.
d=fdesign.lowpass; hd=design(d,'butter'); set(hd,'arithmetic','fixed'); fcfwrite(hd,'iirfilter.fcf');
Here is the output from fcfwrite
as it
appears in the MATLAB editor. Not shown here is the filename — iirfilter.fcf
as
specified and some comments at the top of the file.
% % % Coefficient Format: Decimal % % Discrete-Time IIR Filter (real) % ------------------------------- % Filter Structure : Direct-Form II, Second-Order % Sections % Number of Sections : 13 % Stable : Yes % Linear Phase : No % Arithmetic : fixed % Numerator : s16,13 -> [-4 4) % Denominator : s16,14 -> [-2 2) % Scale Values : s16,14 -> [-2 2) % Input : s16,15 -> [-1 1) % Section Input : s16,8 -> [-128 128) % Section Output : s16,10 -> [-32 32) % Output : s16,10 -> [-32 32) % State : s16,15 -> [-1 1) % Numerator Prod : s32,28 -> [-8 8) % Denominator Prod : s32,29 -> [-4 4) % Numerator Accum : s40,28 -> [-2048 2048) % Denominator Accum : s40,29 -> [-1024 1024) % Round Mode : convergent % Overflow Mode : wrap % Cast Before Sum : true SOS matrix: 1 2 1 1 -0.22222900390625 0.88262939453125 1 2 1 1 -0.19903564453125 0.68621826171875 1 2 1 1 -0.18060302734375 0.5303955078125 1 2 1 1 -0.1658935546875 0.40570068359375 1 2 1 1 -0.154052734375 0.305419921875 1 2 1 1 -0.14453125 0.22479248046875 1 2 1 1 -0.136962890625 0.16015625 1 2 1 1 -0.13092041015625 0.10906982421875 1 2 1 1 -0.126220703125 0.06939697265625 1 2 1 1 -0.12274169921875 0.0399169921875 1 2 1 1 -0.12030029296875 0.01947021484375 1 2 1 1 -0.118896484375 0.0074462890625 1 1 0 1 -0.0592041015625 0 Scale Values: 0.41510009765625 0.371826171875 0.33746337890625 0.3099365234375 0.287841796875 0.27008056640625 0.25579833984375 0.2445068359375 0.23577880859375 0.22930908203125 0.22479248046875 0.22216796875 0.47039794921875 1
To write two or more filters out to one file, provide the filters
as a vector to fcfwrite
:
fcfwrite([hd hd1 hd2])
Version History
Introduced in R2011a