MATLAB Examples

# Assess the Damping Ratio of a Flutter Suppression System

Using a custom criteria script, verify that wing oscillations are damped in multiple altitude and airspeed conditions.

## The Simulation and Model

The model uses Simscape™ to simulate a Benchmark Active Controls Technology (BACT) / Pitch and Plunge Apparatus (PAPA) setup. It uses Aerospace Blockset™ to simulate aerodynamic forces on the wing.

The test iterates over 16 combinations of Mach and Altitude. The test case uses custom criteria with Curve Fitting Toolbox™ to find the peaks of the wing pitch, and determine the damping ratio. If the damping ratio is not greater than zero, the assessment fails.

Running this test case requires

• Simscape Multibody™
• Aerospace Blockset™
• Curve Fitting Toolbox™

Open the model and the test file.

```open_system(fullfile(matlabroot,'examples','simulinktest',... 'sltestFlutterSuppressionSystemExample.slx')) ```
```open(fullfile(matlabroot,'examples','simulinktest',... 'sltestFlutterCriteriaTest.mldatx')) ```

## Custom Criteria Script

The test case custom criteria uses this script to verify that the damping ratio is greater than zero.

```% Get time and data for pitch
Time = test.sltest_simout.get('sigsOut').get('pitch').Values.Time(1:15000);
Data = test.sltest_simout.get('sigsOut').get('pitch').Values.Data(1:15000);
```
```% Find peaks
[~, peakIds] = findpeaks(Data,'minpeakheight', 0.002, 'minpeakdistance', 50);
peakTime= Time(peakIds);
peakPos = Data(peakIds);
rn = peakPos(1)./peakPos(2:end);
L = 1:length(rn);
```
```% Do curve fitting
fittedModel = exponentialFitAndPlot(L, rn);
delta = fittedModel.d;
```
```% Find damping ratio
dRatio = delta/sqrt((2*pi)^2+delta^2);
```
```% Make sure damping ratio is greater than 0
test.verifyGreaterThan(dRatio,0,'Damping ratio must be greater than 0');
```

## Test Results

Running the test case returns two conditions in which the damping ratio is greater than zero.

```results = sltest.testmanager.run ```
```results = ResultSet with properties: Name: 'Results: 2018-Aug-10 22:10:12' NumPassed: 14 NumFailed: 2 NumDisabled: 0 NumIncomplete: 0 NumTotal: 16 NumTestCaseResults: 0 NumTestSuiteResults: 0 NumTestFileResults: 1 Outcome: Failed StartTime: '2018-Aug-10 22:10:12' StopTime: '2018-Aug-10 22:14:10' Duration: 238 CoverageResults: [] Release: '' ```

The wing pitch plots from iteration 12 and 13 show the difference between a positive damping ratio (iteration 12) and a negative damping ratio (iteration 13).

```sltest.testmanager.close ```
```close_system('sltestFlutterSuppressionSystemExample.slx',0) ```