When taking a flight with the bigger airlines, you notice
that there is considerable buffeting just after rotation and during initial
climb. As far as I can recall, it's a high frequency vibration that
increases just after takeoff, and continues for about 5 seconds, then slowly
diminishing.
This effect can be achieved by higher frequency sine wave that is modulated
with a soft-start and soft-stop.
The triggering of this motion effect: wheels on ground, with aircraft
pitched up, and > 80% throttle, to continue for about 10 - 20 seconds after
wheels are off the ground. Since I don't have throttle info, I used the
wheels-on-ground bit just becoming low and staying low, which works
reliable, but would still need the throttle>80% info to avoid triggering
during a bouncing touch-down.
I checked the vibration on roll and pitch axis, but pitch does not seem
necessary. The vibration max amplitude needs to be small.
The triggering code looks as following:
88 IF D AND 2 then W=1 ELSE W=0
'check Wheels On Ground (WOG) bit
89 W1=W2:W2=W3:W3=W4:W4=W
'take 4 samples of WOG bit
90 IF TAKEOFF=1 AND W=0 then GOTO 95
'maintain the routine while not finished running
92 IF W1 AND NOT W2 AND NOT W3 AND NOT W4 then
TAKEOFF=1:GOTO 95 'check for the bit sequence 3x WOG=0,
and 1x WOG=1, which would only happen after a firm take-off
The vibration routine is as following:
95 AMAX=4:TVIB=1:QS=30:QD=60:QF=120:
AMAX= max vibration amplitude
TVIB is vibration period
QS is the number of cycles to end of soft-start
QD is the number of cycles to beginning of soft-stop
QF is the total number of cycles
100 IF Q>QF then Rout=0:TAKEOFF=0:GOTO 120
'check for end of routine
101 Q=Q+1
102 IF Q<=QS then AM=AMAX*Q/QS
'soft-start
106 IF Q>QD AND AM>0 then AM=AMAX*(QF-Q)/(QF-QD)
'soft-stop
110 Rout=CINT(AM*(0.5*(cos(Q*3.14/TVIB))+0.5))
'modulated vibration
The complete trial code is shown below:
20 ON ERROR GOTO 140
30 CLOSE #1
40 OPEN "com1:9600,n,8" FOR RANDOM AS #1
50 A$=""
55 ON ERROR GOTO 50
60 LINE INPUT#1, A$
70 P$=mid$(A$,3,2)
80 R$=mid$(A$,5,2)
82 D$=right$(A$,2)
85 P=INSTR("123456789ABCDEF",right$(P$,1))+16*INSTR("123456789ABCDEF",left$(P$,1))
86 R=INSTR("123456789ABCDEF",right$(R$,1))+16*INSTR("123456789ABCDEF",left$(R$,1))
87 D=INSTR("123456789ABCDEF",right$(D$,1))+16*INSTR("123456789ABCDEF",left$(D$,1))
88 IF D AND 2 then W=1 ELSE W=0
89 W1=W2:W2=W3:W3=W4:W4=W
90 IF TAKEOFF=1 AND W=0 then GOTO 95
92 IF W1 AND NOT W2 AND NOT W3 AND NOT W4 then TAKEOFF=1:GOTO 95
93 Q=-1:Rout=0
94 GOTO 120
95 AMAX=4:TVIB=1:QS=30:QD=60:QF=120:
100 IF Q>QF then Rout=0:TAKEOFF=0:GOTO 120
101 Q=Q+1
102 IF Q<=QS then AM=AMAX*Q/QS
106 IF Q>QD AND AM>0 then AM=AMAX*(QF-Q)/(QF-QD)
110 Rout=CINT(AM*(0.5*(cos(Q*3.14/TVIB))+0.5))
120 DAC1=127
121 DAC2=127+Rout
123 IF DAC1>255 or DAC1<0 then goto 127
124 OUT 888,DAC1
125 OUT 890,3
126 OUT 890,11
127 IF DAC2>255 or DAC2<0 then goto 131
128 OUT 888,DAC2
129 OUT 890,9
130 OUT 890,11
131 GOTO 50
The output waveform is shown below.
The effect feels OK. Not completely convincing, but definitely better than
nothing.
>>> A flight video of the above motion cue can
be seen here. The vibration is a
little hard to see, but clearly felt.
Back Next