Design a filter given the magnitude / frequency array pair
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello all,
This might be a silly question but I could not find something online to help me find an answer.
I have the frequency response data of a transducer.
A small (fictional) example is as follows:
frequency = [100 1000 2000 3000]; % Frequency samples
responce = [120 100 80 30]; % Magnitude of transducer output in decibels at the previous frequency samples
I used the frd function to get the Frequency Response Data model
sysfrd = frd(responce,frequency,'Units','Hz');
Now the question is; if I have a time varying input signal, how do I compute the output signal of this transducer, given the transducer's frequency response? I'm not quite sure how to proceed with the frd object formulation.
Any help, or suggestions of a different approach, are greatly appreciated,
Thanks in advance,
A.
0 Kommentare
Antworten (1)
Star Strider
am 11 Mai 2017
Unfortunately, with a frd model, it seems you’re stuck with its myriad limitations. I experimented with options to recover transfer function data from it, convert it to a transfer function, state space representation, and everything else I could think of, including using lsim. No joy with any of these. I cannot figure any way to convert it to a more useful system object unless you have the System Identification Toolbox and can use those functions and begin afresh with a new approach. (I don’t use frd models for this reason.)
2 Kommentare
Star Strider
am 12 Mai 2017
My pleasure.
The only option I can suggest is the Signal Processing Toolbox invfreqz (link) function. It will return transfer function polynomials from your frequency data (assuming a linear system) that you can then use to create a tf object in the Control System Toolbox. From there, you have a much more versatile system that you can use with lsim.
That would be my approach.
Siehe auch
Kategorien
Mehr zu Model Interconnection finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!