Generate pole zero plot from measured impulse response

21 vues (au cours des 30 derniers jours)
WP
WP le 25 Déc 2017
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!

Réponses (1)

Sudheer Nuggehalli
Sudheer Nuggehalli le 2 Jan 2018
Modifié(e) : Sudheer Nuggehalli le 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:

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by