đồ án viễn thông xử lý tín hiệu số trên matlab
TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ TRUYỀN THÔNG ĐỒ ÁN VIỄN THÔNG ĐỀ TÀI: XỬ LÝ TÍN HIỆU SỐ TRÊN MATLAB Ngành Kỹ Thuật Điện Tử Truyền Thông GVHD: Đào Văn Phượng Sinh Viên: Huỳnh Thanh Phương MSSV: 2114230034 Nguyễn Tấn Bình MSSV: 2114230003 TP HỒ CHÍ MINH - 6/2016 TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ TRUYỀN THÔNG Đồ án viễn thông ĐỒ ÁN VIỄN THÔNG ĐỀ TÀI: XỬ LÝ TÍN HIỆU SỐ TRÊN MATLAB Ngành Kỹ Thuật Điện Tử Truyền Thông GVHD: Đào Văn Phượng Sinh Viên: Huỳnh Thanh Phương MSSV: 2114230034 Nguyễn Tấn Bình MSSV: 2114230003 TP HỒ CHÍ MINH - 6/2016 Đồ án viễn thông Lời nói đầu Công nghệ xử lý tín hiệu số công nghệ bùng nổ nhanh chóng ngành công nghiệp điện tử viễn thông Xử lý tín hiệu số có nhiều ứng dụng đa dạng, ví dụ điều chỉnh động diesel, xử lý thoại, gọi điện thoại khoảng cách xa, xử lý tiếng nói, xử lý âm thanh, tăng cường chất lượng hình ảnh truyền hình Các công nghệ nén MPEG hay WMV dựa tiến công nghệ xử lý tín hiệu số Xử lý tín hiệu số (tiếng Anh: Digital signal processing) việc xử lý tín hiệu biểu diễn dạng chuỗi dãy số, đề cập đến phép xử lý dãy số để có thông tin cần thiết phân tích, tổng hợp mã hoá, biến đổi tín hiệu sang dạng phù hợp với hệ thống Trong môn học Xử lý tín hiệu số, nội dung đề cập bao gồm khái niệm tín hiệu hệ thống, phép biến đổi dùng xử lý tín hiệu số biến đổi z, biến đổi Fourier, biến đổi FFT, phương pháp tổng hợp lọc FIR, IIR cấu trúc lọc Do vốn kiến thức có hạn nên đồ án tránh khỏi thiếu sót định, nhóm em mong nhận bảo đóng góp ý kiến thầy cô giáo khoa Điện tử Đồ án viễn thông Nhận xét giáo viên hướng dẫn Đồ án viễn thông Nhận xét giáo viên khác Đồ án viễn thông Mục lục Đồ án viễn thông Danh mục hình ảnh Hình 1.1.1: Biểu diễn Step signal Hình 1.1.2: Biểu diễn Impulse signal Hình 1.2.1: Biểu diễn tín hiệu sin thực có tần số 0,1 Hình 1.2.2: Biểu diễn tín hiệu sin thực có tần số 0,9 Hình 1.2.3: Biểu diễn tín hiệu sin thực có tần số 1,1 10 Hình 1.3: Biểu diễn tín hiệu sin thực n=50, f=0,08 A=2,5 phase 90 12 Hình 1.4: Biểu diễn tín hiệu dạng lũy thừa thực “x[n]=0,2.1,2” 13 Hình 1.5: Biểu diễn tín hiệu sin phức sin thực 14 Hình 1.6: Chương trình phát dãy xung 16 Hình 2.1: Xung h(n) cho hệ thống có phương trình sai phân 22 Hình 2.2: Nghiên cứu tính chất tuyến tính hệ thống 24 Hình 2.3: Mô hệ thống có phương trình sai phân 26 Hình 2.4: Ghép nối hệ thống bậc có phương trình sai phân 28 Hình 2.5: Các hệ thống tuyến tính phi tuyến tính .30 Hình 2.6: Các hệ thống bất biến với thời gian 32 Hình 2.7: Chương trình tính vẽ tín hiệu lối y1[n] y2[n] Đồ án viễn thông 34 Đồ án viễn thông Giới thiệu Matlab Matlab từ viết tắt Matrix Laboratory Matlab ngôn ngữ lập trình cấp cao dạng thông dịch Nó môi trường tính toán số thiết kế công ty MathWorks Matlab cho phép thực phép tính toán số, ma trận, vẽ đồ thị hàm số hay biểu diễn thông tin (dưới dạng 2D hay 3D), thực thuật toán giao tiếp với chương trình ngôn ngữ khác cách dễ dàng Hiện có nhiều công cụ phần mềm tiện ích mạnh để hỗ trợ tính toán Hai số MATHCAD Mathsoft MATLAB MathWorks Chúng gói phần mềm dễ dàng kiếm Việt Nam vào thời điểm Ngoài ra, gói phần mềm MATHEMATICA Wolfram giới khoa học kỹ thuật giới ưa dùng Khả tính toán dựa phương pháp tính gần điểm mạnh phần mềm Phần mềm MATHCAD có đặc điểm hiển thị kết tính toán sau người dùng trực tiếp đánh công thức vào giao diện người sử dụng Tuy nhiên sử dụng phần mềm có khó khăn người dùng muốn đóng gói kế thừa tái sử dụng thiết kế trước Về điểm phần mềm MATLAB tương đối mạnh, cho phép người dùng thiết kế phần mềm thông qua câu lệnh, dễ dàng mô-đun hoá dạng kịch hàm để sử dụng, phát triển qua trình thiết kế toán thiết kế khác Xử lý tín hiệu số thực Matlab chia làm chương: • Chương 1: Biểu diễn tín hiệu • Chương 2: Hê thống LTI Đồ án viễn thông Chương BIỂU DIỄN TÍN HIỆU 1.1 Tóm tắt lý thuyết • Dãy tuần hoàn dãy thỏa mãn điều kiện: x(n) = x(n + kN), với N chu kỳ k số nguyên • Năng lượng dãy x(n) xác định theo công thức: • Năng lượng khoảng xác định từ -K ≤ n ≤ K xác định theo công thức: • Công xuất trung bình dãy không tuần hoàn xác định công thức: • Công xuất trung bình dãy tuần hoàn với chu kỳ N xác định công thức: • Dãy xung đơn vị: • Dãy nhảy bậc đơn vị: • Dãy sine phức: x[n]= • Dãy sine thực: x[n]=cos • Thành phần chẵn lẻ tín hiệu x(n) = xe(n) + x0(n) 10 Đồ án viễn thông title('tin hieu loi theo x'); axis([0 40 -50 50]) %chia truc cua thi truc X tu 0-40, truc y tu -50-50 subplot(3,1,2); stem(n,yt); title('tin hieu loi theo y'); axis([0 40 -50 50]) subplot(3,1,3); stem(n,d); title('tin hieu sai so d'); %ket qua chay chuong trinh Hình 2.2 Nhìn vào đồ thị ta thấy tín hiệu lối theo x(y[n]), tín hiệu lối theo y(yt[n]) giống hai hệ thống tuyến tính y[n]=yt[n] 33 Đồ án viễn thông Bài 3: Mô hệ thống có phương trình sai phân sau: y[n] = 2,2403x[n] + 2,4908x[n - l] + 2,2403x[n - 2] + 0,4y[n - l] + 0,75y[n - 2] Mục đích chương trình tìm tín hiệu lối y[n] tín hiệu lối vào x[n] x[n – n0] hiệu tín hiệu Giải: n=0:40; n0=10; a=0.3; b=-2; xn=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n); xn0=[zeros(1,n0) xn]; num=[2.243 2.4908 2.2403]; den=[1 -0.4 0.7]; yn=filter(num,den,xn); yn0=filter(num,den,xn0); dn=yn-yn0( +n0 :41 +n0) ; subplot(3,1,1) stem(n, yn); title('tin hieu loi trheo y[n]'); subplot(3,1,2); stem(n,yn0(1:41)); title('tin hieu loi tre nO mau'); subplot(3,1,3); stem(n,dn); title('tin hieu hieu') 34 Đồ án viễn thông Hình 2.3 Dựa vào đồ thị ta nhận thấy hệ thống không bất biến với thời gian 35 Đồ án viễn thông Bài 4: Ghép nối hệ thống bậc có phương trình sai phân sau: y1[n] + 0,9y1[n1 ] + 0,8y1[n - 2] = 0,3x[n] - 0,3x[n -1] + 0,4x[n - 2] y2[n] + 0,7y2[n - l] + 0,85y2[n - 2] = 0,2yl[n] - 0,5yl[n - l] + 0,3yl[n - 2] để thu hệ thống bậc 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[n4] = 0,06x[n] -0,19x[nl] + 0,27x[n - 2] - 0,26x[n - 3] + 0,12x[n - 4] Giải: %chuong trinh x=[1 zeros(1,40)]; %tao tin hieu vao x[n] n=0:40; %cac he so cua he thong bac den=[1 1.6 2.28 1.325 0.68]; num=[0.06 -0.19 0.27 -0.26 0.12]; %tinh tin hieu loi cua he thong bac y=filter(num,den,x); %cac he so cua hai he thong bac hai num1=[0.3 -0.2 0.4]; den1=[1 0.9 0.8]; num2=[0.2 -0.5 0.3]; den2=[1 0.7 0.85]; %tin hieu y[n] y1=filter(num1 ,den1 ,x); %tin hieu y[2] y2=filter(num2 ,den2 ,y1); 36 Đồ án viễn thông %hieud[n]=y[n]-y2[n] d=y-y2; %ve cac tin hieu subplot(3,1,1); stem(n,y); ylabel('bien do') title('tin hieu cua he thong bac 4'); grid; subplot(3,1,2); stem(n,y2); ylabel('bien do') title('loi cua he thong noi tiep'); grid; subplot(3,1,3); stem(n,d); xlabel('chi so thoi gian n'); ylabel('bien do'); title('tin hieu sai so'); grid; 37 Đồ án viễn thông Hình 2.4 Dựa vào đồ thị ta nhận thấy tín hiệu lối y[n] giống tín hiệu lối y2[n] nên dãy y[n] giống dãy y2[n] 38 Đồ án viễn thông Bài 5: Các hệ thống tuyến tính 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,5xn + ) x2[n] = sin(0,2n) x[n] = 3xl[n] + 2x2[n] Tính vẽ tín hiệu lối yl[n], y2[n], y[n] Giải: %chuong trinh nghien cuu ve tinh chat tuyen tinh va khong tuyen tinh n=0:40; a=3; b=2; x1=cos(0.5*pi*n+pi/3); x2=sin(0.2*pi*n); x=a*x1+b*x2; num=[1 1]; den=[1 -0.5 0.25]; y1=filter(num,den,x1 ) ; y2=filter(num,den,x2); y=filter(num,den,x); yt=a*y1+b*y2; d=y-yt subplot(3,1,1); stem(n,y); title('tin hieu loi theo x') axis([0 40 -50 50]) subplot(3,1,2); stem(n,yt); 39 Đồ án viễn thông title('tin hieu loi theo y') axis([0 40 -50 50]) subplot(3,1,3); stem(n,d); title('tin hieu sai so d') Hình 2.5 Vì tín hiệu lối theo X giống tín hiệu lối theo y nên hệ thống tuyến tính 40 Đồ án viễn thông Bài 6: 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 - l] + 0,25y[n - 2] = x[n] + 2x[n - l] + x[n - 3] Viết chương trình vẽ tín hiệu lối y[n] y[n - n0] với n0 = 5, tín hiệu lối vào là: x[n] = cos (0 ,5 + ) + 2sin(0,2n) Giải: %he thong dap ung xung bat bien theo thoi gian n=0:40; n0=5; a=3; b=2; xn=a*cos(0.5*pi*n+pi/3)+b*sin(0.2*pi*n); xn0=[zeros(1,n0) xn]; num=[1 1]; den=[1 -0.5 0.25 0]; yn=filter(num,den,xn); yn0=filter(num,den,xn0); dn=yn-yn0(1 +n0:41 +n0); subplot(3,1,1) stem(n,yn); title('tin hieu loi y[n]'); subplot(3,1,2); stem(n,yn0(1:41)); title('tin hieu loi tre n0 mau'); subplot(3,1,3); stem(n,dn); title('tin hieu hieu'); 41 Đồ án viễn thông Hình 2.6 Dựa vào đồ thị ta nhận thấy hệ thống không bất biến với thời gian 42 Đồ án viễn thông Bài 7: Viết chương trình tính vẽ tín hiệu lối y1[n] 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 - l] + 0,45x[n - 2] + 0,53y[n - l] - 0,46y[n 2] với tín lối vào x[n] = cos(20n/256) + cos(200n/256) với 0