"(B $B$3$N8=>]$r%(%$%j%"%7%s%0(B (aliasing) $B$H8F$S$^$9!#(B n T[$BIC(B]$B$NCM$N$_$r, (B [$BLa$k(B $B%G%#%8%?%k?.9f=hM}(B] $B2^$N$h$&$K$J$j$^$9!#(B サンプリング定理は、時間を離散化した信号から 元のアナログ信号を再現できる条件を定めたものです。 アナログ信号の最大周波数がf max [Hz]、 サンプリング間隔がT[秒]のとき、 T < 1/ ( 2 f max) であることが必要です。 これは、サンプリング周波数f s が f s > 2 f max $B$=$N%3%T! $B85$N%9%Z%/%H%k$HNY$K$"$k%3%T! $B$b$7(B2fmax<1/T$B$G$"$l$P! ア 80  イ 160  ウ 320  エ 640, それでは、音声サンプリングの過去問題を解いてみましょう。最初は、先ほど示した計算の例と同じ手順でできる問題です。計算するときの考え方を、以下に示します。, M(メガ)は、1000 × 1000 = 1000000 とする場合と、 1024 × 1024 = 1048576 とする場合がありますが、この問題には示されていません。ここでは、1000 × 1000 = 1000000 として計算します。, 問題に「およそ何 M バイトか」とあるので、 317.52 Mバイトに近い 320 M バイトの選択肢ウが正解です。, 音声のサンプリングを 1 秒間に 11,000 回行い、サンプリングした値をそれぞれ 8 ビットのデータとして記録する。このとき,512 × 106 バイトの容量をもつフラッシュメモリに記録できる音声の長さは、最大何分か。, 次は、記録できる音声の長さを求める問題です。これまでに得た知識があれば、すんなりと計算方法を見出せるでしょう。計算するときの考え方を、以下に示します。, 問題に「最大何分か」とあるので、775.75・・・ 分の端数を切り捨てて最大 775 分であり、選択肢ウが正解です。, PCM 方式によって音声をサンプリング(標本化)して 8 ビットのディジタルデータに変換し,圧縮せずにリアルタイムで転送したところ,転送速度は 64,000 ビット / 秒であった。このときのサンプリング間隔は何マイクロ秒か。, 「転送速度」がからんでいますが、音声をリアルタイムで転送したのですから、 64000 ビット / 秒というのは、1 秒間に符号化した容量と同じです。それがわかれば、これまでに得た知識で計算方法を見出せるでしょう。, 問題に「何マイクロ秒か」とあるので、 0.000125 秒をマイクロ秒単位にした、 125 マイクロ秒の選択肢ウが正解です。, 符号化速度が 192 k ビット / 秒の音声データ 2.4 M バイトを,通信速度が 128 k ビット / 秒のネットワークを用いてダウンロードしながら途切れることなく再生するためには,再生開始前のデータのバッファリング時間として最低何秒間が必要か。, 最後に、これまでとは、ちょっと毛色の違う問題を解いてみましょう。デジタル化された音声データをダウンロードするときのバッファリング時間を求める問題です。, バッファリングとは、再生を始める前に、ある程度のデータをダウンロードしておくことです。これによって、ダウンロードの速度が遅くても、音声を途切れずに再生することができます。, 計算するときの考え方を以下に示しますので、 1 つずつ丁寧に確認してください。ここでは、 M = 1000 k としています。, 以上、「音声サンプリング」の計算問題の解き方を説明しましたが、十分にご理解いただけましたでしょうか。, 基本情報技術者試験では、同じ問題が何度も再利用されているので、できない問題をできるようにすることが、必ず得点アップにつながるからです。, 『プログラムはなぜ動くのか』(日経BP)が大ベストセラー ?.9f$+$i(B [$B(B Z$BJQ49(B]. $B85$NGH7A$H$O0[$J$k7k2L$,F@$i$l$^$9!#(B "(B $B$3$N;~$NGH7A$O2^(B(a)$B$N$h$&$K$J$j$^$9!#(B "(B (B "(B $B$=$l$r(Bn/T[Hz] (n$B$O@0?t(B) $B$:$i$7$?L58B8D$N%3%T! "2^$N$h$&$G$"$C$?$H$7$^$7$g$&!#(B, $B$3$l$r! $B85$N%"%J%m%0GH7A$r:F8=$G$-$^$;$s!#(B "(B $B$=$N$?$a$K$O! "(B $B85$N%9%Z%/%H%k$HNY$N%3%T! "(BT[$BIC(B]$B4V3V$G%5%s%W%j%s%0$7$^$9!#(B $B>ZL@$O>JN,$7$^$9$,! "(B (B [$BL\(B] アナログ量をデジタルシステムで処理・伝送するためには、アナログ信号を離散的な数値の列に変換する必要があります。, 連続したアナログ信号から一定の時間間隔で信号を取り出すことをサンプリング(標本化)といいます。この一定の時間間隔がサンプリング周期で、その逆数がサンプリング周波数です。サンプリングを行うと、時間軸について離散化されます。, アナログ信号をデジタル信号として扱うためには、取り出した値(上の図の場合は縦軸の値)も離散化する必要があります。この記事では触れませんが、値の離散化のことを量子化といいます。, アナログ信号をデジタル信号に変換するとき、元の信号に含まれる周波数成分の2倍よりも高い周波数でサンプリング(標本化)すれば、元の信号を再現することができます。, サンプリング対象の信号に含まれる最速の周波数成分に対して、十分な速度でサンプリングしなければ、元の信号を正確に表現できなくなります。サンプリング周波数が不十分なときは信号を復元できず、歪みが発生します。, 下の図は、10Hzの正弦波を2つのサンプリング周波数でサンプリングして、サンプリング後の点をつないだものです。サンプリング周波数は、青色は120Hz、オレンジ色は12Hzです。, 120Hzでサンプリングした青色の波形は10Hzの正弦波とわかりますが、12Hzでサンプリングしたオレンジ色の波形は元の正弦波とは異なる波形になっています。, サンプリング周波数が120Hzなら、ナイキスト周波数は60Hzとなります。このとき、サンプリングしたい信号の周波数が60Hzよりも低ければ、正確に元の信号をサンプリングすることができます。, 60Hzよりも高い成分が含まれていた場合、折り返しひずみ(エイリアス)となり、元の信号を正確に表せません。, サンプリング前の信号にナイキスト周波数よりも高い周波数成分が含まれていた場合、折り返しひずみ(エイリアシング)が発生します。, ナイキスト周波数よりも周波数が高い部分は、ナイキスト周波数を対称軸として低周波側に折り返されて現れます。折り返しひずみが発生すると元の信号に存在しない信号成分が現れるため、元の信号を正確に復元できなくなります。, 例えば、ナイキスト周波数が60Hzで、サンプリング前の信号に80Hzの成分が含まれていた場合を考えます。この80Hzの成分はナイキスト周波数で折り返され、サンプリング後には40Hzの信号に見えます。折り返し周波数の計算式は、60-(80-60)=40[Hz]。, サンプリング周波数を120Hzとして、何種類かの信号のサンプリングの例を挙げてみます。, 80Hzはナイキスト周波数よりも大きいため、ナイキスト周波数(60Hz)で折り返して40Hzになってしまいます。, 薄い水色の線はサンプリング前の信号で80Hzですが、青色のサンプリング後の信号は40Hzになります。, 10Hzの成分は正常にサンプリングできますが、80Hzの成分は折り返して40Hzになります。そのため、サンプリング後の波形は、10Hzと40Hzが合成された信号になります。, 理論上40Hzの成分は正常にサンプリングできますが、80Hzの成分は折り返して40Hzになります。サンプリング後は、元の40Hzと折り返しの40Hzが足し合わされてしまい、正確な信号を得ることはできません。, 下の図の場合は、元の40Hzと折り返しの40Hzが合成され、振幅が0になってしまいました。(サンプリング後の波形は元の40Hzと80Hzの位相関係によって変化します。), サンプリングする前に折り返しひずみの原因となる帯域をカットするためのローパスフィルタのことを、アンチエイリアシングフィルタといいます。, フィルタは、LCフィルタなどのアナログフィルタでも、FIRフィルタなどのデジタルフィルタでも大丈夫です。, 先ほどの10Hzと80Hzの合成信号の場合、サンプリング後に折り返しの40Hzをカットするローパスフィルタをかけると10Hzの信号を分離することができます。, 一方で、40Hzと80Hzの合成信号の場合は、サンプリング後に元の波形と折り返しによる波形を区別できないので、折り返し成分だけを分離することができません。そのため、サンプリング前に80Hzの信号を除去するアンチエイリアシングフィルタが必要になります。. $B=E$J$C$?ItJ,$O:F8=$G$-$:! $B2^(B(b)$B$N$h$&$K! アナログ信号 →標本化(サンプリング) →量子化 →ディジタル信号 アナログ信号(連続信号) t ・時間とともに値が連続的に変化 x(t) ・どの時刻においても値を持つ t:実数 0 時間. $BF~NO?.9f$O:GBg(Bfmax[Hz]$B$G$"$k$H2>Dj$7$^$9!#(B LPF$B$rDL$;$PNI$$$3$H$K$J$j$^$9!#(B, $B!!%5%s%W%j%s%0DjM}$rK~$?$5$J$$>l9g$K$O! $B$I$N$h$&$JGH7A$,F@$i$l$k$N$+$O! "(B, $B!!?t<0$r;H$C$?>ZL@$OB>$Ny$C$F! $B85$N%"%J%m%0?.9f$r:F8=$G$-$k>r7o$rDj$a$?$b$N$G$9!#(B $B$3$3$G$O?^$@$1$G@bL@$7$^$9!#(B "(Bfmax$B0J>e$N(B ", [$B>e$X(B] いくつか難しそうな用語が出てくるので、それらの意味を理解することから始めましょう。用語の意味がわかれば、計算方法が見えてきます。, 音声サンプリングの計算問題を解くポイントは、「標本化」「量子化」「符号化」という用語を理解することです。一般的なCDを例にして、それぞれの用語の意味を説明しましょう。, 用語の意味がわかったら、計算の例として、演奏時間 5 分の音楽を、サンプリング周波数 44.1 kHz、量子化ビット数 16 ビット、PCM 形式、ステレオ( 2 チャンネル)でデジタル化した場合のデータの容量を、M バイト(メガ・バイト)単位で求めてみましょう。ここでは、1 M バイト= 1000000 バイトとします。計算するときの考え方を、以下に示します。, 単に掛け算をしているだけですが、用語の意味と対応付けて、計算方法を理解してください。, 60 分の音声信号(モノラル)を,標本化周波数 44.1 kHz,量子化ビット数 16 ビットの PCM 方式でディジタル化した場合,データ量はおよそ何 M バイトか。ここで,データの圧縮は行わないものとする。 $B85$N%9%Z%/%H%k$H(B 「標本化(サンプリング)」とは アナログ信号から、一定の時間間隔で区切ってデータを採取することです。この時間間隔を「標本化周波数(サンプリング周波数)」と呼び、 Hz(ヘルツ)という単位で示します。 1 秒間に 1 回が 1 Hz です。 お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。. $B$3$N$h$&$J?.9f$r%5%s%W%j%s%0$7$?:]$N%9%Z%/%H%k$O! (B "(B アナログ量のサンプリング(標本化)の際に重要な、標本化定理と折り返しひずみ(エイリアシング)を理論式ではなく波形を示しながら説明します。サンプリングによりアナログ量を時間方向に離散化して、デジタル信号処理などを行います。 (B, $B!!N%;6;~4V$N?.9f$+$i85$N%"%J%m%0GH7A$rI|85$9$k$K$O! Copyright (C) 2020 SE plus Co., Ltd. All Rights Reserved. $B!!%5%s%W%j%s%0DjM}$O!";~4V$rN%;62=$7$? "(B 音声サンプリングの計算問題の内容は、生の声や音楽などのアナログデータ(なめらかで連続したデータ)を、コンピュータで処理できるデジタルデータ(ぶち切れで不連続のデータ)に変換するものです。身近な例では、CD( Compact Disk )に記録された音楽は、アナログデータをデジタルデータに変換したものです。, M(メガ)は、1000 × 1000 = 1000000 とする場合と、 1024 × 1024 = 1048576 とする場合があります, 基本情報技術者試験では、同じ問題が何度も再利用されているので、できない問題をできるようにすることが、必ず得点アップにつながるから, はじめての受験で合格できる9つの連載を掲載しています。ベストセラー対策書籍の著者が解くべき過去問を厳選した連載や、「わからない」「苦手」になりがちな午後問題や計算問題、アルゴリズム、プログラミング問題などを丁寧に解説します。解答速報など最新情報も掲載, サンプリング周波数 44.1 kHzなので、1 秒間に 44.1 × 1000 = 44100 回のデータの採取をします。, したがって、5 分間で 300 × 44100 = 13230000 回のデータの採取をします。, 量子化ビット数 16 ビットは、8 ビット= 1 バイトなので、16 ビット = 2 バイトです。, 1 回のデータの採取が 2 バイトの符号になるので、 13230000 回のデータの採取は、 2 × 13230000 = 26460000 バイトの容量になります。, ステレオ( 2 チャンネル)なので、同じ容量のデータが 2 つ(左チャンネル用と右チャンネル用)あり、全体の容量は、26460000 × 2 = 52920000 バイトになります。, 1 M バイト = 1000000 バイトとするので、 52920000 バイト = 52.92 M バイトです。, 標本化周波数(サンプリング周波数)44.1 kHzなので、 1 秒間に 44.1 × 1000 = 44100 回のデータの採取をします。, したがって、 60 分間で 3600 × 44100 = 158760000 回のデータの採取をします。, 量子化ビット数 16 ビットは、 8 ビット = 1 バイトなので、 16 ビット = 2 バイトです。, 1 回のデータの採取が 2 バイトの符号になるので、 158760000 回のデータの採取は、 2 × 158760000 = 317520000 バイトの容量になります。, モノラル(ステレオではない)なので、全体の容量は、この 317520000 バイトです。, 1 M バイト = 1000000 バイトとするので、 317520000 = 317.52 M バイトです。, 1 秒間に 11000 回のサンプリングを行い、それぞれが 8 ビット = 1 バイトのデータとして記録されるので、1 秒間のデータの容量は、 11000 × 1 = 11000 バイトである。, 答えを分単位で求めるので、46545.45・・・ ÷ 60 = 775.75・・・ 分である。, 1 秒間に 64000 ビットで、符号化されたデータの大きさが 8 ビットなのだから、1 秒間に行ったサンプリングの回数は、 64000 ÷ 8 = 8000 回である。, 1 秒間に 8000 回のサンプリングを行ったのだから、その時間間隔は、 1 ÷ 8000 = 0.000125 秒である。, 符号化速度が 192 k ビット / 秒というのは、デジタル化されたデータの容量が 1 秒あたり 192 k ビットということである。, データの容量は、全部で 2.4 M バイト = 2.4 M × 8 = 19.2 M ビットであり、これを秒単位で表すと、 19.2 M ÷ 192 k = 19200 k ÷ 192 k = 100 秒である。, 通信速度が 128k ビット / 秒なので、100 秒で 128 k × 100 = 12800 k ビットのデータを転送できる。, ところが、データの容量は、全部で 19.2 M ビット = 19200 k ビットなので、その差の 19200 k ビット – 12800 k ビット = 6400 k ビットのデータを、あらかじめバッファリングしておく必要がある。, 通信速度が 128 k ビット / 秒なので、 6400 k ビットのデータをバッファリングするには、 6400 k ÷ 128 k = 50 秒かかる。. "(B $B%5%s%W%j%s%04V3V$,(BT[$BIC(B]$B$N$H$-! (adsbygoogle = window.adsbygoogle || []).push({}); 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。. ©Copyright2020 てつふくブログ.All Rights Reserved. $BGH7A$H%9%Z%/%H%k$O! "(B $B%"%J%m%0?.9f$N:GBg(Bfmax[Hz]$B! IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”, 大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。 $B85$N%9%Z%/%H%k$@$1$r;D$7$F! $B$3$N;~$N%9%Z%/%H%k$O!