Bài 1. Tín hiệu và hệ thống rời rạc thời gian
I. Lý thuyết
1.1 Các tín hiệu rời rạc thời gian
a. Xung lực đơn vị
d(n) = 1 n = 0
0 n ¹ 0
b. Bậc đơn vị
u(n) = 1 n < 0
0 n ³ 0
c. Dốc đơn vị
r(n) = 0 n < 0
n n ³ 0
d. Hàm mũ thực
x(n) = an n ³ 0
0 n < 0
e. Tín hiệu sin, cos
x(n) = A sin(2*π*f*n)
f. Tín hiệu mũ phức
x(n) = rn ejW
xR(n) = rncosnW
xI(n) = rnsinnW
|x(n)| = rn
F(n) = arctg ( )
( )
x n
x n
R
I = nW
1.2 Các hệ thống rời rạc thời gian:
a. Lọc trung bình dịch chuyển
11 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 3859 | Lượt tải: 5
Bạn đang xem nội dung tài liệu Thực hành Matlab, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 1. Tín hiệu và hệ thống rời rạc thời gian
I. Lý thuyết
1.1 Các tín hiệu rời rạc thời gian
a. Xung lực đơn vị
δ(n) = 1 n = 0
0 n ≠ 0
b. Bậc đơn vị
u(n) = 1 n < 0
0 n ≥ 0
c. Dốc đơn vị
r(n) = 0 n < 0
n n ≥ 0
d. Hàm mũ thực
x(n) = an n ≥ 0
0 n < 0
e. Tín hiệu sin, cos
x(n) = A sin(2*π*f*n)
f. Tín hiệu mũ phức
x(n) = rn ejΩ
xR(n) = rncosnΩ
xI(n) = rnsinnΩ
|x(n)| = rn
Φ(n) = arctg )(
)(
nx
nx
R
I = nΩ
1.2 Các hệ thống rời rạc thời gian:
a. Lọc trung bình dịch chuyển
b. Hệ thống tuyến tính và phi tuyến rời rạc thời gian
Cho 3 tín hiệu x1(n), x2(n) và x(n) = ax1(n)+bx2(n). Cho các tín hiệu qua hệ thống
h(n), ta được các ngõ ra tương ứng y1(n), y2(n) và y(n).
Nếu y(n) = ay1(n) + by2(n), kết luận hệ thống h(n) là hệ thống tuyến tính và ngược
lại y(n) ≠ ay1(n) + by2(n) ta có hệ thống phi tuyến
II. Thực hành:
Sử dụng các lệnh Matlab sau: ones, exp, real, imag, zeros, xlabel, ylabel, plot,
subplot, hold on, axis, title, stem, clf, legend.
Bài 1.
a. Vẽ tín hiệu xung lực đơn vị, bậc đơn vị, dốc đơn vị, hàm mũ thực với n trong
khoảng [-10,10].
b. Vẽ tín hiệu hình sin, cos với tần số f = 100 và góc pha bằng 45o
c. Vẽ xR(n), xI(n), |x(n)| và Φ(n) khi r = 0.9 và Ω = pi/10 trong khoảng [-pi,pi]
Bài 2:
Vẽ các tín hiệu sau:
a. nenx 3.0)( =
b.
6
sin)( 12/ nenx n pi=
c.
4
cos)( 5/ nenx n pi−=
Bài 3. Lọc trung bình dịch chuyển
Tạo tín hiệu x(n) gồm 2 thành phần tần số thấp và cao
x(n) = cos(2*π*0.05*n) + cos(2*π*0.47*n)
Thực hiện lọc trung bình dịch chuyển có chiều dài M nhập vào từ bàn phím.
* Sử dụng các lệnh: input, filter, ones
Bài 4. Khảo sát và vẽ hệ thống phi tuyến rời rạc thời gian sau:
y[n] = x2[n] – x[n-1]x[n+1] với x(n) = cos(2*pi*0.05*n)
Bài 5. Khảo sát tính tuyến tính của hệ thống sau:
Xét hệ thống cho bởi
y[n] – 0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]
với các chuỗi ngõ vào
x1[n] = cos(2*pi*0.1*n)
x2[n] = cos(2*pi*0.4*n)
x[n] = ax1[n]+bx2[n] , a = 2, b = -3
dùng hàm filter lần lượt tính các ngõ ra của lọc y1(n), y2(n) và y(n). Kết luận về tính tuyến
tính của hệ thống
Bài 2. Phân tích hệ thống trong miền thời gian và trong
miền tần số
I. Lý thuyết:
1.1 Đáp ứng xung:
Đáp ứng xung của bộ lọc là chuỗi tín hiệu ngõ ra của bộ lọc khi đưa vào bộ lọc
một chuỗi xung đơn vị
1.2 Đáp ứng tần số:
Đáp ứng tần số của hệ thống hay biến đổi Fourier của đáp ứng xung h(n) của hệ thống
là:
∑
−=
Ω−
=Ω
2/
2/
)()(
M
Mk
jkekhH
)(lg20)( Ω=Ω HH
dB
II. Thực hành:
* Sử dụng các hàm trên Matlab: freqz, abs, angle.
Bài 1: Khảo sát và vẽ đáp ứng xung tại 4 tần số cắt pi/4, 0.4pi, pi/2 và 3pi/4 của h(n) như
sau:
0,
0,
sin
)(
=
≠=
n
n
n
nnh
c
c
pi
ω
pi
ω
a) Tính và vẽ h(n) ở 21 và 45 mẫu (1 ở gốc và 10 mẫu mỗi bên gốc).
b) Tính và vẽ đáp ứng tần số |H(Ω)| và |H(Ω)|dB .
Bài 2: Ứng dụng định lý dịch chuyển tần số
2
,
2
,0,
)
2
(
)
2
(sin
)(
Mn
MnMn
Mn
Mn
nh
c
c
=
≠≤≤
−
−
=
pi
ω
pi
ω
])
2
cos()(2)
2
([)(
2/
0
2 ∑
=
−
Ω−+=Ω
m
n
Mj
nMnhMheH
ω
) với ωc = pi/2
c) Tính và vẽ h(n) ở 21 và 45 mẫu (1 ở gốc và 10 mẫu mỗi bên gốc).
d) Tính và vẽ đáp ứng tần số |H(Ω)| và |H(Ω)|dB .
Bài 3:
Lọc Fir có các hệ số:
h(0) = h(14) = -0.014112893
h(1) = h(13) = -0.001945309
h(2) = h(12) = 0.04000004
h(3) = h(11) = 0.01223454
h(4) = h(10) = -0.09138802
h(5) = h(9) = -0.01808986
h(6) = h(8) = 0.3133176
h(7) = 0.52
Tính và vẽ đáp ứng tần số |H(Ω)| và |H(Ω)|dB.
Bài 3. Thiết kế lọc FIR và thiết kế lọc IIR
I. Lý thuyết
1.1. Tích chập
Nếu x(k) và h(k) có chiều dài hữu hạn thì y(k) cũng có chiều dài hữu hạn và phép lấy
tích chập trên được thực hiện bằng hàm conv trong Matlab.
1.2 Hàm truyền đạt của bộ lọc
Nếu X(z) là biến đổi z của tín hiệu vào x(k), và Y(z), H(z) là biến đổi z của y(k)
và h(k) tương ứng, ta có:
với a(i), b(i) là các hệ số của bộ lọc
Nếu n = 0 (b là 1 vô hướng) thì bộ lọc trên là bộ lọc đáp ứng xung vô hạn IIR
Nếu m = 0 (a là 1 vô hướng) thì bộ lọc trên là bộ lọc đáp ứng xung hữu hạn FIR
II. Thực hành
* Sử dụng các hàm: conv, filter, filtfilt (cho phép loại bỏ méo pha trong quá trình
lọc), fftfilt (thực hiện quá trình lọc trong miền tần số).
Bài 1: Lọc phi đệ quy FIR có các hệ số:
a0 = 0.04, a2 = -0.05, a4 = 0.06, a6 = -0.11, a8 = 0.32, a9 = -0.5, a10 = 0.32,
a12 = -0.11, a14 = 0.06, a16 = -0.05, a18 = 0.04
Các hệ số khác bằng không. Tính đáp ứng tần số của lọc trên.
Bài 2:
a. Thiết kế lọc IIR:
ωωω
ω
ω 32
2
28.019.177.11
14.0)( jj
j
eee
eH
−−−
−
−+−
=
Vẽ đáp ứng biên độ và đáp ứng pha trong khoảng [-pi,pi].
b. Thiết kế lọc IIR:
ωω
ωω
ω 2
2
94833.08523.11
902.11)(
−−
−−
+−
+−
=
ee
eeH j
jj
Vẽ đáp ứng biên độ và đáp ứng pha trong khoảng [-pi,pi].
Bài 3: Thiết kế lọc dãy chặn có đáp ứng xung:
pin
nnnh 12 sinsin)( Ω−Ω=
với Ω2 = 3npi/5 và Ω1 = 2npi/5
a. Vẽ đáp ứng xung với -10 ≤ n ≤ 10
b. Vẽ đáp ứng tần số |H(Ω)| và |H(Ω)|dB trong khoảng [-pi,pi].
Bài 4. Sử dụng công cụ SPTOOL trên Matlab tạo các hệ số lọc cho 1 lọc thông thấp tần
số cắt 1KHz. Sau đó lập trình thiết kế lọc dựa trên các hệ số này. Tương tự cho lọc thông
cao, thông qua và thông cao.
Bài 4. DFT và FFT và cửa sổ
I. Lý thuyết:
1.1 DFT
Biến đổi Fourier rời rạc thời gian DFT là công cụ cơ bản nhất trong xử lý tín hiệu
số. Biến dội DFT của 1 chuỗi tín hiệu ngõ vào x có dạng như sau:
1.2 Window
Barlet:
1
1)(
+
−=
M
n
nw , -M ≤ n ≤ M
0, trường hợp khác
Hann: ]
12
2cos1[
2
1)(
+
+=
M
nnw pi , -M ≤ n ≤ M
0, trường hợp khác
Hamming:
12
2cos46.054.0)(
+
+=
M
nnw pi , -M ≤ n ≤ M
0, trường hợp khác
Blackman:
12
4cos08.0
12
2cos5.042.0)(
+
+
+
−=
M
n
M
nnw pipi , -M ≤ n ≤ M
0, trường hợp khác
Đáp ứng tần số của cửa sổ (DTFT):
nj
M
Mn
enwH ωω −
−=
∑= )()(
∑∑
−=
−
−=
==
M
Mn
nj
M
Mn
nwenwH )()()( ωω
)(lg20)( ωω HH
dB
=
II. Thực hành
* Sử dụng các hàm: filter, fft, ifft
Bài 1. Xác định và vẽ biên độ và pha của biến đổi DFT của tín hiệu x(t) = sin(30πt)
+sin(80πt), tần số lấy mẫu 100 Hz. Dùng biến đổi DFT ngược để khôi phục lại tín hiệu
ban đầu. So sánh với tín hiệu gốc.
y = fft(x);
m = abs(y), p = unwrap(angle(y));
f = (0:length(y)-1)*99/length(y);
xr = real(ifft(y));
Bài 2. Vẽ đáp ứng tần số của các cửa sổ trên trong 2 trường hợp M = 25 và M = 10.
Bài 3.
a) Cho đáp ứng xung:
h(n) =
n
n )cos( pi
, n ≠ 0
0, n = 0
Tính và vẽ h(n) với -10 ≤ n ≤ 10
b) Đáp ứng xung nhân quả
h(n) =
pi
pipi
2)2/(
)2/sin(
)2/(
)2/cos(
Mn
Mn
Mn
Mn
−
−
−
−
−
, n ≠ M/2
0, n = M/2
Tính và vẽ h(n). Nhận xét kết quả so với câu a)
c) Đáp ứng tần số dùng h(n) như ở câu b)
Ht(ω) =
nj
M
n
enh ω−
=
=
∑ .)(20
0
d) Đáp ứng tần số sử dụng cửa sổ Hamming
M
nnw pi2cos46.054.0)( += 0 ≤ n ≤ M = 20
• Tính và vẽ ht(n) = h(n)w(n) 0 ≤ n ≤ M = 20.
• Tính và vẽ đáp ứng tần số: H(ω) = nj
M
n
t enh
ω−
=
=
∑ .)(20
0
Bài 4: Tương tự bài 3 với đáp ứng xung
pi)2/(
)2/sin()2/sin(
)( 12
Mn
MnMnnhd
−
Ω−−Ω−
=
với Ω2 = 2*pi/3, Ω1 = pi/3
wn = 0.42-0.5*cos(2*pi*n/M)+0.08*cos(4*pi*n/M)
a. Tính và vẽ h(n) = hd(n)* w(n), với M = 67
b. Vẽ đáp ứng tần số |H(Ω)| và |H(Ω)|dB trong khoảng [-pi,pi].
Các file đính kèm theo tài liệu này:
- Thực hành Matlab.pdf