# How does freqresp work with systems with internal delays?

1 visualizzazione (ultimi 30 giorni)
Philippe De Rua il 21 Dic 2022
Commentato: Philippe De Rua il 22 Dic 2022
With non-delayed systems, freqresp relies on an Hessenberg form of matrix A to accelerate the inverse operation, as described in the freqresp documentation. When systems include internal delays, as described for instance in the setdelaymodel documentation, more operations are required, and the inversion concerns a matrix that involves itself matrix inversions. Could you please provide an explanation on how freqresp deals with systems with internal delays, and tell whether and where Hessenberg forms are used? Thank you.
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Paul il 21 Dic 2022
Hi Philippe,
As best I can tell, the functional process is as follows. Referring to diagram under the "Description" of setDelayModel ...
1. Compute the frequency response of H in the usual way with H represented as an ordinary ss model. Here, the conversion to Hessenberg form would be used as normal. Call this result H(jw)
2. Compute the frequency response of the diagonal block of delays. Call this result D(jw).
3. Close the feedback loop of H(jw) and D(jw) in the usual way for all points in the frequency vector.
Unfortunately, steps 2 and 3 are hidden in mex file with no help or documenation, so the details of the implementation are unknown.
Example:
sys = feedback(tf(1,[1 1]),tf(1,1,'InputDelay',0.1)); % system with internal delay
[sysresp,w] = freqresp(sys); % its frequency response
% "by hand" computations
sysd = getDelayModel(sys);
H = frd(freqresp(ss(sysd.A,sysd.B,sysd.C,sysd.D),w),w);
D = frd(exp(-1j*0.1*w),w);
SYSresp = feedback(H,D,2,2,1);
SYSresp = SYSresp(1,1);
subplot(211)
semilogx(w,db(abs(squeeze(sysresp))),w,db(abs(squeeze(SYSresp.ResponseData))),'o')
subplot(212);
semilogx(w,180/pi*(angle(squeeze(sysresp))),w,180/pi*(angle(squeeze(SYSresp.ResponseData))),'o')
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Philippe De Rua il 22 Dic 2022
Thank you Paul, this is insightful and makes perfect sense. Thank you also for the example, very clear.

Accedi per commentare.

### Categorie

Scopri di più su MATLAB in Help Center e File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by