ディジタル信号処理の課題解説 その2

28
課題解説(その2)

Upload: noname409

Post on 24-Jul-2015

615 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ディジタル信号処理の課題解説 その2

課題解説(その2)

Page 2: ディジタル信号処理の課題解説 その2

多次元信号処理

• 課題12 宇宙人にハイビジョンテレビの装置を説明

• 課題13 CTの原理(1次元-2次元フーリエ変換の関係)

(課題14から16は省略)

Page 3: ディジタル信号処理の課題解説 その2

課題12

宇宙人とFirst Contactした人間は、最新の映像システムを備えたテレビスタジオに案内。4Kテレビの装置を説明し、いかに忠実、高精細な映像が撮影・放送・受信・表示できるかを説明しました。

しかし、宇宙人は首をかしげるだけで、テレビの映像が実物と似ても似つかないものとしか見えませんでした。

これは、なぜでしょうか?

Page 4: ディジタル信号処理の課題解説 その2

課題12 • 色の表現

• 波長で表現(全生物共通)

• RGBで表現(人間のみ)

• 人間の目には紫の波長をみせても赤の波長と青の波長が同程度含まれたものを見せても同じように見える

• 宇宙人が同じように見えているとは限らない

• そもそも宇宙人の可視光の領域が同じであるとも限らない

• テレビはRGBの集合

で表現

• 宇宙人をごまかせる

のか?

RGBで表現

波長(周波数)で表現

テレビ画面の拡大図

Page 5: ディジタル信号処理の課題解説 その2

課題12

• フレームレートの問題

• テレビのフレームレートは30fpsとか

• 1秒間に30枚のペースでコマ送り

• 宇宙人の目には遅すぎてコマ送りに見えるかもしれない.

Page 6: ディジタル信号処理の課題解説 その2

課題13

𝐹 𝑢, 𝑣 = 𝑓 𝑥, 𝑦 exp −𝑗(𝑢𝑥 + 𝑣𝑦) 𝑑𝑥𝑑𝑦∞

−∞

𝑃𝑣 𝑢 = 𝑃𝑦(𝑥)𝑒−𝑗𝑢𝑥𝑑𝑥

−∞

𝑃𝑣 𝑢 = 𝐹(𝑢, 0)の関係が成り立つのは、x軸上への投影だけではないこと、 つまり、x軸とθの角度をなす直線上への投影についても成り立つことを示しなさい。

Page 7: ディジタル信号処理の課題解説 その2

課題13

x,y座標系からθだけ回転させたs,t座標系へ変換→s軸へ投影

𝑥𝑦 =

cos 𝜃 sin 𝜃sin 𝜃 cos 𝜃

[𝑠𝑡]

𝑃𝑡 𝑠 = 𝑓 𝑥, 𝑦 𝑑𝑡∞

−∞

これをフーリエ変換すると(α, 𝛽座標系とする)

𝑃𝛽 𝛼 = 𝑃𝑡(𝑠)𝑒−𝑗𝛼𝑠𝑑𝑠

−∞

= 𝑓 𝑥, 𝑦∞

−∞𝑒−𝑗𝛼𝑠𝑑𝑠𝑑𝑡

−∞

𝜃 x

y

s

t

= 𝑓 𝑥, 𝑦∞

−∞exp[−𝑗𝛼(𝑥 cos 𝜃 + 𝑦 sin 𝜃)] 𝑑𝑥𝑑𝑦

−∞

= 𝐹(𝛼 cos 𝜃 , 𝛼 sin 𝜃) (証明終)

Page 8: ディジタル信号処理の課題解説 その2

課題13

• このようにして初めて360度どの方向からも投影できる

1

1

3

3

5

3 1 3 1 3

0

0

2

2

1 2 2 2 2 etc…

どこのピクセルを通ってるのか?

→ディジタル化の問題(課題14)

これらの値からフーリエ変換を用いて元の画像を推測する

Page 9: ディジタル信号処理の課題解説 その2

標本化

• 課題18 補間による誤差

• 課題19 音データのdown/up sampling

• 課題20 離散時間信号の周波数特性の定義域

• 課題21 標本化間隔が一定でない場合のフーリエ変換

(課題17は講義中資料参照)

Page 10: ディジタル信号処理の課題解説 その2

課題18

補間関数𝐶(𝑡)は𝑆𝑎(𝑡)の近似関数であるが,両者の誤差関数を描きなさい.

𝑆𝑎 𝑡 =sin 𝜋𝑡

𝜋𝑡

𝐶 𝑡 =

1 − 2 𝑡 2 + 𝑡 3(0 ≤ |𝑡| ≤ 1)

4 − 8 𝑡 + 5 𝑡 2 − 𝑡 3(1 ≤ |𝑡| ≤ 2)

0(2 ≤ |𝑡|)

Page 11: ディジタル信号処理の課題解説 その2

課題18

t= -10:0.1:10;%tの値の定義

y1=sinc(t);%sinc関数に代入

subplot(3,1,1);

plot(t,y1);

I = find((0<=abs(t)&abs(t)<1));%tの値により条件分岐

J = find(1<=abs(t)&abs(t)<2);

y2=zeros(size(t));

y2(I)=1-2*abs(t(I)).^2+abs(t(I)).^3;%それぞれの場合について計算

y2(J)=4-8*abs(t(J))+5*abs(t(J)).^2-abs(t(J)).^3;

subplot(3,1,2);

plot(t,y2);

y3=abs(y1-y2); %2つの関数の差分をとり誤差関数の計算

subplot(3,1,3);

plot(t,y3)

Sa(t)の描画

C(t)の描画

誤差関数の描画

MATLABで描画してみた

Page 12: ディジタル信号処理の課題解説 その2

課題18

𝑆𝑎(𝑡)

𝐶(𝑡)

誤差関数

結果

0に近いところは

ほとんど誤差がない

→よく近似できている

Page 13: ディジタル信号処理の課題解説 その2

課題18

• 別の近似関数を使うならsinc関数を途中で切ったような関数を使った方がいいのでは…?

と思ったのだが…

• sinc関数はx座標が0に近い時分母も分子も限りなく0に近づき(y座標の値は1に近づく)誤差が大きくなるので使わないとのこと

Page 14: ディジタル信号処理の課題解説 その2

課題19

1

ある音データに対して、1/2のdownsamplingおよび2倍のupsamplingを行ったものをそのまま音として聞くとどのようになるかを調べなさい.

(音再生ソフトは再生する音データのサンプリング周波数が

固定あるいは可変になっている.)

2

通常のNTSC規格のビデオ映像(640x480画素)をハイビジョンテレビ(1920x1080画素)で映す場合およびその逆の場合は,どのような処理をすればよいか考えなさい.

Page 15: ディジタル信号処理の課題解説 その2

課題19-1

アップサンプリング

間に0を補間する

ダウンサンプリング

値を間引く

元波形

Page 16: ディジタル信号処理の課題解説 その2

課題19-1

clear all

close all

%音声の読み込み

[in,Fs] = audioread(‘sample.wav’)

l_in = length(in);

l_out1 = floor(l_in/2);

out1 = zeros(1,l_out1);

%ダウンサンプリング

%入力を1個おきに出力へ代入する

for i= 1:l_out1

out1(i) = in(2*i);

end

%出力

wavwrite(out1,Fs/2,'down.wav');

l_out2 = l_in*2;

out2 = zeros(1,l_out2);

%アップサンプリング

%1個おきに0を代入しながら、入力を出力へ代入する

for i= 1:l_in

out2(i*2) = in(i);

end

%折り返しの部分が入るのでFs

以上の部分はカット

%LPFをかける

h1=fir1(40,(Fs/2)/Fs,'low');

out2=conv(out2,h1);

out2=out2(1:l_out2);

wavwrite(out2,Fs*2,'up.wav');

Page 17: ディジタル信号処理の課題解説 その2

課題19-1

スペクトログラムの違い

元波形 アップサンプリング ダウンサンプリング

Page 18: ディジタル信号処理の課題解説 その2

課題19-1

• ダウンサンプリングをすると使用できる周波数は元の周波数の2分の1になるので高音域がカットされる

• 音がこもって聞こえる

• アップサンプリングをしても一見何も変わらないように思えるが…

• 使用できる周波数が2倍になったので高音域の補間が可能

• 実際にアップサンプリング→高周波数の補間により音質をよくするというソフトや機器がある

Page 19: ディジタル信号処理の課題解説 その2

課題19-2

• NTSC規格のビデオ映像とハイビジョンテレビの違いから

→これら3つの違いについて補間方法などを考える

ビデオ映像 ハイビジョン

画素数 640x480 1920x1080

アスペクト比 4:3 16:9

垂直同期周波数

(フレームレート的な?) 59.94Hz 60Hz

Page 20: ディジタル信号処理の課題解説 その2

課題19-2

1.周波数変換

• おおよそ1000:1001なので1000枚に1枚補間する必要がある

• 1000枚に一回は前フレームと同じ画像を入れる • できるだけ動きの少ないところ,シーンチェンジなどに入れるとさらに良い

2.画素の補間

• 講義中に出てきた最近傍補間,線形補間,双三次補間などを行う

Page 21: ディジタル信号処理の課題解説 その2

課題19-2

• 実際に補間してみる(画像を3倍にした場合)

img=imread('lenasmall.jpg');

img=rgb2gray(img);

imgA=imresize(img,3,'nearest'); %最近傍補間

imgB=imresize(img,3,'bilinear'); %線形補間

imgC=imresize(img,3,'bicubic'); %双3次補間

subplot(1,3,1);imshow(imgA)

subplot(1,3,2);imshow(imgB);

subplot(1,3,3);imshow(imgC)

Page 22: ディジタル信号処理の課題解説 その2

課題19-2

最近傍補間 線形補間 双三次補間

最近傍補間は画像が荒く見えるのに対して線形補間や双3次補間は

補間され滑らかになっているように見える

Page 23: ディジタル信号処理の課題解説 その2

課題19-2

3.アス比の修正

上下カット方式

→幅をそろえる

サイドパネル方式

→高さをそろえる

アナモフィック方式

→横に引き伸ばす

4:3の画像

通常はデータの欠損,変形の生じないサイドパネル方式が使用される

16:9の動画

Page 24: ディジタル信号処理の課題解説 その2

課題20

連続時間信号の周波数特性は−∞ < 𝜔 < ∞で表現されるのに対して,離散時間信号の周波数特性が−𝜋 < Ω < 𝜋(or 0 <Ω < 2𝜋)で定義される.この理由を説明しなさい.

Page 25: ディジタル信号処理の課題解説 その2

課題20

• 離散時間信号をフーリエ変換すると,サンプリング周波数を周期とした周期関数となる

切り出された信号

(信号の切り出し方は後々出てくる)

−𝜋 < Ω < 𝜋での定義で良い T𝜔 =2𝜋𝑓

𝑓𝑠よりサンプリング周波数で2𝜋となる

Page 26: ディジタル信号処理の課題解説 その2

課題20

実際に𝑥 𝑛 = cos𝜔𝑛のとき角周波数が2𝜋大きくなると…?

cos 𝜔 + 2𝜋 𝑛

= cos(𝜔𝑛 + 2𝜋𝑛) = cos𝜔𝑛

= 𝑥 𝑛

…となるので数式の上では周期2𝜋になっている

図で見ると…(図では周期は4倍になっているが)

Page 27: ディジタル信号処理の課題解説 その2

課題21

標本化間隔が以下の図のように… , 𝑇, 2𝑇, 𝑇, 2𝑇,…と変化するデルタ関数𝛿𝑇−2𝑇 𝑡 を用いて連続時間信号𝑥(𝑡)を標本化した信号を𝑥𝑑 𝑡 とする.このとき,𝑥𝑑 𝑡 のフーリエ変換𝑋𝑑 𝜔 を𝑥 𝑡のフーリエ変換𝑋(𝜔)を用いて表しなさい.

Page 28: ディジタル信号処理の課題解説 その2

課題21

• 分解して考える

= -

𝛿T−2T 𝛿𝑇 𝛿3T

周期Tの離散信号から周期3Tの離散信号を引けばよい

ω = 2𝜋/𝑇であることを考慮して定義式から…

𝑥𝑑 𝑡 = 𝑥 𝑡 𝛿𝑇−2𝑇 𝑡 = 𝑥 𝑡 𝛿𝑇 𝑡 − 𝑥(𝑡)𝛿3𝑇(𝑡)

𝑋𝑑 𝜔 =1

𝑇 𝑋(𝜔 − 𝑛𝜔𝑠)

𝑛=−∞

−1

3𝑇 𝑋(𝜔 −

𝑛𝜔𝑠3)

𝑛=−∞