Next  |  Prev  |  Up  |  Top  |  REALSIMPLE Top

Notes regarding invfreqsmethod listing in Fig.19:

Figure 20: Listing of matlab function minphaseir for converting an impulse response to its minimum-phase counterpart.

 
function [hmp] = minphaseir(h) 
%
% MINPHASEIR - Convert a real impulse response to its 
%              minimum phase counterpart
% USAGE:
%       [hmp] = minphaseir(h) 
% where
%   h   = impulse response (any length - will be zero-padded)
%   hmp = min-phase impulse response (at zero-padded length)

nh = length(h);
nfft = 2^nextpow2(5*nh);
Hzp = fft(h,nfft);
Hmpzp = exp( fft( fold( ifft( log( clipdb(Hzp,-100) )))));
hmpzp = ifft(Hmpzp);
hmp = real(hmpzp(1:nh));

In summary, a second-order analog transfer-function was fit to each RTFMT-measured frequency response using invfreqs in Octave. Closed-form expressions relating the returned coefficients to $Q$, peak-frequency, and peak-gain were used to obtain these parameters.


Next  |  Prev  |  Up  |  Top  |  REALSIMPLE Top

Download faust_strings.pdf

``Making Virtual Electric Guitars and Associated Effects Using Faust'', by Julius O. Smith III,
REALSIMPLE Project — work supported in part by the Wallenberg Global Learning Network .
Released 2013-08-22 under the Creative Commons License (Attribution 2.5), by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA