Red Hat Bugzilla – Bug 179242
freqz() function does not work for FIR filters
Last modified: 2007-11-30 17:11:22 EST
Description of problem:
feqz() should plot frequency and phase response of a filter
described by its coefficients.
In case of IIR filters, two sets of vectors are given, "b" and "a".
freqz(b,a) plots correctly the response.
In case of FIR filters only the "b" vector is give, but freqz(b) fails.
The help page explain this should be possible (and it was in the past).
Version-Release number of selected component (if applicable):
Always reproducible, by simply trying to plot the
freq and phase response of zero only filters.
Steps to Reproduce:
# any filter design
# this could be also something like: [b,a]=ellip(7, 0.1, 60);
b=remez(10, [0 1], [1 0]);
error: quotient: nonconformant arguments (op1 is 1x512, op2 is 512x1)
error: evaluating binary operator `./' near line 141, column 10
error: evaluating assignment expression near line 141, column 5
error: called from `freqz' in file `/usr/share/octave/2.1.72/m/signal/freqz.m'
The usual plot of frequency and phase response.
Created attachment 123876 [details]
Replacement for the existing file /usr/share/octave/2.1.72/m/signal/freqz.m
This bug was apparently introduced in the 2.1.71 release, and has already been
fixed in the CVS octave sources. This will be fixed in the next release. If you
need this fixed right now, I have attached the fixed freqz.m file, which you can
manually copy to the correct location or into your octave path.