【情報I】直交関数系とは?高校生でもわかる基礎から応用まで徹底解説

テックジム東京本校では、情報科目の受験対策指導もご用意しております。

直交関数系とは

直交関数系(ちょっこうかんすうけい)とは、互いに「直交」している関数の集まりのことです。高校数学で学ぶベクトルの直交と同じように、関数同士にも「垂直」の関係が定義できます。

なぜ「直交」が重要なのか

ベクトルが直交していると計算が簡単になるように、関数が直交していると複雑な信号やデータを分解・解析しやすくなります。これは音声処理、画像圧縮、データ通信など、現代の情報技術の基盤となっています。


情報Iにおける直交関数系の重要性

高校の必修科目「情報I」では、データサイエンスやプログラミングの基礎を学びます。直交関数系は以下の分野で重要な役割を果たします。

デジタル信号処理

  • 音声データの圧縮(MP3、AAC)
  • 画像データの圧縮(JPEG)
  • 動画データの圧縮(MPEG)

データ解析

  • 周波数解析(音の成分分析)
  • パターン認識(機械学習の基礎)
  • ノイズ除去(信号のクリーンアップ)

これらの技術は、スマートフォンやインターネットで日常的に使われています。


直交性の基本概念

ベクトルの直交との類似性

2次元ベクトル a = (a₁, a₂) と b = (b₁, b₂) が直交するとき、内積がゼロになります。

a · b = a₁b₁ + a₂b₂ = 0

関数の内積

関数 f(x) と g(x) の内積は、積分で定義されます。

⟨f, g⟩ = ∫ f(x)g(x) dx

区間 [a, b] で f(x) と g(x) が直交するとき、この積分がゼロになります。

∫[a to b] f(x)g(x) dx = 0

直交関数系の定義

関数の集合 {φ₀(x), φ₁(x), φ₂(x), …} が直交関数系であるとは、異なる関数同士の内積がすべてゼロになることです。

⟨φₘ, φₙ⟩ = 0  (m ≠ n)

代表的な直交関数系

1. 三角関数系(フーリエ基底)

最も有名な直交関数系は、sin と cos から構成されるフーリエ基底です。

関数系:

1, cos(x), sin(x), cos(2x), sin(2x), cos(3x), sin(3x), ...

直交性の例:

∫[-π to π] sin(mx) · sin(nx) dx = 0  (m ≠ n)
∫[-π to π] cos(mx) · cos(nx) dx = 0  (m ≠ n)
∫[-π to π] sin(mx) · cos(nx) dx = 0  (すべてのm, n)

この性質により、複雑な周期関数を sin と cos の和で表現できます(フーリエ級数)。

2. ウェーブレット基底

画像処理で活用される関数系で、時間と周波数の両方の局所的な情報を捉えられます。

応用例:

  • JPEG2000画像フォーマット
  • 指紋認証システム
  • 地震波解析

3. 直交多項式

統計学やデータフィッティングで使用されます。

種類:

  • ルジャンドル多項式
  • チェビシェフ多項式
  • エルミート多項式

フーリエ級数と直交関数系

フーリエ級数の基本形

周期 2π の関数 f(x) は、三角関数系を使って次のように展開できます。

f(x) = a₀/2 + Σ[n=1 to ∞] (aₙcos(nx) + bₙsin(nx))

係数の計算

直交性を利用すると、係数は以下の積分で求められます。

a₀ = (1/π) ∫[-π to π] f(x) dx
aₙ = (1/π) ∫[-π to π] f(x)cos(nx) dx
bₙ = (1/π) ∫[-π to π] f(x)sin(nx) dx

なぜ直交性が重要か

もし関数系が直交していなければ、これらの係数を求めるために連立方程式を解く必要があります。直交性のおかげで、各係数を独立に計算できるのです。


情報処理における応用例

1. MP3音声圧縮

仕組み:

  1. 音声信号を周波数成分に分解(離散コサイン変換:DCT)
  2. 人間の耳に聞こえにくい成分を削除
  3. 残った重要な成分だけを保存

直交関数系の役割: DCTは直交関数系(コサイン関数)を使った変換で、元の信号を損失なく周波数領域に変換できます。

2. JPEG画像圧縮

処理の流れ:

  1. 画像を8×8ピクセルのブロックに分割
  2. 各ブロックに2次元DCTを適用
  3. 高周波成分(細かい変化)を削減
  4. 圧縮データとして保存

圧縮率: 元画像の1/10〜1/20のサイズに圧縮可能

3. ノイズ除去(デノイジング)

手順:

  1. ノイズを含む信号を直交関数系で展開
  2. ノイズに対応する高周波成分を識別
  3. その成分を削減または除去
  4. 逆変換でクリーンな信号を復元

応用分野:

  • 音声通話の品質向上
  • 医用画像(MRI、CT)の画質改善
  • 天体観測データの処理

4. データ通信(OFDM)

現代の無線通信(Wi-Fi、4G/5G)では、直交周波数分割多重(OFDM)という技術が使われています。

原理:

  • 複数の直交する搬送波を同時に使用
  • 各搬送波で独立にデータを送信
  • 受信側で直交性を利用してデータを分離

メリット:

  • 周波数を効率的に利用
  • マルチパス干渉に強い
  • 高速データ伝送が可能

Pythonで学ぶ直交関数系

情報Iではプログラミングも学習します。Pythonを使って直交性を確認してみましょう。

コード例1: 三角関数の直交性確認

import numpy as np
from scipy import integrate

# 区間 [-π, π] での積分
def inner_product(f, g, a=-np.pi, b=np.pi):
    """2つの関数の内積を計算"""
    def integrand(x):
        return f(x) * g(x)
    result, error = integrate.quad(integrand, a, b)
    return result

# 三角関数の定義
f1 = lambda x: np.sin(x)
f2 = lambda x: np.sin(2*x)
f3 = lambda x: np.cos(x)

# 直交性の確認
print(f"sin(x) と sin(2x) の内積: {inner_product(f1, f2):.10f}")
print(f"sin(x) と cos(x) の内積: {inner_product(f1, f3):.10f}")
# 結果はほぼ 0 になります

コード例2: フーリエ級数による方形波の近似

import numpy as np
import matplotlib.pyplot as plt

def square_wave(x):
    """方形波関数"""
    return np.sign(np.sin(x))

def fourier_approximation(x, n_terms):
    """フーリエ級数によるn項までの近似"""
    result = np.zeros_like(x)
    for n in range(1, n_terms + 1, 2):  # 奇数項のみ
        result += (4 / (n * np.pi)) * np.sin(n * x)
    return result

# グラフ描画
x = np.linspace(-2*np.pi, 2*np.pi, 1000)
plt.figure(figsize=(12, 6))

plt.plot(x, square_wave(x), 'k-', linewidth=2, label='元の方形波')
plt.plot(x, fourier_approximation(x, 5), 'r--', label='5項')
plt.plot(x, fourier_approximation(x, 15), 'b--', label='15項')
plt.plot(x, fourier_approximation(x, 50), 'g--', label='50項')

plt.xlabel('x')
plt.ylabel('y')
plt.title('フーリエ級数による方形波の近似')
plt.legend()
plt.grid(True)
plt.show()

このプログラムを実行すると、直交関数系(sin関数)の重ね合わせで方形波を近似できることが視覚的にわかります。


学習のポイントとまとめ

重要ポイント

  1. 直交関数系の本質

    • 関数同士が「垂直」の関係にある
    • 内積(積分)がゼロになる
  2. 利点

    • 複雑な信号を単純な成分に分解できる
    • 各成分を独立に扱える
    • 効率的な計算が可能
  3. 実用例

    • データ圧縮(MP3、JPEG)
    • ノイズ除去
    • 無線通信(Wi-Fi、5G)
    • 機械学習の特徴抽出

情報Iでの学び

直交関数系は抽象的な数学概念に見えますが、実は私たちが毎日使っているデジタル技術の核心部分です。

  • スマホで音楽を聴く → MP3圧縮(DCT)
  • 写真を撮る → JPEG圧縮(DCT)
  • YouTubeを見る → 動画圧縮(DCT/ウェーブレット)
  • Wi-Fiを使う → OFDM通信

これらすべてに直交関数系の理論が応用されています。

さらなる学習へ

  1. 数学的理解を深める

    • フーリエ解析の詳細
    • 線形代数との関連
    • ヒルベルト空間の概念
  2. プログラミングで実践

    • NumPy、SciPyでの信号処理
    • 画像処理ライブラリの活用
    • 機械学習での応用
  3. 応用分野の探求

    • 音響工学
    • 画像処理技術
    • 通信工学
    • データサイエンス

参考資料・関連キーワード

  • フーリエ変換(Fourier Transform)
  • 離散コサイン変換(DCT)
  • ウェーブレット変換
  • 直交多項式
  • ヒルベルト空間
  • 信号処理
  • データ圧縮
  • 周波数解析

おわりに

直交関数系は、高校「情報I」で学ぶデータサイエンスや情報技術の基盤となる重要な概念です。一見難しそうに見えますが、ベクトルの直交という身近な概念の拡張であり、実際の応用例を知ることで理解が深まります。

この記事が、皆さんの「情報I」の学習や、さらなる情報技術への興味のきっかけになれば幸いです。プログラミングと組み合わせて、ぜひ実際に手を動かしながら学んでみてください。


最終更新日: 2025年12月7日
対象: 高校生(情報I履修者)、情報技術初学者
難易度: 初級〜中級

らくらくPython塾 – 読むだけでマスター

【現役エンジニア歓迎】プログラミング学習お悩み相談会

【情報I】受験対策・お悩み相談会(オンライン・無料)

【オンライン無料】ゼロから始めるPython爆速講座

テックジム東京本校

格安のプログラミングスクールといえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
対面型でより早くスキル獲得、月額2万円のプログラミングスクールです。
情報科目の受験対策指導もご用意しております。