Tải bản đầy đủ (.doc) (80 trang)

bao cao xu ly so tin hieu(Đai học ĐàLạt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 80 trang )

THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

THỰC HÀNH XỬ LÝ SỐ TÍN HIỆU
MATLAB là một cơng cụ tính tốn tốn học.MATLAB có thể được sử dụng để
tính tốn, nó cũng cho phép chúng ta vẽ các biểu đồ, đồ thị theo nhiều cách
khác nhau, giống như một chương trình phần mền, chúng ta có thể tạo, thực thi
và lưu một dãy các lệnh để máy tính có thể chạy tự động. Cuối cùng MATLAB
cũng có thể được coi như một ngơn ngữ lập trình, là một mơi trường dùng để
lập trình hay tính tốn. MATLAB được thiết kế để làm việc với những tập dữ
liệu đặc biệt chẳng hạn như ma trận, vector, hình ảnh.
BÀI 1:
LÀM QUEN VỚI MATLAB
1. Mở một hàm m-file và thực hiện các yêu cầu sau:
a. tạo hai ma trận có chiều dài n*m ,n và m là tùy ý.
v= [2 3 4; 7 5 3; 0 1 6]
% tạo ma trận v
 v=
2 3 4
7 5 3
0 1 6
u= [1 2 8; 3 7 4; 6 1 5]

% tạo ma trận u

 u=
1 2 8
3 7 4
6 1 5
b. cộng, trừ, nhân, chia hai ma trận vừa tạo (đưa ra kết quả).


v+u
% cộng hai ma trận
 ans =
3 5 12
10 12 7
6 2 11
v-u
% trừ hai ma trận
 ans =
1 1 -4
4 -2 -1
Trang 1
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

-6

0

v.*u
 ans =
2 6
21 35
0 1
v./u
 ans =
2.0000
2.3333

0

GV: Dương Thị Thanh Hiên

1
% nhân hai ma trận
32
12
30
% chia hai ma trận
1.5000 0.5000
0.7143 0.7500
1.0000 1.2000

c. Trích ra đường chéo của hai ma trận ban đầu, sau đó ghép lại thành một ma trận
mới.
g=diag(v)
% trích đường chéo ma trận v
 g=
2
5
6
t=diag(u)
% trích đường chéo ma trận u
 t=
1
7
5
h=[g t]
% ma trận của hai đường chéo

 h=
2 1
5 7
6 5
d, trích hai dịng của ma trận v, và cột của ma trận thứ u. sau đó ghép với ma trận v
để tạo thành ma trận mới.
r=v(1:2,:)
% trích hai dịng đầu của ma trận v
 r=
2
7
e=u(2:3,:)
 e=
3
6

3
5

4
3
% trích hai dịng cuối của ma trận u

7
1

4
5
Trang 2


SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

y=[r e]
 y=
2
7
i=v(:,3)
 i=
4
3
6

GV: Dương Thị Thanh Hiên

% ghép ma trận trích dịng
3
5

4
3

3
6

7
1


4
5
% trích cột cuối của ma trận v

j=u(:,1)
% trích cột đầu của ma trận u
 j=
1
3
6
k=[i j v]
% ghép hai ma trận trích cột
 k=
4 1 2 3 4
3 3 7 5 3
6 6 0 1 6
Nhận xét: Các toán tử trên điều là những tốn tử thơng dụng và dễ dàng thao tác.
2. Đồ họa:
2.1 Trong không gian 2D:
Mở một hàm m-file và vẽ đồ thị của các hàm ( vẽ trên cùng 1 cửa sổ )
x= linspace(-10,10,1000);
y1= -x.*sin(x);
subplot(2,2,1)
plot(x,y1,'b');
title('do thi y1')
xlabel('x');
ylabel('y1');
grid;
y2=-x.*cos(x)-sin(x);
subplot(2,2,2)

plot(x,y2,'g');
title('do thi y2');
xlabel('x');
ylabel('y2');
grid;
y3=diff(y1./(x(2))-x(1));
subplot(2,2,3)
plot(x(1:999),y3(1:999),'b');
Trang 3
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

title('do thi y3')
xlabel('x');
ylabel('y3');
grid;
y4=(y3-y2(1:999))./norm(y3);
subplot(2,2,4)
plot(x(1:999),y4(1:999),'black');
title('do thi y4')
xlabel('x');

ylabel('y4');
grid;
 kết quả thu được khi chạy chương trình (hình 1.1)


Trang 4
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

Nhận xét : Chương trình nhằm mơ phỏng cách sử dụng hàm vẽ đồ thị plot, hàm
tạo nhãn đồ thị title, hàm tạo đường kẻ gird, hàm tạo nhiều cửa sổ con trong cùng
một cửa sổ bằng subplot. Qua chương trình mơ phỏng ta biết được cách thức thực
hiện của chương trình cũng như chức năng của từng câu lệnh trong chương trình.
Để chỉ định màu và kiểu đường của nét vể ta dùng lệnh plot(x,y,’r ‘).
2.2 . Trong không gian 3D:
Mở một hàm m-file và vẽ đồ thị của các hàm
% hàm
x1= 0:0.05:pi;
y1= 0:0.05:pi;
[x1,y1]= meshgrid(x1,y1);
z1=sin(x1).*sin(y1);
mesh(z1)
title('Ham f(x,y) = sinx. siny, voi x,y = [0, π ]')
xlabel('trucx')
ylabel('trucy')
zlabel('trucz')
figure
 Kết quả thu được trong khơng gian 3D:

Trang 5
SVTT: LÊ ÍCH THỊNH



THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

% hàm
x2= -3:0.05:3;
y2= -3:0.05:3;
[x2,y2]= meshgrid(x2,y2);
z2= x2-x2.^3+y2.^2+1;
mesh(z2)
title('Ham f(x,y) = x- x3 + y2 +1, voi x,y= [-3,3]')
xlabel('trucx')
ylabel('trucy')
zlabel('trucz')
figure

 Kết quả trong không gian 3D:

Trang 6
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

% hàm
x3= -8:0.05:8;

y3= -8:0.05:8;
[x3,y3]= meshgrid(x3,y3);
z3= sin(sqrt(x3.^2+y3.^2))./sqrt((x3.^2+y3.^2).*x3);
mesh(z3)
legend(‘Bieu dien do thi 3D')
xlabel('trucx')
ylabel('trucy')
zlabel('trucz')

 Kết quả trong khơng gian 3D:

Trang 7
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

Nhận xét:
- Từ các chương trình trên ta thấy về hình thức các lệnh sử dụng trong hàm 3D
giống với 2D, tuy nhiên với việc sử dụng hàm plot3 trong hàm 3D nó sẽ mở rộng
thêm cho một trục tọa độ thứ 3. Trong khơng gian 2D ta có thể chỉ định màu và
kiểu đường của nét vẻ thì trong không gian 3D màu sắc của đồ thị được thực hiện
bởi lệnh mesh thay cho lệnh plot3.
3. Nhận xét chung:
-Với bài thực hành làm quen với phần mềm MATLAB. Ta đã thực hiện các phép
tính tốn ma trận, các tạo ma trận. Cách vẽ trong không gian 2D, 3D, mục đích
chính là để làm với các bài tốn đơn giản trước sau đó đến các bài tốn phức tạp
hơn.


Trang 8
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

BÀI 2:MƠ PHỎNG VÀ TẠO TÍN HIỆU
1. Tóm tắt lý thuyết
Với N 2 ≥ N1 . Dãy này có chiều dài N = N2 – N1 + 1 mẫu. (2.1) Một tín hiệu
thời gian rời rạc được biểu diễn như một dãy số hay còn gọi là một dãy mẫu, được
ký hiệu là {x[n]}; trong đó đối số là những số nguyên chạy từ −∞ đến +∞ , đặc
trưng cho thời gian. Giá trị của dãy mẫu tại thời điểm n là x[n]. Vì thế, để tiện lợi,
tín hiệu thời gian rời rạc bất kỳ thường được ký hiệu là x[n].

Tín hiệu thời gian rời rạc có thể là một dãy mẫu có chiều dài vơ hạn
hoặc hữu hạn. Dãy có chiều dài hữu hạn là dãy có giá trị khác không trong
một khoảng thời gian hữu hạn từ thời điểm N1 đến N2:
N1 ≤ n ≤ N 2


Dãy thỏa mãn điều kiện: x%[ n ] = x%[ n + kN ] được gọi là dãy tuần hoàn
với chu kỳ cơ bản N là một số nguyên dương và k là một số nguyên bất kỳ.

Năng lượng của dãy x[n] được xác định bằng cơng thức:


∑ x [ n]


ε=



n =−∞

K

∑ x [ n]



2
1
1 K
ε K = lim
x [ n]

K →∞ K + 1
K +1
n =− K

(2.4)

Cơng suất trung bình của dãy tuần hoàn x[n] với chu kỳ N được cho
2
1 N
x%[ n ]


N n =0

(2.5)

Dãy xung đơn vị đựơc ký hiệu bằng δ [ n ] và được xác định từ biểu
1, khi n = 0
δ[ n] = 
0, khi n ≠ 0

(2.6)

Dãy nhảy bậc đơn vị ký hiệu u[n] được xác định từ biểu thức:
1, khi n ≥ 0
u [ n] = 
0, khi n < 0




(2.3)

Cơng suất trung bình của một dãy khơng tuần hồn x[n] được xác

bởi cơng thức: Pav =

thức:

2

n =− K


định bằng cơng thức: Pav = Klim
→∞


(2.2)

Năng lượng của dãy trong một khoảng xác định từ −K ≤ n ≤ K được

xác định bằng biểu thức: ε =


2

(2.7)

Dãy sine phức được biểu thị bằng hệ thức: x [ n ] = A α e jω n +φ (2.8)
Dãy sine thực có biên độ là hằng số được biểu thị bằng:
x [ n ] = A cos ( ω0 n + Φ )
(2.9)
n

Trang 9
SVTT: LÊ ÍCH THỊNH

0


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU


GV: Dương Thị Thanh Hiên

Trong đó A, ω0 và Φ là những số thực được gọi là biên độ, tần số góc và pha
ban đầu của dãy hàm số sine x[n], còn f0 =

ω0
là tần số.


Dãy sin phức và sin thực là những dãy tuần hoàn với chu kỳ N nếu:
ω0 N = 2πr

Trong đó N là số ngun dương cịn r là một số nguyên bất kỳ. Giá trị N nhỏ
nhất thỏa mãn điều kiện trên là chu kỳ cơ bản của dãy x[n] đó.

Tích hai dãy dữ liệu x[n] và h[n] có cùng chiều dài n sẽ thu được dãy
dữ liệu y[n] có cùng chiều dài N và được thực hiện bằng hệ thức:
y[n] = x[n].h[n]
(2.10)

Cộng hai dãy dữ liệu x[n] với h[n] có cùng chiều dài n sẽ thu được
dữ liệu y[n] có cùng chiều dài N và được thực hiện bằng hệ thức:
y[n] = x[n] + h[n]
(2.11)

Nhân dãy x[n] với hằng số a được thực hiện bằng hệ thức:
y[n] = a.x[n]
(2.12)

Ngược thời gian hay cịn gọi là đổi chiều tín hiệu của một dãy có

chiều dài vơ hạn được thực hiện bằng hệ thức: y[n] = x[-n]
(2.13)

Làm trễ dãy x[n] có chiều dài vơ hạn một lượng M sẽ thu được dãy
y[n] có chiều dài vơ hạn và được thực hiện nhờ biểu thức:
y[n] = x[n - M]
(2.14)
Trong đó m là một số nguyên dương. Đây cũng chính là phép dịch dãy x[n]
về phía phải trục thời gian M mẫu và được ký hiệu là z –M. Trường hợp M = 1 thì
được gọi là trễ đơn vị và ký hiệu z – 1. Nếu M lấy dấu âm thì được gọi là sớm,
tương đương với việc dịch dãy về phía trái M mẫu trên trục thời gian.
2. Thực hành:
2.1 Dãy xung đơn vị δ [ n ]
a. Tạo dãy xung đơn vị δ [ n ] có chiều dài N mẫu
N=10;
% Chieu dai mau
x= [1,zeros(1,N-1)];
stem(x)
title('tao day xung don vi co chieu dai N mau')

Trang 10
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

 Chạy trương trình cho ra hình 2.1
1

0
.9
0
.8
0
.7
0
.6
0
.5
0
.4
0
.3
0
.2
0
.1
0
1

2

3

4

5

6


7

8

9

1
0

Hình 2.1
Nhận xét:
-Ta khai báo một dãy xung có N=10 mẫu, sau đó khởi tạo một ma trận 1x10. Phần
tử thứ nhất của ma trận có biên độ bằng 1, các phần tử còn lại bằng 0. Lệnh
stem(x[n]) cho phép vẽ đồ thị
-Dãy xung đơn vị ở đây có chiêu dài N mẫu (N=10), tại thời điểm n=0( tức là mẫu
thứ 1) thì xung lên 1, các điểm cịn lại có giá trị là 0.
1 khi n =0
δ[ n] =
0 khi n ≠ 0
b. Tạo dãy xung đơn vị δ [ n ] có chiều dài N mẫu trễ M mẫu (MN=10;
M=4;
x=[zeros(1,M) 1 zeros(1, N-M-1)]
stem(x)
title('tao day xung don vi co chieu dai N mau, bi tre M mau (M Chạy chương trình cho ra hình 2.2

Trang 11
SVTT: LÊ ÍCH THỊNH



THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

1
0
.9
0
.8
0
.7
0
.6
0
.5
0
.4
0
.3
0
.2
0
.1
0
1

2


3

4

5

6

7

8

9

Nhận xét:
- Hoạt động của chương trình trên:
Đầu tiên ta khai báo số lượng mẫu của dãy xung đơn với N=10 và số
lượng mấu lấy trễ M=4. Tiếp theo ta khởi tạo một ma trận x có 1 hàng
với các phần tử từ 1 đến M có giá trị bằng 0. Phần tử tiếp theo sau đó có giá
trị bằng 1. Các phần tử tiếp theo cho đến phần tử N-M-1 có giá trị bằng 0.
Lệnh stem(x[n]) cho phép vẽ đồ thị.
1 khi n = k
δ[ n ] =
0 khi n ≠ k
-Kết quả thu được là dãy xung đơn vị bị trễ 4 mẫu so với dãy xung đơn vị ban
đầu.Vậy kết quả thu được hợp với lí thuyết ta đã học
c. Tạo dãy nhảy bậc đơn vị u[n] dài N mẫu:
N=6;
u=[ones(1,N)];
stem(u)

title('tao day nhay bac don vi u[n]dai N mau ')
 Chạy chương trình cho ra hình 2.3

Trang 12
SVTT: LÊ ÍCH THỊNH

1
0


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

1
0
.9
0
.8
0
.7
0
.6
0
.5
0
.4
0
.3
0

.2
0
.1
0
1

1
.5

2

2
.5

3

3
.5

4

4
.5

5

5
.5

Nhận xét:

- Hoạt động của chương trình trên:
Đầu tiên ta khai báo số lượng mẫu của dãy xung N=6. Sau đó ta khởi tạo ma trận u
có một hàng với các phần tử từ 1 đến N có giá trị bằng 1, các phần tử có N<0 có
giá trị bằng 0. Lệnh stem(u) cho phép vẽ đồ thị.
- Kết quả thu được từ đồ thị ta thấy rằng khi N nằm trong khoảng từ 1 đến 6 thì
u[n]=1.
d. Tạo dãy nhảy bậc đơn vị u[n] dài N mẫu bị trễ M mẫu(MN=10;
M=4;
u=[ones(1,N-M)];
stem(u)
title('tao day nhay bac don vi u[n]dai N mau tre M nau (M Chạy chương trình cho ra hình 2.4

Trang 13
SVTT: LÊ ÍCH THỊNH

6


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

1
0
.9
0
.8
0

.7
0
.6
0
.5
0
.4
0
.3
0
.2
0
.1
0
1

1
.5

2

2
.5

3

3
.5

4


4
.5

5

5
.5

6

Hình 2.4
Nhận xét:
- Hoạt động của chương trình trên: Đầu tiên ta khai báo số lượng mẫu của dãy
nhảy bậc đơn vị N=10 và số mẫu lấy trễ M=4. Sau đó ta khởi tạo một ma trận u
chỉ có một hàng với các phần tử có giá trị bằng 0 . Lệnh stem(u) cho phép vẽ đồ
thị với dạng đường lấy mẫu của dãy xung đơn vị trên.
- Dựa vào đồ thị ta thấy so với dãy ban đầu thì sau 4 mẫu dãy u mới lên 1. Vậy dãy
này đã bị trễ 4 mẫu so với dãy ban đầu.
- Khi trễ m= 4 mẫu thì khi đó u[n] ở phần (d) sẽ được thay bằng u[n-m] và nó
tương đương với:
1 khi n - m ≥0
u[n-m] =
0 khi n -m <0
e. Chương trình phát xung dãy:
% chuong trinh phat day xung
n=-10:20; %Tao mot vector tu -10 den 20
x= [zeros(1,10) 1 zeros(1,20)];
stem(n,x)
axis([-10 20 0 1.5])

xlabel('Chi so thoi gian')
ylabel('Bien do')
title('Day xung don vi')
 Chạy chương trình cho ra hình 2.5

Trang 14
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên
d
a
y xu
n
gd
o
nv
i

1
.5

b
ie
nd
o

1


0
.5

0
-1
0

-5

0

5
ch
i soth
o
ig
ia
n

1
0

1
5

2
0

Hình 2.5

Nhận xét:
- Hoạt động của chương trình trên: Đầu tiên ta khai báo khoảng lấy mẫu của dãy
xung. Tiếp đến ta khai báo một ma trận chỉ có một hàng với các phần tử từ 1 đến
10 có giá trị bằng 0, phần tử này có giá trị bằng 0. Lệnh stem(x) cho phép vẽ đồ thị
với dạng đường của dãy xung đơn vị trên. Các lệnh xlabel và ylabel dùng để đặt
tên trục hoành và trục tung của đồ thị. Lệnh title cho phép đặt trên đồ thị. Lệnh
axis dùng để đặt khoảng giá trị của trục hoành và trục tung của đồ thị, hai đối số
đầu là khoảng giá trị của trục hoành, hai giá trị cuối là khoảng giá trị của trục tung.
- Hình thu được cho thấy dãy xung được phát chạy từ -10 đến 20, xung nhịp lên 1
tại vị trí n = 0, các vị trí cịn lại có giá trị 0.
2.2 Biểu diễn tín hiệu sin phức và sin thực:
% chương trình biểu diễn tín hiệu sin phức (phần thực và phần ảo)
% Tin hieu sin phuc : x[n] = 2exp[-(1/12)+j( π / 6 )]
t=-(1./12)+(pi./6).*j;
k=2;
n= 0:40;
x= k.*exp(t.*n);
subplot(2,1,1);
stem(n,real(x));
xlabel('Chi so thoi gian');
ylabel('Bien do');
title('Phan thuc');
subplot(2,1,2);
Trang 15
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên


stem(n,imag(x));
xlabel('Chi so thoi gia')
ylabel('Bien do');
title('Phan ao');
 Chạy chương trình cho ra hình 2.6
phan thuc

bien do

2
1
0
-1
-2
0

5

10

15

20
25
chi so thoi gian
phan ao

30


35

40

5

10

15

20
25
chi so thoi gian

30

35

40

bien do

2

1

0

-1
0


Hình 2.6
Nhận xét:
- Hoạt động của chương trình trên: Đầu tiên ta khai báo và gán các giá trị của x[n]
với các hệ số t, k, n. Lệnh subplot có 3 đối số dùng để chia đồ thị. Ví dụ
subplot(2,1,1) có nhiệm vụ chia đồ thị làm 2 hàng, 1 cột và vẽ ở đồ thị thứ nhất.
Lệnhstem(n,real(x)) cho phép vẽ đồ thị với dạng đường lấy mẫu và chỉ vẽ phần
thực của dãy x[n]. Lệnh stem(n,imag(x)) cho phép vẽ đồ thị với dạng đường lấy
mẫu và chỉ vẽ phần ảo của dãy x[n].
- Tín hiệu nhận được có dạng sóng sin, có biên độ giảm dần theo thời gian.
2.3 Các tín hiệu thời gian rời rạc sin thực:
% Chương trình biểu diễn tín hiệu thời gian rời rạc sin thực
% Tin hiệu x[n] = 1,5 sin(0,2 π n)
n= 0:40;
f= 0.1;
phase=0;
A= 1.5;
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
stem(n,x);
Trang 16
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

axis([0 40 -2 2]);
grid;

title('Day tin hieu sin');
xlabel('Chi so thoi gian n');
ylabel('Bien do');
 Chạy chương trình cho ra hình 2.7
day tin hieu sin
2
1.5

bien do

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

5

10

15
20
25
chi so thoi gian n

30


35

40

Hình 2.7
Nhận xét:
- Hoạt động của chương trình trên: Đầu tiên ta khai báo các giá trò của dãy xung
x[n] như tần số, pha, biên độ. Sau đó dùng lệnh stem(x) để vẽ đồ thị với dạng
đường lấy mẫu rời rạc. Lệnh grid có tác dụng lưới đồ thị, khơng có lệnh này cũng
khơng có vấn đề gì. Các lệnh cịn lại đã giải thích ở các phần trên.
- Đây là tín hiệu hình sin tuần hồn với chu kì T=10, biên độ cực đại A=1,5.
2.4 . Các tín hiệu ngẫu nhiên thời gian rời rạc
Tín hiệu ngẫu nhiên thời gian rời rạc có chiều dài n mẫu, phân bố đều đặn
trong khoảng [0,1]
% Tín hiệu ngẫu nhiên thời gian rời rạc
N=0:1;
N=15;
x=rand(1,N);
stem(x)
title('tin hieu ngau nhien thoi gian roi rac chieu dai 15 mau');

Trang 17
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

Chạy chương trình cho ra hình 2.8a1 và 2.8a2


Hình 2.8a2
Nhận xét:
-Tín hiệu nhận được ở hai hình 2.8a1 và 2.8a2 là tín hiệu ngẫu nhiên rời rạc có
chiều dài n mẫu phân bố đều đặn trong khoảng [0,1].

% Tạo tín hiệu ngẫu nhiên dang Gauss
N=0:1;
N=15;
x=randn(1,N);
stem(x)
title('tin hieu ngau nhien dang Gauss chieu dai 15 mau');
Trang 18
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

 Chạy chương trình cho ra hình 2.8b1 và 2.8b2

Hình 2.8b1

Hình 2.8b2
Nhận xét:
-Tín hiệu nhận được ở hai hình 2.8b1 và 2.8b2 là biễu diễn tín hiệu ngẫu nhiên
dạng gauss có giá trị trung bình bằng khơng và phương sai bằng đơn vị.
3. Mơ phỏng:
3.1. Biểu diễm tín hiệu sin thực có tần số 0.9 và 1.1. So sánh các dãy này

với dãy trong chương trình 2.3
%Tin hieu x[n]=1.5 sin(0.2pi*n)
figure
n= 0:40;
% Tín hiệu sin thực có chiều dài 40 mẫu
Trang 19
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

f= 0.9;
% Tần số 0,9
phase=0;
A= 1.5;
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
stem(n,x);
axis([0 40 -2 2]);
grid;
title('Day tin hieu sin tan so 0.9');
xlabel('Chi so thoi gian n');
ylabel('Bien do');
figure
n= 0:40;
f= 1.1;
% Tan so 1.1
phase=0;

A= 1.5;
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
stem(n,x);
axis([0 40 -2 2]);
grid;
title('Day tin hieu sin co tan so 1.1');
xlabel('Chi so thoi gian n');
ylabel('Bien do');
 Chạy chương trình cho ra hình 2.9a và 2.9b

Hình 2.9a

Trang 20
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

Hình 2.9b
Nhận xét:
-Tín hiệu có tần số 0.9 và 1.1 đều là tín hiệu hình sin và 2 dạng tín hiệu này ngược
pha nhau.
3.2. a. Biểu diễn tín hiệu sin thực có chiều dài 50 mẫu,tần số 0.08; biên độ
2.5 và có độ dịch pha 90 độ
a. biểu diễn tín hiệu sin thực có chiều dài 50 mẫu:
%Tin hieu x[n]=2.5 sin(0.2pi*n)
n= 0:50;

% Vector thời gian
f= 0.08;
% Tần số 0.08
phase=90;
% Độ dịch pha
A= 2.5;
% Biên độ 2,5
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
stem(n,x);
% Vẽ đồ thị xung
axis([0 50 -3 3]);
% Giới hạn của hệ trục tọa độ
grid;
title('Day tin hieu sin tan so 0.08');
xlabel('Chi so thoi gian n');
ylabel('Bien do');

Trang 21
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

 Chạy chương trình cho ra hình 2.10

Hình 2.10
b. Thay lệnh stem bằng lệnh plot và lệnh stairs:

% Thay thế lệnh stem bằng lệnh plot
%Tin hieu x[n]=2.5 sin(0.2pi*n)
n= 0:50;
f= 0.08;
% Tan so 0.08
phase=90;
A= 2.5;
% Biên độ 2,5
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
plot(n,x);
axis([0 50 -3 3]);
grid;
title('Day tin hieu sin tan so 0.08');
xlabel('Chi so thoi gian n');
ylabel('Bien do');

Trang 22
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

 Chạy chương trình cho ra hình 2.11

Hình 2.11
% Thay thế lệnh stem bằng lệnh stairs
%Tin hieu x[n]=2.5 sin(0.2pi*n)

figure
n= 0:50;
f= 0.08;
% Tan so 0.08
phase=90;
A= 2.5;
arg= 2.*pi.*f.*n-phase;
x= A.*sin(arg);
stairs(n,x);
axis([0 50 -3 3]);
grid;
title('Day tin hieu sin tan so 0.08');
xlabel('Chi so thoi gian n');
ylabel('Bien do');

Trang 23
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

 Chạy chương trình cho ra hình 2.12

Hình 2.12
3.3.Biểu diễn một tín hiệu dạng luỹ thừa thực x[n]=0.2*1.2^n. Biểu diễn bằng
các lệnh stem,plot,stairs:
% Bieu dien mot tin hieu dang luy thua thuc
n= 0:50;

x= 0.2.*1.2.^n;
plot(n,x);
axis([0 40 -5 50]);
grid;
xlabel('tin hieu dang luy thua - dung lenh plot');
% Dung lenh stem
figure
n= 0:50;
x= 0.2.*1.2.^n;
stem(n,x);
axis([0 40 -5 50]);
grid;
xlabel('tin hieu dang luy thua - dung lenh stem');
% Dung lenh stairs
figuren= 0:50;
x= 0.2.*1.2.^n;
stairs(n,x);
Trang 24
SVTT: LÊ ÍCH THỊNH


THỰC TẬP XỬ LÝ SỐ TÍN HIỆU

GV: Dương Thị Thanh Hiên

axis([0 40 -5 50]);
grid;
xlabel('tin hieu dang luy thua - dung lenh stairs');
 Chạy chương trình cho ra hình 2.13


hình 2.13
 Chạy chương trình cho ra hình 2.14

hình 2.14

Trang 25
SVTT: LÊ ÍCH THỊNH


×