rework simulink + initialize scripts
This commit is contained in:
parent
3a25230498
commit
7a025197fc
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,5 @@
|
||||
sim_data/
|
||||
|
||||
auto/
|
||||
*.tex
|
||||
*.bbl
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,19 +0,0 @@
|
||||
run('identif_setup.m');
|
||||
|
||||
%%
|
||||
Kiff_g1 = (1/(s + 2*pi*40))*... % Low pass filter (provides integral action above 40Hz)
|
||||
(s/(s + 2*pi*30))*... % High pass filter to limit low frequency gain
|
||||
(1/(1 + s/2/pi/500))*... % Low pass filter to be more robust to high frequency resonances
|
||||
eye(6); % Diagonal 6x6 controller
|
||||
|
||||
Kiff = c2d(Kiff_g1, Ts, 'tustin');
|
||||
|
||||
%%
|
||||
save('./frf_data.mat', 'Fs', ...
|
||||
'Ts', ...
|
||||
'Tsim', ...
|
||||
'Trec_start', ...
|
||||
'Trec_dur', ...
|
||||
'V_exc', ...
|
||||
'V_off', ...
|
||||
'Kiff');
|
7
matlab/init_hac_iff.m
Normal file
7
matlab/init_hac_iff.m
Normal file
@ -0,0 +1,7 @@
|
||||
%% HAC
|
||||
load('mat/Khac_iff_struts.mat', 'Khac_iff_struts');
|
||||
save('sim_data/Khac_iff_struts.mat', 'Khac_iff_struts');
|
||||
|
||||
%% Jacobian
|
||||
load('mat/jacobian.mat', 'J');
|
||||
save('sim_data/J.mat', 'J');
|
5
matlab/init_iff.m
Normal file
5
matlab/init_iff.m
Normal file
@ -0,0 +1,5 @@
|
||||
%%
|
||||
load('mat/Kiff.mat', 'Kiff');
|
||||
|
||||
%%
|
||||
save('sim_data/Kiff.mat', 'Kiff');
|
@ -7,18 +7,18 @@ s = zpk('s');
|
||||
addpath('./src/');
|
||||
|
||||
%% Simulation configuration
|
||||
Fs = 10e3; % Sampling Frequency [Hz]
|
||||
Fs = 5e3; % Sampling Frequency [Hz]
|
||||
Ts = 1/Fs; % Sampling Time [s]
|
||||
|
||||
%% Data record configuration
|
||||
Trec_start = 5; % Start time for Recording [s]
|
||||
Trec_dur = 100; % Recording Duration [s]
|
||||
Trec_start = 10; % Start time for Recording [s]
|
||||
Trec_dur = 600; % Recording Duration [s]
|
||||
|
||||
Tsim = 2*Trec_start + Trec_dur; % Simulation Time [s]
|
||||
|
||||
%% Security
|
||||
u_min = -1;
|
||||
u_max = 6;
|
||||
u_max = 7.5;
|
||||
|
||||
%% Shaped Noise
|
||||
V_noise = generateShapedNoise('Ts', 1/Fs, ...
|
||||
@ -58,7 +58,7 @@ V_sweep_lf = generateSweepExc('Ts', Ts, ...
|
||||
[b,a] = cheby1(10, 2, 2*pi*[240 2e3], 'bandpass', 's');
|
||||
wL = 0.005*tf(b, a);
|
||||
|
||||
V_noise_hf = generateShapedNoise('Ts', 1/Fs, ...
|
||||
V_noise_hf = generateShapedNoise('Ts', Ts, ...
|
||||
'V_mean', 0, ...
|
||||
't_start', Trec_start, ...
|
||||
'exc_duration', Trec_dur, ...
|
||||
@ -85,8 +85,16 @@ V_sin = generateSinIncreasingAmpl('Ts', 1/Fs, ...
|
||||
't_start', Trec_start, ...
|
||||
'smooth_ends', true);
|
||||
|
||||
%% Offset Voltage for all APA
|
||||
%% Zero Voltage
|
||||
V_zero = generateShapedNoise('Ts', 1/Fs, ...
|
||||
'V_mean', 0, ...
|
||||
't_start', Trec_start, ...
|
||||
'exc_duration', Trec_dur, ...
|
||||
'smooth_ends', true, ...
|
||||
'V_exc', tf(0));
|
||||
|
||||
%% Offset Voltage for all APA
|
||||
V_zero_off = generateShapedNoise('Ts', 1/Fs, ...
|
||||
'V_mean', 3.25, ...
|
||||
't_start', Trec_start, ...
|
||||
'exc_duration', Trec_dur, ...
|
||||
@ -94,8 +102,8 @@ V_zero = generateShapedNoise('Ts', 1/Fs, ...
|
||||
'V_exc', tf(0));
|
||||
|
||||
%% Select the excitation signal and offset voltage
|
||||
V_exc = timeseries(V_noise(2,:), V_noise(1,:));
|
||||
V_off = timeseries(V_zero(2,:), V_zero(1,:));
|
||||
V_exc = timeseries(V_zero(2,:), V_zero(1,:));
|
||||
V_off = timeseries(V_zero_off(2,:), V_zero_off(1,:));
|
||||
|
||||
%% Plot
|
||||
figure;
|
||||
@ -114,4 +122,4 @@ set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||
xlim([1, Fs/2]); ylim([1e-10, 1e0]);
|
||||
|
||||
%% Save data that will be loaded in the Simulink file
|
||||
save('./frf_data.mat', 'Fs', 'Ts', 'Tsim', 'Trec_start', 'Trec_dur', 'V_exc');
|
||||
save('sim_data/data_sim.mat', 'Fs', 'Ts', 'Tsim', 'Trec_start', 'Trec_dur', 'V_exc');
|
Loading…
Reference in New Issue
Block a user