• 沒有找到結果。

Wireless Access Tech. Lab.

N/A
N/A
Protected

Academic year: 2022

Share "Wireless Access Tech. Lab."

Copied!
73
0
0

加載中.... (立即查看全文)

全文

(1)

Matrix Laboratory (Matlab)

Gwo-Ruey Lee

(2)

Wireless Access Tech. Lab.

MATLAB

z MATLAB 是由MathWorks 公司於1984 年推出的數學 軟體,其名稱是由「矩陣實驗室」( MATrix

LABoratory)所合成,因此可知其最早的發展理念是

提供一套非常完善的矩陣運算指令,但隨著數值運算需

求的演變, MATLAB 已成為各種系統模擬、數位訊號

處理、科學重視的標準語言。

(3)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

MATLAB 5

z MATLAB 第五版的外觀

(4)

Wireless Access Tech. Lab.

MATLAB 5

z 在 MATLAB 命令視窗上還有MATLAB 工具列,其中有 三個直接和 MATLAB 操作相關的圖示,分別是(工作 空間瀏覽器, Workspace Browser)、(路徑瀏覽器,

Path Browser)、(Simulink 方塊庫瀏覽器,

Simulink Block Library Browser),以及(線上支援

視窗, Help Window)

(5)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

MATLAB 5

z 工作空間瀏覽器:

¾

MATLAB 用來儲存變數的空間,稱為工作空間

(Workspace),工作空間瀏覽器可用於瀏覽位於工作空間中 的變數,包含其名稱、資料形態、維度大小、佔用位元大小等,

其外觀如下:

(6)

Wireless Access Tech. Lab.

MATLAB 5

z 路徑瀏覽器:

¾

MATLAB 在執行每一個指令時,會根據一個搜尋路徑

(Search Path)來找尋指令的位置。路徑瀏覽器的功能即是 以視窗面的方式來對搜尋路徑進行新增、刪除或修改等功能

(7)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

MATLAB 5

z Simulink 方塊庫瀏覽器:

¾

Simulink 是以方塊圖為基礎的動態模擬系統,他並不是

MATLAB 的一部份,而是架於MATLAB 之上的另一個產品。

因此如果您沒有安裝Simulink ,您的MATLAB 就不會出現此 圖示。Simulink 方塊庫瀏覽器可以顯示可用的Simulink 內建方 塊圖

(8)

Wireless Access Tech. Lab.

MATLAB 5

z 線上支援視窗:

¾

點選此圖示,可開啟MATLAB 的線上支援視窗,此視窗將

MATLAB 所有的指令分門別類,您可以一路點選所要的類別或 指令,直到得到所需的線上支援。

(9)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

MATLAB 6

z MATLAB 第六版的外觀

(10)

Wireless Access Tech. Lab.

MATLAB 6

z View/Command Window: 開啟或關閉「命令視窗」。

z View/Command History: 開啟或關閉「命令歷史列」。

z View/MATLAB Browser: 開啟或關閉「MATLAB 瀏覽 器」。

z View/Help Browser: 開啟或關閉「線上支援瀏覽器」。

z View/File Brower: 開啟或關閉「檔案瀏覽器」。

z View/Workspace Browser: 開啟或關閉「工作空間瀏

覽器」。

(11)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

MATLAB 7

z MATLAB 第七版的外觀

(12)

Wireless Access Tech. Lab.

Matlab

z

基本概述

¾

MATLAB基本運算

y

MATLAB下進行基本數學運算加(+)、減(-)、乘(*)、除(/)、

冪次(^),只需將運算式直接打入提示號(>>)之後,並按入Enter鍵即 可。例如: x=2*(4+2)/6 。

y

MATLAB 會將運算結果直接存入預設變數ans,代表MATLAB 運算

y

後的答案(Answer),並在螢幕上顯示其運算結果的數值,若要顯示變 x的值,直接鍵入x即可。

y

若不想讓MATLAB每次都顯示運算結果,只需在運算式最後加上分號

(;)即可。

y

MATLAB會忽略所有在百分比符號(%)之後的文字,因此百分比之後的 文字均可視為程式的註解(Comments)。

y

若一個數學運算是太長,可用三個句點(… )將其延伸到下一行,

y

lookfor:用來尋找未知的命令。

y

help:用來查詢已知命令的用法。

y

Clear: 清除指令。

y

Close: 關閉視窗。

(13)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

變數命名的規則

y

第一個字母必須是英文字母

y

字母間不可留空格

y

最多只能有31 個字母,MATLAB 會忽略多餘字母(在 MATLAB 第4 版,則是19 個字母)

y

MATLAB 在使用變數時,不需預先經過變數宣告

(Variable Declaration)的程序,而且所有數值變數均 以預設的資料型式儲存。

(14)

Wireless Access Tech. Lab.

Matlab

z MATLAB 指令處理程序

(15)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 設定 MATLAB 搜尋路徑

¾

若要檢視MATLAB 已設定的搜尋路徑,鍵入path 指令即可:

(16)

Wireless Access Tech. Lab.

Matlab

z 目錄操作相關的指令

(17)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z MATLAB 的永久常數

(18)

Wireless Access Tech. Lab.

Matlab

z MATLAB 的查詢指令及線上支援

(19)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 離開 MATLAB

¾

若要結束離開MATLAB 的環境,只要選擇下列三種方式中之一 進行即可:

y

1. 在命令視窗內,鍵入exit 指令。

y

2. 在命令視窗內,鍵入quit 指令。

y

3. 直接關閉MATLAB 的命令視窗。

(20)

Wireless Access Tech. Lab.

Matlab

¾

矩陣的處理與運算

y

名詞解釋

y 向量(Vector):一維的矩陣,可分為行向量(Column vectors)及列向量(Row Vectors)。

y 矩陣(Matrices):二維的陣列,一維向量為其特例。

y 陣列(Arrays):為矩陣的延伸,可含有n維,一般二維矩陣及一維向量均為其特 例。

y

特殊矩陣

指令 說明

zeros 全為零的矩陣

ones 全為1的矩陣

eye 單位矩陣

pascal Pascal矩陣 vander Vandermonde矩陣

hilb Hilbert矩陣

rand [0, 1] 均勻分佈的亂數矩陣

randn N(0,1)的正規分佈亂數矩陣

magic 魔方陣

(21)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

y 矩陣的加減乘除

y

矩陣的加減與一般純量的加減類似,唯一的要求是:相加或相減的矩 陣必須具有相同的維度。若維度不一致,則 MATLAB 會產生錯誤訊 息。

(22)

Wireless Access Tech. Lab.

Matlab

y 矩陣的索引和下標

(23)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

(24)

Wireless Access Tech. Lab.

Matlab

¾ 向量或矩陣各種運算 y

x=[0,5,2,6]

y

列向量(Row vector)運算,y= 2*x+3; y=[0,13,7,15];

y

y(2)=2 %更改第三個元素, y=[0,2,7,15];

y

y(3)=[] %刪除第四個元素,y=[0,2,15];

y

y(2:3)-1 %取出y的第二至第四個元素來做運算,y=[1,14];

y

x = 7:3:16 % 公差為3的等差數列,x=[7,10,13,16];

y

將列向量轉置(Transpose)後,即可得到行向量(Column vector):y=x’;

y

length(y) % y的元素個數

y

max(y)/min(y) % z的最大值/最小值

(25)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

MATLAB常用的基本數學函數

y

abs(x):純量的絕對值或向量的長度

y

angle(z):複數z的相角(Phase angle)

y

sqrt(x):開平方

y

real(z):複數z的實部

y

imag(z):複數z的虛部

y

conj(z):複數z的共軛複數

y

round(x):四捨五入至最近整數

y

sin(x):正弦函數

y

cos(x):餘弦函數

y

sinh(x):超越正弦函數

y

cosh(x):超越餘弦函數

y

gcd(x,y):整數x和y的最大公因數

y

lcm(x,y):整數x和y的最小公倍數

y

exp(x):自然指數

y

pow2(x):2的指數

y

log(x):以e為底的對數,即自然對數或

y

log2(x):以2為底的對數

y

log10(x):以10為底的對數

(26)

Wireless Access Tech. Lab.

Matlab

z Example

¾

y= |x| Æ y=abs(x)Æ

¾

y= |x| Æ y=abs(x)Æ

-1 -0.5 0 0.5 1

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x

y

clear all;

close all;

x=-1:0.01:1;

y=x;

plot(x,y)

clear all;

close all;

x=-1:0.01:1;

z=abs(x);

plot(x,z) 0-1 -0.5 0 0.5 1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

x

y

(27)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

Î y=sqrt(x) Î

¾

y=sin(x)Æ y=sin(x)Æ

1 1.5 2 2.5 3

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

y = x

clear all;

close all;

x=1:0.01:3;

y=sqrt(x);

plot(x,y)

clear all;

close all;

x=-pi:0.01:pi;

y=sin(x);

plot(x,y)

-8 -6 -4 -2 0 2 4 6 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x

y

(28)

Wireless Access Tech. Lab.

Matlab

¾

y=cos(x)Æ y=cos(x)Æ

¾

y=sinh(x)Æ y=sinh(x)Æ

-8 -6 -4 -2 0 2 4 6 8

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x

y

clear all;

close all;

x=-2*pi:0.01:2*pi;

y=cos(x);

plot(x,y)

-8 -6 -4 -2 0 2 4 6 8

-300 -200 -100 0 100 200 300

x

y

clear all;

close all;

x=-2*pi:0.01:2*pi;

y=sinh(x);

plot(x,y)

(29)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

y=cosh(x)Æ y=cosh(x)Æ

¾

Æ y=exp(x)Æ

clear all;

close all;

x=-2*pi:0.01:2*pi;

y=cosh(x);

plot(x,y)

-8 -6 -4 -2 0 2 4 6 8

0 50 100 150 200 250 300

x

y

y = e

x

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0 1 2 3 4 5 6 7 8

x

y

clear all;

close all;

x=-2*pi:0.01:2*pi;

y=exp(x);

plot(x,y)

(30)

Wireless Access Tech. Lab.

Matlab

z y=log

e

(x) Æ y=log

e

(x) Æ

z y=log

10

(x) Æ y=log

10

(x) Æ

0 0.5 1 1.5 2

-5 -4 -3 -2 -1 0 1

x

y

clear all;

close all;

x=0:0.01:2;

y=log(x);

plot(x,y)

0 0.5 1 1.5 2

-2 -1.5 -1 -0.5 0 0.5

x

y

clear all;

close all;

x=0:0.01:2;

y=log10(x);

plot(x,y)

(31)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z

Æ y=x*(exp(-x))*cos(2*pi*4*x) Æ

cos(2 4 ) y = xe x π x

0 1 2 3 4 5 6 7 8

-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4

x

y

clear all;

close all;

x=0:0.01:8;

y=x.*(exp(-x)).*cos(2*pi*4*x) plot(x,y)

(32)

Wireless Access Tech. Lab.

Matlab

z MATLAB 提供重複迴圈(Loop)及條件判斷

( Condition)等程式流程控制(Flow Control)的指令,

最簡單的程式重複執行指令是 for 迴(For-loop)

(33)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

重複命令

y

for迴圈

y

while 條件式

x = zeros(1,6);

for i = 1:6, x(i) = 1/i;

end disp(x)

1 1/2 1/3 1/4 1/5 1/6

for 變數 = 向量;

運算式;

end

x = zeros(1,6);

i = 1;

while i <= 6, x(i) = 1/i;

i = i+1;

end

disp(x)

1 1/2 1/3 1/4 1/5 1/6

while 條件式;

運算式;

End

(34)

Wireless Access Tech. Lab.

Matlab

¾

邏輯命令

y

if 條件式

if x =[1,0,1,1]

Y=1+j end

if 條件式;

運算式;

end

h = zeros(6);

for i = 1:6, for j = 1:6,

h(i,j) = 1/(i+j-1);

end end

disp(h)

1 1/2 1/3 1/4 1/5 1/6 1/2 1/3 1/4 1/5 1/6 1/7 1/3 1/4 1/5 1/6 1/7 1/8 1/4 1/5 1/6 1/7 1/8 1/9 1/5 1/6 1/7 1/8 1/9 1/10

if 條件式;

運算式1;

else 運算式2;

end

(35)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

switch-case-otherwise 的多向分支指令

for month = 1:12;

switch month case {3,4,5}

season = 'Spring';

case {6,7,8}

season = 'Summer';

case {9,10,11}

season = 'Autumn';

case {12,1,2}

season = 'Winter';

end

fprintf('Month %g is

%s.\n', month, season);

end

switch expression case value 1

statement 1 case value 2

statement 2 .

. .

case value n-1 statement n-1 otherwise

statement n end

(36)

Wireless Access Tech. Lab.

Matlab

z 預先配置矩陣

¾

使用zeros 來預先配置(Pre-allocate)一個適當大小的矩陣。

若不預先配置矩陣,程式仍可執行,但此時MATLAB 需要動態 地增加(或減小)矩陣的大小,因而降低程式的執行效率。所 以在使用一個矩陣時,若能在事前知道其大小,則最好先使用 zeros 或ones 等指令來預先配置矩陣所需的記憶體大小,以增 進程式的執行效率。

(37)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z

繪圖功能

¾

MATLAB不但擅長於矩陣相關的各種數值運算,也具有非常強大的繪

圖功能,特別適用於各種科學目視表示法(Scientific Visualization)。

¾

二維繪圖

y

plot: x軸和y軸均為線性刻度(Linear scale)

y

loglog: x軸和y軸均為對數刻度(Logarithmic scale)

y

semilogx: x軸為對數刻度,y軸為線性刻度

y

semilogy: x軸為線性刻度,y軸為對數刻度

y

plotyy命令可以畫出兩個刻度不同的y軸

¾

三度空間立體繪圖

y

mesh可畫出立體網狀圖(mesh plots) ,產生的圖形都會依高度而 有不同顏色。

y

plot則可畫出立體曲面圖(surface plots),產生的圖形都會依高 度而有不同顏色。

(38)

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -plot

(39)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 三度空間立體繪圖 -plot

0 10 20 30 40 50

-8 -6 -4 -2 0 2 4 6 8 10

(40)

Wireless Access Tech. Lab.

Matlab

z 三度空間立體繪圖 -mesh

(41)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾ 特殊圖形 y

長條圖

y bar, barh, bar3, bar3h

y

面積圖

y area

y

扇形圖

y pie, pie3

y

針頭圖

y stem, stem3

y

階梯圖

y stairs

y

實心圖

y quiver, quiver3

y

向量場圖

y fill, fill3

y

等高線圖

y contour, contourf, contour3

(42)

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -bar

1 2 3 4 5 6 7 8 9 10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

(43)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -barh

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 2 3 4 5 6 7 8 9 10

(44)

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -area

1 2 3 4 5 6 7 8 9 10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

(45)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -pie

12%

11%

8%

14%

12%

5%

10%

13%

< 1%

15%

(46)

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -stem

1 2 3 4 5 6 7 8 9 10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

(47)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 二維繪圖 -stairs

1 2 3 4 5 6 7 8 9 10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

(48)

Wireless Access Tech. Lab.

Matlab

z 三維繪圖 - contour

1 1.5 2 2.5 3

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

(49)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z 三維繪圖 - contour3

1

1.5

2

2.5

3

1 2

3 4

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

(50)

Wireless Access Tech. Lab.

Matlab

z 三維繪圖 - contourf

1 1.5 2 2.5 3

1 1.5 2 2.5 3 3.5 4

(51)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z It may be desirable to display the results with more control over the appearance of the plot.The following script plots the same results but shows how to add labels, add titles, define axes scales, etc.

-1 -0.5 0

-10 -5 0 5 10

P ole -Ze ro Dia gra m

Re a l

Imaginary

100 -60

-40 -20 0

Ma gnitude of Bode Dia gra m

Magnitude (dB)

Ra dia n Fre que ncy (ra d/s )

100 -50

0 50

Angle of Bode Dia gra m

Angle (deg)

Ra dia n Fre que ncy (ra d/s )

0 2 4 6

-0.1 -0.05 0 0.05 0.1

S te p Re s pons e

Time (s )

Amplitude

(52)

Wireless Access Tech. Lab.

Matlab

t = linspace(0,5,201);

w = logspace(-1,3,201);

num = [1 0];

den = [1 2 101];

[poles,zeros] = pzmap(num,den);

[mag,angle] = bode(num,den,w);

[y,x] = step(num,den,t);

figure(1)

subplot(2,2,1)

plot(real(poles),imag(poles),'x'…

,real(zeros),imag(zeros),'o');

title('Pole-Zero Diagram');

xlabel('Real');

ylabel('Imaginary');

axis([-1.1 0.1 -12 12]);

grid;

subplot(2, 2, 2);

semilogx(w,20*log10(mag));

title('Magnitude of Bode Diagram');

ylabel('Magnitude (dB)');

xlabel('Radian Frequency (rad/s)');

axis([0.1 1000 -60 0]);

grid;

subplot(2, 2, 4);

semilogx(w,angle);

title('Angle of Bode Diagram');

ylabel('Angle (deg)');

xlabel('Radian Frequency (rad/s)');

axis([0.1 1000 -90 90]);

grid;

subplot(2, 2, 3);

plot(t,y);

title('Step Response');

xlabel('Time (s)');

ylabel('Amplitude');

(53)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z

程式設計

¾

MATLAB程式碼所撰寫的檔案通常以“ .m ”為副檔名,所以這 些檔案又稱為

M檔案」(M-files)。

¾

MATLAB的偵錯器(Debugger)可以迅速地找出你的程式錯誤,其功能包含:

y

查詢每一個函式的工作空間(Workspace)

y

顯示函式呼叫的堆疊(Function call stack)

y

一列一列地執行M檔案

¾

程式計時

y

MATLAB 的 tic 和 toc 指令,是最簡單的計時方法。

y

MATLAB 的計時器(Profiler),它可以分別計算每一個指令所佔用的執行 時間,並列出詳細的統計表。

y

profile,它可以跟著一個選項,以代表不同功能,列表如下:

y

profile on:清除舊的計時資料,並開始對各個函數進行計時。

y

profile off:停止計時器。

y

profile resume:啟動計時器,但保留舊的計時資料。

y

profile clear:清除所有的計時資料。

y

profile report:停止計時器,並將計時資料以 HTML 格式在 WWW 瀏覽 器呈現出來

(54)

Wireless Access Tech. Lab.

Matlab

¾

檔案輸出及輸入

類別 函式 功能

開檔/關檔 fopen 開啟檔案

fclose 關閉檔案

二進制資 料

fread 從檔案讀取二進制資料

fwrite 將二進制資料寫入檔案

格式化資 料

fscanf 從檔案讀取格式化資料

fprintf 將格式化資料寫入檔案

fgetl 從檔案讀取一列資料,但捨

去換行字元

fgets 從檔案讀取一列資料,但保

留換行字元

類別 函式 功能

字串 sprintf 將格式化資料寫至字串

sscanf 從字串讀取格式化資料

檔案位置 控制

ferror 檔案輸入/輸出的錯誤狀態

feof 測試是否已到檔案結束位置

fseek 設定檔案定位器

ftell 讀取檔案定位器

frewind 回轉檔案定位器

暫存檔案/

目錄

tempdir 取得暫存目錄的名字

tempname 取得暫存檔案的名字

(55)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¾

應用程式介面(Application program interface, API)

y

MATLAB 與其它外部程式溝通

y

利用MATLAB 呼叫 C 函式

(56)

Example 1

(57)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

%%BPSK function clear all;

clc;

format long g;

%TX M=2;

m=log2(M);

NumDATA=10;

FRAMEIN=

ceil(rand(1,NumDATA)-0.5);

for k=1:length(FRAMEIN)

x=FRAMEIN(1,(m*(k-1)+1):m*k);

% BPSK Mapping

if x==[0]

Map=cos(pi*0) ; elseif x==[1]

Map= cos(pi*1);

end

sample(1,k)=[Map];

end

desample=sample;

%RX

for g=1:length(desample) y=zeros(1,m);

Demap=zeros(1,1);

Dede=desample(1,g);

Demap=mod(phase(Dede),2*pi);

% BPSK DeMapping

if or(Demap>=((3/2)*pi), Demap<(pi/2))

y=[0];

elseif Demap<((3/2)*pi) &

Demap>=(pi/2)

y=[1];

end

FRAMEOUT(1,m*(g-1)+1:m*g)=[y];

end FRAMEIN FRAMEOUT

(58)

Wireless Access Tech. Lab.

Matlab

z FRAMEIN =

z 0 1 0 1 1 0 1 0 0 1

z FRAMEOUT =

z 0 1 0 1 1 0 1 0 0 1

(59)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

2 3 4 5 6 7 8 9 10

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

(60)

Wireless Access Tech. Lab.

Matlab

z Signal constellation

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

(61)

Example 2

(62)

Wireless Access Tech. Lab.

Matlab

z 影像強化技術的主要目的是為了增加影像的視覺效果,

讓人眼或機器更容易去辨識。

z 探究影像如何對不清晰或失真的影像去改善其效果,或 對於受雜訊干擾的影像去做影像還原的技巧,以達到我 們能辨識或得到所需的影像訊息。

z 通常的使用的方法大致可以分為點處理增強、空間與頻 域濾波器幾種。

z 空間濾波器大致可以分為:Lowpass filter、Highpass filter、Bandpass filter、Median filter、Edge- Detection filter、Differentiation filter、

Laplacian filter等,各種濾波器各有其使用的目的

(63)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z Lowpass filter:

¾ Mask:

z Median filter:

¾

其使用方法為把Mask內的各灰階值由大排到小,取其中排序在 中間的那個值。

1/9 1/9 1/9

1/9 1/9 1/9

1/9 1/9 1/9

(64)

Wireless Access Tech. Lab.

Matlab

z Highpass filter:

¾ Mask

-1/9 -1/9 -1/9

-1/9 -8/9 -1/9

-1/9 -1/9 -1/9

(65)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

-ì¼v¹³ ¸gGa ue s s ia n nois e «á ªº¼v¹³

原圖 加高斯雜訊

(66)

Wireless Access Tech. Lab.

Matlab

¨Ï¥Î3x3Lowpa s s filte r§ïµ½¸gGa ue s s ia n nois e ,m=0.5,Va r=0.01«á ªº¼v¹³ ¨Ï¥Î4x4Lowpa s s filte r§ïµ½¸gGa ue s s ia n nois e ,m=0.5,Va r=0.01«á ªº¼v¹³

3x3 low pass 4x4 low pass

(67)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

¨Ï¥Î3x3me dium filte r§ïµ½¸gGa ue s s ia n nois e ,m=0.5,Va r=0.01«á ªº¼v¹³

3x3 mid filter

¨Ï¥Î4x4Me dium filte r§ïµ½¸gGa ue s s ia n nois e ,m=0.5,Va r=0.01«á ªº¼v¹³

4x4 mid filter

(68)

Wireless Access Tech. Lab.

Matlab

¨Ï¥Î3x3highpa s s -pre witt filte r§ïµ½«á ªº¼v¹³

3x3 high pass

¨Ï¥Î3x3highpa s s -pre witt filte r§ïµ½«á ªº¼v¹³

4x4 high pass

(69)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

%程式L5_1.m: 直方圖等化法%

%image_1 原影像;image_2 執行直方圖等化後的影像%

image_1=imread('E:/dip/ch5/L5_1.bmp'); %讀取影像 image_2=histeq(image_1); %對上述影像執行直方圖等 化

imshow(image_1) %顯示原影像

figure,imshow(image_2) %顯示處理後的影像 figure,imhist(image_1) %顯示原影像的直方圖 figure,imhist (image_2) %顯示處理後影像的直方圖

%程式L5_2.m: 平滑濾波器%

%Image: 原影像%

%Image_noisy: 受污染的影像%

%Image_low: 執行低通濾波器後的影像%

%Image_med: 執行中值濾波器後的影像%

Image=imread('A:/ch5/L5_2.bmp'); %讀取影像

%將胡椒鹽式的雜訊加入原影像中,其中0.02 是雜訊密度%

Image_noisy= imnoise (Image ,'salt & pepper',0.06);

Image2_noisy=double(Image_noisy)/255; %變為 double格式 h=[1/9 1/9 1/9;1/9 1/9 1/9 ; 1/9 1/9 1/9]; %濾波器的子遮罩 Image_low=filter2(h, Image2_noisy); %執行低通濾波

Image_med=medfilt2(Image_noisy,[3 3]); %中值濾波採3×3矩陣

%顯示影像%

imshow(Image) figure,imshow(Image_noisy) figure,imshow(Image_low) figure,imshow(Image_med)

(70)

Wireless Access Tech. Lab.

Matlab

%程式L5_2.m: 平滑濾波器%

%Image: 原影像%

%Image_noisy: 受污染的影像%

%Image_low: 執行低通濾波器後的影像%

%Image_med: 執行中值濾波器後的影像%

Image=imread('A:/ch5/L5_2.bmp');

%讀取影像

%將胡椒鹽式的雜訊加入原影像中,其中0.02 是雜 訊密度%

Image_noisy= imnoise (Image ,'salt &

pepper',0.06);

Image2_noisy=double(Image_noisy)/255;

%變為 double格式

h=[1/16 1/16 1/16;1/16 1/16 1/16 ; 1/16 1/16 1/16 ;1/16 1/16 1/16]; %濾波 器的子遮罩

Image_low=filter2(h, Image2_noisy);

%執行低通濾波

Image_med=medfilt2(Image_noisy,[5 5]); %中值濾波採3×3矩陣

%顯示影像%

imshow(Image) figure,imshow(Image_noisy)

figure,imshow(Image_low) figure,imshow(Image_med)

%程式L5_2.m: 平滑濾波器%

%Image: 原影像%

%Image_noisy: 受污染的影像%

%Image_low: 執行低通濾波器後的影像%

%Image_med: 執行中值濾波器後的影像%

Image=imread('A:/ch5/L5_2.bmp'); %讀取影像

%將胡椒鹽式的雜訊加入原影像中,其中0.02 是雜訊密度%

Image_noisy= imnoise (Image ,'salt & pepper',0.06);

Image2_noisy=double(Image_noisy)/255; %變為 double格式 h=[1/9 1/9 1/9;1/9 1/9 1/9 ; 1/9 1/9 1/9]; %濾波器的子遮罩 Image_low1=filter2(h, Image2_noisy); %執行低通濾波

v=[1/16 1/16 1/16;1/16 1/16 1/16 ; 1/16 1/16 1/16 ;1/16 1/16 1/16]; % 濾波器的子遮罩

Image_low2=filter2(v, Image2_noisy); %執行低通濾波 Image_med1=medfilt2(Image_noisy,[3 3]);

Image_med2=medfilt2(Image_noisy,[5 5]); %中值濾波採3×3矩陣

%顯示影像%

imshow(Image) figure,imshow(Image_noisy) figure,imshow(Image_low1) figure,imshow(Image_low2) figure,imshow(Image_med1) figure,imshow(Image_med2)

(71)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z Homework 1

z Generate AWGN in baseband BPSK systems

BPSK

Mapping AWGN BPSK

Demapping

{ } 1, 1

{ } 0,1

Random Data Generator

(72)

Wireless Access Tech. Lab.

Matlab

z Random data generator

¾

Generate a random sequence as a vector

y

rand : generate a random number between 0 and 1.

y

rand (m, n): is an m-by-n matrix with random entries, chosen from a uniform distribution on the interval (0.0,1.0).

y

Æ how to generate the sequence only 0 and 1 ??

¾

BPSK Mapping / Demapping

y

Using signal constellation concept

¾

AWGN

y

Give SNRÆ compute the signal power Æ Noise power or noise variance Æ generate a AWGN and add it to the signal.

y

randn (m,n) : it is an m-by-n matrix with random entries, chosen from a normal distribution with mean zero, variance one and standard deviation one.

¾

BER Simulation

(73)

Wireless Access Tech. Lab.

CCU

Wireless Access Tech. Lab.

Matlab

z Homework 2

¾

The Transmission of Direct-sequence Spread Spectrum

y

Spread / despread spectrum

y

Spread Code

y Walsh codes y Random codes

BPSK

Mapping Channel BPSK

Demapping Random

Data Generator

DS-SS (Code 2)

DS-DSS (Code 2) BPSK

Mapping Random

Data Generator

DS-SS (Code 1)

BPSK Mapping Random

Data Generator

DS-SS

(Code 3) BPSK

Demapping DS-DSS

(Code 3)

BPSK Demapping DS-DSS

(Code 1) User 1

User 2

User 3

User 1

User 2

User 3

參考文獻

相關文件

由於 A 為方陣, 其 row 的個數和 column 的個數皆為 n, 此時很自然地可以將 Theorem 3.4.2 和 Theorem 3.4.6 相連結得到 invertible

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

Jack Little(又稱為 John Little)將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。.. MathWorks 在

ƒ Persistent Connections (HTTP 1.1):HTTP 1.1改進 了HTTP 1.0 的缺點,藉由PersistentConnections減 少TCP connections,以增加WEB Server

‡戴爾安裝了位在維吉尼亞州的 WebMethods 公司所開發的 B2B 整合軟體。WebMethods 公司所開發的 B2B 整合軟體 WebMethods

過去 50 餘年來,我國經濟發展的顯著成就,已成為舉世聞名的事

其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用

電腦視覺的影像處理與分析在軟體部分,本研究分別使用美國微 軟公司所開發的 Visual C++ 6.0 以及美國 Matrox Imaging 公司所發展 出來的 Matrox Imaging Library 7.0。其中