【情報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音声圧縮
仕組み:
- 音声信号を周波数成分に分解(離散コサイン変換:DCT)
- 人間の耳に聞こえにくい成分を削除
- 残った重要な成分だけを保存
直交関数系の役割: DCTは直交関数系(コサイン関数)を使った変換で、元の信号を損失なく周波数領域に変換できます。
2. JPEG画像圧縮
処理の流れ:
- 画像を8×8ピクセルのブロックに分割
- 各ブロックに2次元DCTを適用
- 高周波成分(細かい変化)を削減
- 圧縮データとして保存
圧縮率: 元画像の1/10〜1/20のサイズに圧縮可能
3. ノイズ除去(デノイジング)
手順:
- ノイズを含む信号を直交関数系で展開
- ノイズに対応する高周波成分を識別
- その成分を削減または除去
- 逆変換でクリーンな信号を復元
応用分野:
- 音声通話の品質向上
- 医用画像(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関数)の重ね合わせで方形波を近似できることが視覚的にわかります。
学習のポイントとまとめ
重要ポイント
-
直交関数系の本質
- 関数同士が「垂直」の関係にある
- 内積(積分)がゼロになる
-
利点
- 複雑な信号を単純な成分に分解できる
- 各成分を独立に扱える
- 効率的な計算が可能
-
実用例
- データ圧縮(MP3、JPEG)
- ノイズ除去
- 無線通信(Wi-Fi、5G)
- 機械学習の特徴抽出
情報Iでの学び
直交関数系は抽象的な数学概念に見えますが、実は私たちが毎日使っているデジタル技術の核心部分です。
- スマホで音楽を聴く → MP3圧縮(DCT)
- 写真を撮る → JPEG圧縮(DCT)
- YouTubeを見る → 動画圧縮(DCT/ウェーブレット)
- Wi-Fiを使う → OFDM通信
これらすべてに直交関数系の理論が応用されています。
さらなる学習へ
-
数学的理解を深める
- フーリエ解析の詳細
- 線形代数との関連
- ヒルベルト空間の概念
-
プログラミングで実践
- NumPy、SciPyでの信号処理
- 画像処理ライブラリの活用
- 機械学習での応用
-
応用分野の探求
- 音響工学
- 画像処理技術
- 通信工学
- データサイエンス
参考資料・関連キーワード
- フーリエ変換(Fourier Transform)
- 離散コサイン変換(DCT)
- ウェーブレット変換
- 直交多項式
- ヒルベルト空間
- 信号処理
- データ圧縮
- 周波数解析
おわりに
直交関数系は、高校「情報I」で学ぶデータサイエンスや情報技術の基盤となる重要な概念です。一見難しそうに見えますが、ベクトルの直交という身近な概念の拡張であり、実際の応用例を知ることで理解が深まります。
この記事が、皆さんの「情報I」の学習や、さらなる情報技術への興味のきっかけになれば幸いです。プログラミングと組み合わせて、ぜひ実際に手を動かしながら学んでみてください。
最終更新日: 2025年12月7日
対象: 高校生(情報I履修者)、情報技術初学者
難易度: 初級〜中級
■らくらくPython塾 – 読むだけでマスター
【現役エンジニア歓迎】プログラミング学習お悩み相談会
【情報I】受験対策・お悩み相談会(オンライン・無料)
【オンライン無料】ゼロから始めるPython爆速講座
■テックジム東京本校
格安のプログラミングスクールといえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
対面型でより早くスキル獲得、月額2万円のプログラミングスクールです。
情報科目の受験対策指導もご用意しております。







