Bài 4: Biểu diễn tín hiệu sin phức và sin thực Dãy sin phức được mô tả bằng phương trình: tần số.. Để tạo tín hiệu sin thực trong matlab ta sử dụng các hàm sin và cos.. Tạo một tín hiệu
Trang 1CHƯƠNG 1: GIỚI THIỆU VỀ MATLAB
I Lý thuyết:
II Thực hành:
Bài 1: Mở 1 hàm m-file và thực hiện yêu cầu sau:
a Tạo ma trận có chiều dài n*m
b Cộng trừ nhân chia hai ma trận vừa tạo (đưa ra kết quả)
c Trích ra đường chéo của 2 ma trận ban đầu sau đó ghép lại thành 1 ma trận mới
d Trích 2 dòng đầu của ma trận 1 và 2 dòng cuối của ma trận 2 sau đó ghép chúng thành ma trận mới
e Trích cột cuối của ma trận thứ nhất và cột đầu của ma trận 2, sau đó ghép với ma trận 1 để tạo ma trận mới
Bài 2: Đồ họa trong không gian 2 D:
Mở hàm m-file và vẽ đồ thị của các hàm sau (vẽ trên cùng 1 của sổ)
Hàm f(x): f(x) =-x.sin(x)
Đạo hàm của f(x): f’(x) =-x.cos(x)-sin(x)
Đạo hàm xấp xỉ: f12 = diff (f(x)/x (2) – x (1))
Sai số liên quan: f22 = (f12-f’(x) (1:999))/ norm (f12)
Bài 3: Đồ họa trong không gian 3 D:
Mở 1 hàm m-file và vẽ đồ thị của các hàm sau (vẽ trên từng cửa sổ)
Trang 2III Bài t p áp d ng ậ ụ
CHƯƠNG 2: TÍN HIỆU VÀ CÁC PHƯƠNG PHÁP
BIẾN ĐỔI TÍN HIỆU
I Lý thuyết
II Thực hành
Bài 1: Dãy xung đơn vị n[δ]
a Tạo dãy xung đơn vị n[δ] có chiều dài N mẫu.
b Tạo dãy xung đơn vị n[δ] có chiều dài N mẫu bị trễ M mẫu (M<N).
c Tạo dãy nhảy bậc đơn vị u[δ] dài N mẫu.
d Tạo dãy nhảy bậc đơn vị u[δ] dài N mẫu bị trễ M mẫu (M<N).
e Chương trình phát dãy xung
Bài 2: Cho dãy tín hiệu tuần hoàn
x = amplitude * cos(2 * pi * frequency * n - phase)
a Viết chương trình hiện thị kết quả sóng sin trên
b Cho biết cách thay đổi tần số, pha và biên độ
c Thay đổi chương trình trên để tạo sóng sin có tần số 0.9 Hz
Bài 3: Cho tín hiệu tuần hoàn x = cos(2 * pi * frequency * n);
a Viết chương trình tạo tín hiệu liên tục và tín hiệu lấy mẫu
b Tần số tín hiệu hình sin là bao nhiêu? Chu kỳ lấy mẫu là bao nhiêu?
Trang 3c Nếu thay tần số sóng sin là từ 3 Hz lên 17Hz, cho biết kết quả và giải thích hiệu ứng ở ngõ ra
Bài 4: Biểu diễn tín hiệu sin phức và sin thực
Dãy sin phức được mô tả bằng phương trình:
tần số
Bài 5: Các tín hiệu thời gian rời rạc sin thực Để tạo tín hiệu sin thực trong
matlab ta sử dụng các hàm sin và cos X = A.sin(2*pi*f*n-phase) Nhận xét đồ thị vừa vẽ
Bài 6: Các tín hiệu ngẫu nhiên rời rạc 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] được tạo bởi lệnh trong matlab là x=rand(1,N) Tạo một tín hiệu ngẫu nhiên dạng gass có giá trị trung bình bằng 0
và phương sai bằng đơn vị, dùng lệnh x=rand(1,N)
Bài 7:
Biểu diễn tín hiệu sin thực có tần số 0,9 và 1,1 So sánh hai dãy này
Bài 8:
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 độ Thay lần lượt lệnh stem thành lệnh plot và lệnh stairs Nhận xét kết quả
Bài 9: Biểu diễn 1 tín hiệu dạng lũy thừa thực x[n] = 0,1*1,2^n Biểu diễn bằng
các lệnh stem , plot, stairs và nhận xét
Trang 4III Bài tập áp dụng
CHƯƠNG 3: NGHIÊN CỨU CÁC TÍNH CHẤT
CỦA HỆ THỐNG LTI
I Lý thuyết
II Thực hành
Bài 1: Cho hệ thống
Tạo chuỗi tín hiệu đầu vào x = cos(2*pi*0.05*n)
Viết chương trình hiển thị tín hiệu đầu vào và đầu ra của hệ thống trên
Bài 2: Các hệ thống tuyến tính và phi tuyến tính.
Nghiên cứu tính chất tuyến tính của hệ thống
y[n]-0,4y[n-1]+0,75y[n-2]=2,2403x[n]+2,4908x[n-1]+2,2403x[n-2]
Ba tín hiệu vào là x1[n],x2[n], x[n]=ax1[n]+bx2[n]
Tính và vẽ đồ thị của tín hiệu lối ra y1[n],y2[n] và y[n] với x1=cos(0,2n π),x2=cos(0,8n π),x[n]=2x1[n]-3x2[n].Nhận xét đồ thị vừa vẽ
Bài 3: Xác định đáp ứng xung đơn vị của hệ thống LTI
Phép tính và vẽ phương trình sai phân sau:
y[n]-0,4y[n-1]+0,75y[n-2]=2,2403x[n]+2,4908x[n-1]+2,2403x[n-2] Nhận xét
Bài 4: Các hệ thống bất biến với thời gian
Mô phỏng hệ thống có phương trình sai phân sau
y[n]= 2,2403x[n]+2,4908x[n-1]+2,2403x[n-2]+ 0,4y[n-1]+0,75y[n-2]
Trang 5Tìm tín hiệu lối ra y[n] đối với 2 tín hiệu lối vào x[n] và x[n-n0] và hiệu của 2 tín hiệu đó.Nhận xét kết quả
Bài 5: Ghép nối tiếp các hệ thống
Ghép nối tiếp 2 hệ thống bậc 2 có phương trình sai phân sau:
y1[n]+0,9y1[n-1]+0,8y1[n-2]=0,3x[n]-0,3x[n-1]+0,4x[n-2]
y2[n]+0,7y2[n-1]+0,85y2[n-2]=0,2y1[n]-0,5y1[n-1]+0,3y1[n-2]
Để thu được hệ thống bậc 4 có phương trình sai phân sau
y[n]+1,6y[n-1]+2,28y[n-2]+1,325y[n-3]+0,68y[n-4]=0,06x[n]-0,19x[n-1]+0,27x[n-2]-0,26x[n-3]+0,12x[n-4]
Nhận xét kết quả
Bài 6: Tính ổn định của hệ thống LTI
Xét tính ổn định của hệ thống sau, nhận xét kết quả đạt được
y[n]-x[n]-0,8x[n-1]-1,5y[n-1]-0,9y[n-2]
III Bài tập áp dụng
Bài 7: Các hệ thống tuyến tính và phi tuyến tính
y[n]-0,5y[n-1]+0,25y[n-2]=x[n]+2x[n-1]+x[n-3]
Với x1[n]=cos(0,5n π+3/π)
x2[n]=sin(0,2n π)
x[n]=3x1[n]+2x2[n]
Tính và vẽ tín hiệu lối ra y1[n],y2[n],y[n] Xét xem hệ thống có tuyến tính hay không? Vì sao?
Bài 8: Xác định đáp ứng xung đơn vị của hệ thống LTI Tính ổn định của
hệ thống.
Trang 6Cho hệ thống LTI có phương trình sai phân
a y[n]-0,5y[n-1]+0,25y[n-2]=x[n]+2x[n-1]+x[n-3]
b y[n]=x[n]-4x[n-1]+3x[n-2]+1,7y[n-1]-y[n-2]
Bài 9: Các hệ thống bất biến với thời gian
Cho hệ thống LTI có phương trình sai phân
y[n]-0,5y[n-1]+0,25y[n-2]=x[n]+2x[n-1]+x[n-3] Viết chương trình vẽ tín hiệu lối ra y[n] và y[n-n0] với n0=5, tín hiệu lối vào là
x[n]=3cos(0,5n π+π/3)+2sin(0,2n π).Hệ thống có bất biến với thời gian không?
Bài 10: Ghép nối các hệ thống LTI
Viết chương trình tính và vẽ các tín hiệu lối ra y1[n] và y2[n] thỏa mãn phương trình sai phân sau:
y1[n]=0,5x[n]+ 0,27x[n-1]+0,77x[n-2]
y2[n]=0,45x[n]+0,5x[n-1]+0,45x[n-2]+0,53y[n-1]-0,46y[n-2]
Tín hiệu lối vào x[n=cos(20n π/256)+cos(200n π/256) với 0≤n≤29
CHƯƠNG 4: PHỔ TẦN CỦA TÍN HIỆU-BIẾN ĐỔI FOURIER
THỜI GIAN RỜI RẠC (DTFT)
I Lý thuy t ế
II Thực hành
Bài 1: Cho đáp ứng xung và tín hiệu đầu vào
H=[3 2 1 -2 1 0 -4 0 3]
X=[1 -2 3 -4 3 2 1]
Tính nhân chập bằng phương pháp đồ thị hay chuỗi
Trang 7Viết chương trình tính ngõ ra y[n]
Bài 2: Thực hiện nhân chập trong miền tần số 2 tín hiệu sử dụng hàm
circonv, fft, ifft Cho biết chức năng của từng hàm
g1 = [1 2 3 4 5 6]
g2 = [1 -2 3 3 -2 1]
Bài 3: Tính và nhận xét DTFT X(e^-jw) của dãy x[n] dạng
Bài 4: Tính chất dịch chuyển thời gian của DTFF
Góc pha w=-pi:2*pi/225:pi.Tín hiệu x=[1 2 3 4 5 6 7 8 9] Thông số đặc trưng cho sự dịch chuyển thời gian là h1,h2 (xác định đáp ứng tần số của hệ thống) h1=freqz(x,1,w) và h2=freqz([zeros(1,D) x],1,w)
Vẽ đồ thị phổ biên độ , phổ pha của dãy gốc và dãy bị dịch tần số biết D=10
Bài 5: Tính chất điều chế
w=-pi:2*pi/225:pi
x1=[1 3 5 7 9 11 13 15 17]
x2=[1 -1 1 -1 1 -1 1 -1 1]
y=x1.*x2
Tính chất đặc trưng cho phương thức điều chế là
h1=freqz(x1,1,w)
h2=freqz(x2,1,w)
h3=freqz(y,1,w)
Trang 8Vẽ phổ biên độ của dãy x1, x2, dãy tích
Bài 6: Tính chất ngược thời gian
w=-pi:2*pi/225:pi;
x=[1 2 3 4];
L=length(x)-1;
h1=freqz(x,1,w)
h2=freqz(fliplr(x),1,w);
h3=exp(w*L*i).*h2;
Viết chương trình hiển thị phổ biên độ, phổ pha của dãy gốc và dãy ngược thời gian
III Bài tập áp dụng
Bài 7: Dịch chuyển về thời gian với hai dãy có chiều dài thay đổi và hai độ dịch
thời gian khác nhau
w=-pi:2*pi/225:pi
wo=0.4*pi
d=5
x1=[1 3 5 7 9 ]
D=10
x=[1 2 3 4 5 6 7 8 9]
h1=freqz(x,1,w)
h2=freqz([zeros(1,d) x],1,w)
h3=freqz(x1,1,w)
h4=freqz([zeros(1,D) x1],1,w)
Trang 9Viết chương trình vẽ phổ biên độ, phổ pha của các dãy gốc và dãy bị dịch.
Bài 8: Dịch chuyển về tần số với hai dãy có chiều dài thay đổi và hai độ dịch
tần khác nhau
w=-pi:2*pi/225:pi
wo=0.4*pi
x1=[1 3 5 7 9 11 13 15 17]
L=length(x1)
x2=[1 2 3 4 5 6]
l=length(x2)
h1=freqz(x1,1,w)
h2=freqz(x2,1,w)
n=0:L-1
m=0:l-1
x3=exp(wo*i*n).*x1
h3=freqz(x3,1,w)
x4=exp(wo*i*m).*x2
h4=freqz(x4,1,w)
Viết chương trình vẽ phổ biên độ, phổ pha của dãy gốc và dãy bị dịch tần số
Bài 9: Ngược thời gian với hai dãy có chiều dài thay đổi
w=-pi:2*pi/225:pi
x=[1 2 3 4]
x1=[1 4 6 8 3 2 9 1 2]
Trang 10l=length(x1)-1
h1=freqz(x,1,w)
h2=freqz(fliplr(x),1,w)
h3=exp(w*L*i).*h2
h4=freqz(x1,1,w)
h5=freqz(fliplr(x1),1,w)
h6=exp(w*L*i).*h5
Viết chương trình vẽ phổ biên độ, phổ pha của dãy gốc và dãy ngược thời gian
CHƯƠNG 5: BIẾN ĐỔI Z
I Lý thuy t ế
II Th c hành ự
Bài 1: Tìm biến đổi Z thuận của các dãy sau dùng hàm ztrans
a F(n)=n^4
b G(z)=a^z
c F(n)=sin(a*n)
d F(n)=(0,5^n)*a(n)
Bài 2: Tìm biến đổi Z ngược của các dãy sau dùng hàm iztrans
a f(z)=(2z)/(z-2)^2
b f(n)=n(n+1)/(n^2+2n+1)
c f(z)=z/(z-a)
Bài 3: Khai triển biến đổi z thành thừa số
Trang 11A=2 + 5z^-1 + 9z^-2 + 5z^-3 + 3z^-4
B=5 + 45z^-1 + 2z^-2 + 1z^-3 + 1z^-4
Viết chương trình vẽ giản đồ cực không
Bài 4: Cho hệ thống nhân quả biểu diễn bằng phương trình sau
y(n) – 0.9y(n-1) = x(n)
Dùng lệnh zplane của MATLAB biểu diễn trên đồ thị mặt phẳng Z sự phân bố
các điểm cực và điểm không
Bài 5: Biến đổi z ngược
Tìm biến đổi z ngược của hàm truyền có dạng phương trình
H(z)=A/B
A=2 + 5z^-1 + 9z^-2 + 5z^-3 + 3z^-4
B=5 + 45z^-1 + 2z^-2 + 1z^-3 + 1z^-4
Bài 6: Biểu diễn hàm truyền theo biến số trạng thái
Tìm ma trận trạng thái của hàm truyền
H(z)=A/B
A=-11/6 + (3/2).z^-1 – (7/12).z^-2 + (1/12)z^-3
B=3 + 1,5.z^-1 + 1.z^-2 + 0,5.z^-3
III Bài tập áp dụng
Bài 7: Viết chương trình matlab để tính và hiển thị các điểm cực và điểm
không, vẽ giảnđồ điểm cực và điểm không của 1 biến đổi z có dạng phân thức hữu tỷ của z^-1 Dùng chương trình đó để phân tích biến đổi z của hệ thống có hàm truyền sau:
Trang 12Bài 8: Nếu các điểm cực và điểm không của biến đổi z đã cho thì có thể tìm lại
được biểu thức của biến đổi z bằng cách dùng lệnh sau:
[num,den]=zp2tf(z,p,k)
Hãy viết chương trình matlab để tính và hiển thị biến đổi z:
Của các điểm không : z1=0,3; z2=2,5; z3=-0,2+j0,4; z4=-0,2-j0,4
Và các điểm cực : p1=0,5; p2=-0,75; p3=0,6+j0,7; p4=0,6-j0,7
Với k=3,9
Bài 9: Tìm ma trận trạng thái của các hàm truyền sau
CHƯƠNG 6: THIẾT KẾ CÁC BỘ LỌC
I Lý thuy t ế
II Th c hành ự
Bài 1: Thiết kế mạch lọc IIR
Thiết kế mạch lọc elliptic và butterworth thông thấp với các quy định sau:
Tần số mép của dải thông fp=800hz, mép của dải chặn fs=1khz , độ mấp mô của dải thông 0,5Db, độ suy giảm cực tiểu của dải chặn 40dB và tần số lấy mẫu F=4khz
Trang 13Bài 2: Thiết kế mạch lọc IIR
Thiết kế bộ lọc thông dải sử dụng phép biến đổi song song tuyến tính để thiết
kế bộ lọc chebychev loại 1 bậc 5, dải thông 0,1-0,5hz tần số lấy mẫu 2hz Các tần số cắt là w1=pi/5; w2=pi
Bài 3: Thiết kế lọc FIR thông thấp bậc 25 sử dụng phương pháp cửa sổ với dãy
chuyển nhỏ nhất Tần số lấy mẫu, thấp qua và cao qua lần lượt là fs= 20 KHz, f1= 3 KHz và f2= 7 KHz Vẽ hàm truyền, đáp ứng xung và zeroes của lọc trên
Bài 4: Cho tổng 2 tín hiệu sin với tần số lần lượt là f1= 1 KHz và f2= 1.56 KHz
qua bộ lọc FIR thông thấp sử dụng phương pháp Remez (tần số lấy mẫu fs= 10 KHz)
a Thiết kế bộ lọc FIR, tính các hệ số và vẽ hàm truyền
b Lọc và vẽ lại tín hiệu f1từ tín hiệu hỗn hợp
Bài 5: Thiết kế bộ lọc FIR
Thiết kế bộ lọc FIR nhiều dải tần
n=129
f=[0 0.3 0.5 0.7 0.9 1]
a=[0 0.5 0 1 0]
up=[0.00 0.51 0.03 1.02 0.05]
lo=[-0.005 0.49 -0.03 0.98 -0.05]
Bài 6: Thiết kế bộ lọc FIR nhiều giải tần
thiết kế bộ lọc FIR có đáp ứng tần số được mô tả như sau
Dải tần từ -1 ÷ -0,8: biên độ giảm từ 5 xuống 2 trọng số bằng 1
Dải tần từ -0,7 ÷ 0,5:biên độ bằng 2 trọng số bằng 5
Trang 14Dải tần từ -0,4 ÷ -0,1: biên độ giảm từ 2 xuống 1 trọng số bằng 1 Dải tần từ 0,5 ÷ 0,7: biên độ bằng 2 trọng số bằng 5
Dải tần từ 0,8 ÷ 1: biên độ tăng từ 2 lên 5, trọng số bằng 1
Bài 7: Thiết kế bộ lọc FIR nhiều giải tần
Đáp ứng tần số như sau
Bộ lọc mong muốn có 2 dải thông, được biểu diễn bởi 5 dải như sau
Trang 15Trong đó FN là tần số Nyquist, bằng ½ tần số lấy mẫu Fs=10kHz
Bài 8: Thiết kế bộ lọc IIR multiband bằng các lệnh của MATLAB
Chúng ta thiết kế một bộ lọc IIR multiband có đáp ứng mong muốn như bộ lọc
ở ví dụ 1, tần số lấy mẫu cũng là 10 kHz
Bài 9: Thiết kế một bộ lọc FIR chắn dải bằng SPTool
Bộ lọc, được thiết kế bằng phương pháp cửa sổ Kaiser, với các thông số sau: Chiều dài của đáp ứng xung: N = 89 (MATLAB hiển thị bậc bộ lọc bằng 88) Tần số trung tâm: 2700 Hz
Tần số cắt: 2500 Hz và 2900 Hz
Giá trị của Beta = 4
Tần số lấy mẫu 8000 Hz
Bài 10: Thiết kế bộ lọc IIR chắn dải bằng SPTool
Trang 16Sử dụng phương pháp Elliptic để thiết kế một bộ lọc IIR chắn dải bậc 10, tần
số trung tâm 1750Hz Chú ý rằng MATLAB hiển thị bậc bộ lọc là 5, biểu diễn
số phần bậc 2 của bộ lọc
Các thông số của bộ lọc này như sau
Tần số cắt: 1700 Hz và 1800 Hz
Độ gợn dải thông và dải chắn tương ứng là 1 dB và 60 dB
Tần số lấy mẫu: 8000 Hz
CHƯƠNG 7: MÔ PHỎNG MÔ HÌNH HỆ THỐNG VIỄN THÔNG
I Lý thuy t ế
Bài thí nghiệm này tìm hiểu phương pháp mô hình hóa một hệ thống thông tin đơn giản như hình sau:
• Mã hóa nguồn: nén theo μ-law, lượng tử hóa…
• Mã sửa sai: mã hamming, mã BCH, mã tích chập…
Trang 17• Điều chế: AM/FM, ASK, QPSK…
II Th c hành ự
Bài 1: Thực hiện mô hình truyền thông rời rạc như hình vẽ
Bài 2: Thực hiện mô hình truyền thông như hình sau
Trang 18CHƯƠNG 8: ỨNG DỤNG MATLAB TRONG XỬ LÝ ẢNH
I. Lý thuy t ế
II. Th c hành ự
Bài 1: Khử nhiễu dùng lọc tuyến tính (Linear Filtering)
Bài 2: Khử nhiễu dùng lọc median (Median Filtering)
Bài 3: Khử nhiễu dùng lọc thích nghi (Adaptive Filtering)
Bài 4: Một số phương pháp phân tích và xử lí ảnh cơ bản
Một trong các mục tiêu quan trọng của xử lí ảnh là thu thập và phân tích dữ liệu từảnh đó (kiểm tra bao nhiêu vật thể trong ảnh, tách các số có trong ảnh và lưu trữ, …)
Thông qua phần thực hành này, sinh viên sẽ nắm được một số khái niệm cơ bản
về nhận dạng và tách biên các vật thể trong ảnh
a Phát hiện cạnh (Edge Detection)
Trang 19b Dò cạnh của vật thể
III. Bài t p áp d ng ậ ụ