Generate pole zero plot from measured impulse response
20 views (last 30 days)
Show older comments
Hello everybody,
I want to generate a pole zero plot from a measured impulse response (imported via audioread). I only find examples to generate pole zero plots for very simple filters with known differential equations. Maybe you can point me in the right direction or give an example.
Thank you very much in advance!
0 Comments
Answers (1)
Sudheer Nuggehalli
on 2 Jan 2018
Edited: Sudheer Nuggehalli
on 2 Jan 2018
One possible way to do this is to use the "pzmap" function on the measured impulse response data imported via "audioread". However, since "pzmap" requires a Dynamic System Model, sys, as an input, the measured impulse response data needs to be converted into a Dynamic System Model object. One way to do this is to use the "iddata" and "tfest" functions. Below is some code that can get you started:
[y,Fs] = audioread(filename);
data = iddata(y,[],Ts); % where Ts = 1/Fs
sys = tfest(data,np); % where np is the number of poles
pzmap(sys)
Refer to the documentation links below for more information about each of these functions and examples of how they are used:
0 Comments
See Also
Categories
Find more on Transfer Function Models in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!