Thực hành Matlab

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

pdf11 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 3849 | Lượt tải: 5download
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:

  • pdfThực hành Matlab.pdf
Tài liệu liên quan