Generate pole zero plot from measured impulse response

20 visualizaciones (últimos 30 días)
WP
WP el 25 de Dic. de 2017
Editada: Sudheer Nuggehalli el 2 de En. de 2018
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!

Respuestas (1)

Sudheer Nuggehalli
Sudheer Nuggehalli el 2 de En. de 2018
Editada: Sudheer Nuggehalli el 2 de En. de 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:

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by