Elvas Tower: Building frequency curves for engine clips - Elvas Tower

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Building frequency curves for engine clips Rate Topic: -----

#1 User is offline   ErickC 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 751
  • Joined: 18-July 17
  • Gender:Male
  • Location:Hastings, MN, US
  • Simulator:ORTS
  • Country:

Posted 22 June 2021 - 07:08 AM

Here's a secret that very few people have figured out. The pitch of a rotating engine is directly proportional to its RPM. It doesn't matter if it's a JT8D (although you will have two different shafts running on different RPM schedules because it's a 2-spool engine), an EMD 567, or a Wankel engine (please stop confusing pistonless engines with rotary engines - if the block isn't the rotating part, it's not a rotary engine). We can exploit that and a trick of the way that waves resonate in exhaust pipes to precisely calculate frequency curves for multiple engine clips and blend them together.

Here's the first thing you need to know. Exhaust does not propagate through the pipe smoothly with a single pulse per cylinder. Constructive and destructive interference in the overall pressure wave from the individual pressure waves from each cylinder meeting the others in the pipe results in a flow that has a peak once per combustion cycle. We hear (and feel) this as pulses in the exhaust pipe. They will occur every revolution in a 2-stroke engine, and every other revolution in a 4-stroke engine.

The second thing you need to know is there should be exactly two frequency curve points. One at a idle and one at maximum RPM.

The third thing you need to know is the idle and maximum RPM values for the engine you are working with.

The basic procedure for any given clip looks like this:

1.) Count the number of exhaust pulses in your clip and divide by the length of the clip, in seconds. For a two stroke engine, this is the number of revolutions per second. For a four-stroke engine, multiply by 2 to get the revolutions per second. Multiply by 60 to get the revolutions per minute of your engine clip.

2.) Divide the idle RPM value by the RPM of your clip and multiply this by the clip sample rate. This is the idle value for your frequency curve (variable2=0.0).

3.) Divide the maximum RPM by your clip RPM and multiply the result by the clip sample rate. This is the maximum RPM value (variable2=1.0).

4.) Build your frequency curve. You're done. Move on to the next clip. Rinse and repeat.

#2 User is offline   ErickC 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 751
  • Joined: 18-July 17
  • Gender:Male
  • Location:Hastings, MN, US
  • Simulator:ORTS
  • Country:

Posted 22 June 2021 - 07:17 AM

Here is an example. Let's say I have a 44100 Hz clip of a 2-stroke EMD 567C. The clip is 6.1 seconds long, and I counted 50 exhaust pulses.

1.) Divide 50 by 6.1 to get 8.1967. This is the RPS. Multiply by 60 to get 491.8 RPM.

2.) The idle RPM of the EMD 567C is 275. The maximum RPM is 835. So we start with the idle frequency value. Divide 275 by the calculated RPM (491.8) and multiply by the sample rate. (275/491.8)*44100 = 24659.25. This is our idle value.

3.) Divide 835 by the clip RPM (491.8) and multiply by the sample rate. In our case, (835/491.8)*44100 = 74874.45. This is our maximum value.

4.) Build your frequency curve.

				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 3
						0.0		24659.25
						1.0		74874.45
						)
					Granularity ( .001 )
				)


Repeat for the next clip. Blend with volume curves. I recommend using two volume curves per stream - one to blend one clip to the next, and a second one, identical for each stream, that is a fraction of the maximum volume at idle, and maximum volume at maximum RPM. I generally use a volume of 0.25 at idle. This is pretty close to what I have measured from field recordings.

Our sample works for an EMD 567C. So that works for a GP9 or F9 or SD9. But let's say you've got an SD7 or an F3. Those use the 567B, which runs on a different RPM schedule. So we need to create a new SMS file and new frequency curves. But it's no biggie because we already calculated a frequency curve. Remember, pitch is directly proportional to RPM, so we can just use basic multiplication and division to modify our curve. Since the idle is the same for both, we only need to calculate the maximum value. Divide the 567B max RPM (800) by the 567C max RPM (835), which works out to 0.958. Because we used idle and max for our two points, we can just copy this coefficient to a text doc and multiply all of our max RPM values by it. Our frequency curve above would thus look like this for a 567B:

				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 3
						0.0		24659.25
						1.0		71736.00
						)
					Granularity ( .001 )
				)


71736.00 is 74874.45 (the 567C maximum value) times 0.958 (800/835).

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users