私は自分の質問のほとんどを理解したので、自由に自分の質問に答えています。これは私の発見を共有する良い方法です。開始する場所と試してみるアイデアを提供してくれたOlin Lathropに感謝しますが、最終的にプロトコルはOlinの推測とはかなり異なることが判明したため、この回答を投稿しました。
更新:最後の8ビットに関するフォローアップの質問を投稿しましたが、完全には理解できませんでしたが、Dave Tweedがそれを理解しました。詳細をここに含めますので、この回答は完全なプロトコル仕様として機能しますが、Daveの回答を確認してください。
私はこれを理解するためにいくつかのことを試さなければなりませんでしたが、私はそれを理解したと確信しています。奇妙なことに、このプロトコルに似たものは他に見つかりませんでしたが、私が知らない一般的なプロトコルである可能性が非常に高いです。
とにかく、これが私が見つけたものです:
プロトコル/エンコーディング
データのエンコードには、パルスとその間のスペースの両方が使用されます。長いパルス/スペースはバイナリ1(1)、短いパルス/スペースはバイナリ0(0)です。パルスは、消費者の標準的な赤外線38kHz変調@ 50%デューティサイクルを使用して送信されます。
パルス/スペースのタイミングは元の質問にありますが、完全を期すためにここで繰り返します。
 Bit    Pulse     Space
-----+---------+---------
  0  |  275µs  |  285µs
  1  |  855µs  |  795µs
すべて±10µs max。、±5µs typ.。これは、16MHzでロジックアナライザーによってキャプチャされたサンプルに基づいています。オシロスコープを持っていないので、正確なプロファイル(つまり、立ち上がり/立ち下がり時間)がわかりません。
制御入力が適用され、最小100msの間隔があるように見える限り、パケットは繰り返されます。 
パケット送信は「パルス1」プリアンブルで始まります。これは固定されており、データの一部ではありません。次のスペースはパケットの最初のデータビットをエンコードし、最後のパルスは最後のビットをエンコードします。
各パケットは32ビット長で、リモートコントロールが提供できるすべての入力が含まれています。値はリトルエンディアン、つまりMSBファーストとして読み取られます。
データ構造
以下は、個々のパケットの基本構造です。最後の8ビットは私を混乱させましたが、それは今理解されています(以下を参照)。
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
--+---------------------------+-----------+---+-------+-----------
 P|    Yaw    |   Throttle    |   Pitch   | T | Chan. |   Check
P: Preamble (always a pulse-1), T: Trim, Chan.: Channel
Bit    Length    Description (see note below)
-----------------------------------------------
0      1         Preamble. High 1
1-6    6         Yaw. Range 0-36 for left-right, 17 being neutral
7-14   8         Throttle. Range 0-134
15-20  6         Pitch. Range 0-38 for forward-back, 17 being neutral
21-22  2         Trim. Left = 1, right = 2, no trim = 0
23-26  4         Channel. A = 5, B = 2, C = 8
27-32  6         Check bits
注:範囲は、取得した最高値に基づいています。このプロトコルはより広い範囲に対応できます-スロットルで最大255、ピッチ/ヨーで63-が、その約半分で制限されます。
ピッチ値には、14〜21の不感帯があるようです。実際にヘリコプターを反応させるのは、上または下の値のみです。ヨーと同じかどうかはわかりません(ヘリコプターはとにかく不安定で、自力でわずかに回転する可能性があるため、わかりにくいです)。
ここでそれはグラフィカルな用語です(元の質問のグラフィックと比較してください)

6つのチェックビットは、先行するすべての値のXOR演算によって計算されます。各値は6ビットとして扱われます。これは、8ビットのスロットル値の2つのMSBが単に無視されることを意味します。すなわち
check = yaw ^ (throttle & 0x3F) ^ pitch ^ trim ^ channel
実用的なメモ
信号のタイミングと変調は、非常に正確である必要はありません。私のArduinoの正確ではないタイミングでも、実際のリモートコントロールと比較して、怪しげな変調と、パルス/スペースの持続時間に対する多少のヒットとミスにもかかわらず、うまく機能します。
私は信じていますが、テストしていません-ヘリコプターは、最初に見つかった信号のチャネルにラッチするだけです。信号がない状態で長時間(数秒)放置すると、再び信号を取得するまで「検索」モードに戻ったように見えます。
スロットルがゼロの場合、ヘリコプターはピッチとヨーの値を無視します。
トリムコマンドは、リモコンのボタンを押すたびに1回だけ送信されます。おそらくトリム値は、ヘリコプター自身のコントローラーの値を単純に増減します。リモコンが追跡するものではありません。したがって、これの実装はおそらくそのスキームに固執し、時折トリムの左/右の値のみを送信する必要がありますが、それ以外の場合はデフォルトでパケットのゼロのトリム値になります。
スロットルをゼロに設定するだけのキルスイッチを用意することをお勧めします。これにより、ヘリコプターが空から落下しますが、モーターを回転させていないときのダメージは少なくなります。クラッシュしたり何かにぶつかったりする場合は、ギアを剥がしたりブレードを壊したりしないようにキルスイッチを押してください。
元のリモコンのIR LEDの波長は> 900nmのようですが、〜850nm LEDを使用しても問題はありません。
ヘリコプターのIRレシーバーは問題ありませんが、感度が高くないため、IR光源が明るいほど優れています。リモコンは3つのLEDを直列に使用し、ロジックが使用する5Vレールではなく9Vレールに配置します。彼らの現在のドローを非常に正確にチェックしていませんが、私はそれが50mAだと思っています。
サンプルデータ
興味のある方のために、ここに一連のパケットを示します(そう、私はデコーダーをスクリプトで記述しました。これをすべて手動でデコードしませんでした)。チャネルAのパケットは、元の質問のグラフと同じキャプチャからのものです。
Channel A                                                       
Yaw     Throttle  Pitch   Tr  Chan  Check     Description
-----------------------------------------------------------
000100  10000100  000000  00  0101  000101    Left Mid + Throttle
000000  10000110  010001  00  0101  010010    Left Max + Throttle 
100001  10000110  000000  00  0101  100010    Right Mid + Throttle 
100100  10000100  010001  00  0101  110100    Right Max + Throttle
010001  00000000  001011  00  0101  011111    Forward Min 
010001  00000000  000000  00  0101  010100    Forward Max 
010001  00000000  011000  00  0101  001100    Back Min 
010001  00000000  100101  00  0101  110001    Back Max
010001  00000000  010001  01  0101  010101    Left Trim 
010001  00000000  010001  10  0101  100101    Right Trim 
010001  00000011  010001  00  0101  000110    Throttle 01 (min)
010001  00010110  010001  00  0101  010011    Throttle 02
010001  00011111  010001  00  0101  011010    Throttle 03
010001  00101111  010001  00  0101  101010    Throttle 04
010001  00111110  010001  00  0101  111011    Throttle 05
010001  01010101  010001  00  0101  010000    Throttle 06
010001  01011111  010001  00  0101  011010    Throttle 07
010001  01101100  010001  00  0101  101001    Throttle 08
010001  01111010  010001  00  0101  111111    Throttle 09
010001  10000101  010001  00  0101  000000    Throttle 10 (max)
Channel B
Yaw     Throttle  Pitch   Tr  Chan  Check     Description
-----------------------------------------------------------
000000  10000110  010001  00  0010  010101    Left Max + Throttle 
100100  10000110  010001  00  0010  110001    Right Max + Throttle 
010001  00000000  001001  00  0010  011010    Forward Min 
010001  00000000  000000  00  0010  010011    Forward Max 
010001  00000000  010111  00  0010  000100    Back Min 
010001  00000000  100110  00  0010  110101    Back Max
010001  00000000  010001  01  0010  010010    Left Trim 
010001  00000000  010001  10  0010  100010    Right Trim 
010001  00000001  010001  00  0010  000011    Throttle Min 
010001  00110100  010001  00  0010  110110    Throttle Mid 
010001  01100111  010001  00  0010  100101    Throttle High 
010001  10001111  010001  00  0010  001101    Throttle Max 
Channel C
Yaw     Throttle  Pitch   Tr  Chan  Check     Description
-----------------------------------------------------------
000000  10000101  010001  00  1000  011100    Left Max + Throttle 
100100  10000101  010001  00  1000  111000    Right Max + Throttle 
010001  00000000  001010  00  1000  010011    Forward Min 
010001  00000000  000000  00  1000  011001    Forward Max 
010001  00000000  010111  00  1000  001110    Back Min 
010001  00000000  100110  00  1000  111111    Back Max
010001  00000000  010001  01  1000  011000    Left Trim 
010001  00000000  010001  10  1000  101000    Right Trim 
010001  00000001  010001  00  1000  001001    Throttle Min 
010001  00110100  010001  00  1000  111100    Throttle Mid 
010001  01100110  010001  00  1000  101110    Throttle High 
010001  10000101  010001  00  1000  001101    Throttle Max
上記のように、最後の8ビットは計算されましたが、後世のために、ここに私の元の考えがあります。私の推測ではかなり間違っていたので、完全に無視してかまいません。
最後の8ビット
パケットの最後の8ビットはまだ少し謎です。
ビット23から26までの4ビットはすべて、リモコンのチャネル設定によって完全に決定されるように見えます。リモコンのチャンネルを変更しても、プロトコルや変調は変更されません。これらの4ビットのみが変更されます。
しかし、4ビットはチャネル設定をエンコードするために実際に必要なものの2倍です。チャネルは3つしかないので、2ビットで十分です。したがって、上記の構造の説明では、最初の2ビットに「チャネル」というラベルを付け、残りの2ビットには「X」というラベルを付けましたが、これは推測です。
以下は、各チャネル設定に関連するビットのサンプルです。 
Chan.   Bits 23-26
-----+-------------
  A  |  0  1  0  1
  B  |  0  0  1  0
  C  |  1  0  0  0
基本的に、チャネル設定を送信するために必要な数より2ビット多くなります。多分プロトコルは後でより多くのチャネルを可能にするために取っておかれた4ビットを持っているかもしれません、それでプロトコルは完全に異なるおもちゃで使われることができます、しかし私は単に知りません。より大きな値の場合、プロトコルは省略できる余分なビットを使用します(ヨー/スロットル/ピッチは少しずつ少なくなる可能性があります)が、トリムには3つの状態があり、2ビットのみが使用されます。したがって、チャネルも2ビットにすぎないと思われるかもしれませんが、次の2つは考慮されていません。
もう1つの可能性は、パケットのチェックサムが「Xビット」で始まる8ビット長であり、チェックサムマジックによって、チャネル設定が常に何らかの形で反映されることです。しかし、再び:わかりません。
そして言うと、私はそれらのチェックビットがどのように形成されるのかわかりません。つまり、それらは単一の制御入力に対応していないためチェックビットであり、私がそれらをいじくるとヘリコプターが応答しないようです。それはある種のCRCだと思いますが、それを理解することができませんでした。チェックは、「Xビット」の解釈方法に応じて6〜8ビット長であるため、組み合わせることができる方法は多数あります。