ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN ĐIỆN TỬ BÁO CÁO THÍ NGHIỆM TÍN HIỆU HỆ THỐNG (EE2000) Giáo viên hướng dẫn Trịnh Hoàng Minh Sinh viên thực hiện Trần Xuân Dũng MSSV 20191785 Lớp Tự động hoá 10[.]
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN - ĐIỆN TỬ - - BÁO CÁO THÍ NGHIỆM TÍN HIỆU HỆ THỐNG (EE2000) Giáo viên hướng dẫn: Sinh viên thực hiện: MSSV: Lớp: Mã lớp học: Kỳ học: Trịnh Hoàng Minh Trần Xuân Dũng 20191785 Tự động hoá 10 – K64 712065 20211 Hà Nội, Tháng – 2021 TÍN HIỆU LIÊN TỤC I Hàm bước nhảy đơn vị (unit step) hàm dốc đơn vị (ramp) BÀI 1: Viết hàm để biểu diễn hàm bước nhảy đơn vị Hàm bước nhảy đơn vị function y = ustep(t,ad) N = length(t); y = zeros(1,N); for i=1:N if t(i)>=-ad y(i)=1; end end end Chạy chương trình matlab t =[-10:0.5:10]; u = ustep(t,0); figure plot(t,u,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm ustep(t)") legend("u = ustep(t)","Location","southeast") BÀI 2: Viết hàm để biểu diễn hàm dốc đơn vị Hàm biểu diễn độ dốc đơn vị function y = uramp(t,ad) N = length(t); y = zeros(1,N); for i = 1:N if t(i) >= -ad y(i) = t(i)+ad; end end end Chạy chương trình matlab t=[-10:0.5:10]; u = uramp(t,0); figure plot(t,u,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm uramp(t)") legend("u = uramp(t)","Location","northwest") BÀI 3: Sử dụng hàm vừa viết, vẽ đồ thị tín hiệu liên tục sau đoạn a) t=[-10:0.5:10]; y = 5*ustep(t,-2); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y=5u(t-2)") legend("y = 5u(t - 2)","Location","southeast") b) t=[-10:0.5:10]; y = 3*uramp(t,5); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y=3r(t+5)") legend("y = 3r(t + 2)","Location","northwest") c) t=[-10:0.5:10]; y = 2*uramp(t , 2.5)-5*uramp(t,0)+3*uramp(t ,- 2)+ustep(t ,- 4); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y = 2r(t + 2.5) - 5r(t) + 3r(t - 2) + u(t - 4)") legend("y = 2r(t + 2.5)-5r(t)+3r(t - 2)+u(t - 4)","Location","southwest") d) t=[-10:0.5:10]; y = sin(t).*(ustep(t , 3)-ustep(t ,- 3)); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y = sin(t)*[u(t + 3) - u(t - 3)]") legend("y = sin(t)*[u(t + 3) - u(t - 3)]","Location","northwest") BÀI 4: Sử dụng hai hàm để tạo tín hiệu có đồ thị sau: Hình 1: t=[-10:0.5:10]; y = ((1/2)*t+2).*ustep(t,4)+((1/2)*t-2).*ustep(t,-4)-uramp(t,0); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y = (t/2+2)u(t+4)+(t/2-2)u(t-4)-r(t)") legend("y = (t/2+2)u(t+4)+(t/2-2)u(t-4)-r(t)","Location","northwest") Hình 2: t=[-10:0.5:10]; y = ustep(t,8)-ustep(t,-8)+(1/2)*(uramp(t,4)+uramp(t,-4))-uramp(t,0); figure plot(t,y,"LineStyle","-","Color","r","LineWidth",1) grid on title("Đồ thị hàm y = u(t+8)-u(t-8)+(r(t+4)+r(t-4))/2-r(t)") legend("y = u(t+8)-u(t-8)+(r(t+4)+r(t-4))/2-r(t)","Location","northwest") II Tín hiệu chẵn lẻ BÀI 1: Xây dựng hàm số trả kết phần chẵn phần lẻ tín hiệu: Hàm chẵn hàm lẻ: function [ye,yo]=evenodd(y) syms f(x) f(x)=y; yr=f(-x); ye=0.5*(y+yr); yo=0.5*(y-yr); end Chạy chương trình matlab: syms x [ye,yo]=evenodd(exp(x)) BÀI 2: Sử dụng hàm số để tìm phần chẵn phần lẻ tín hiệu liên tục sau vẽ đồ thị tín hiệu phần chẵn phần lẻ đồ thị sử dụng dạng đường thẳng màu sắc khác nhau: syms ye yo t=[-10:0.5:10]; y = 2*uramp(t ,2.5) - 5*uramp(t,0) + 3*uramp(t, - 2) + ustep(t ,- 4); [ye,yo]=evenodd(y) plot(t,y,"LineStyle","-","Color","k","LineWidth",1) grid on hold on plot(t,ye,"LineStyle"," ","Color","r","LineWidth",1) plot(t,yo,"LineStyle","-.","Color","b","LineWidth",1) title("Đồ thị y(t) = 2r(t + 2,5) - 5r(t) + 3r(t - 2) + u(t - 4)") legend("y","ye","yo","Location","northwest") hold off III Tổng tín hiệu tuần hồn Vẽ dạng tín hiệu sau đoạn Tín hiệu có phải tín hiệu tuần hồn hay khơng? Nếu có, tìm chu kì nó? a) w=pi/10; t=-10:pi/100:10; x1=1+1.5*cos(2*pi*w*t)-0.6*cos(4*w*t); plot(t,x1); grid on Tín hiệu Trong đó: với hay với , với khơng số hữu tỷ tín hiệu khơng tuần hồn b) w=pi/10; t=-10:pi/100:10; x2=1+1.5*cos(6*pi*t)-0.6*cos(4*w*t); plot(t,x2); grid on; với Tín hiệu hay Trong đó: với , với số hữu tỷ tín hiệu tuần hồn IV Năng lượng, cơng suất tín hiệu Năng lượng tín hiệu khoảng định nghĩa Cơng suất định nghĩa lượng cơng suất tín hiệu sau đoạn dụng cơng cụ biểu tượng Matlab syms t; T=20; u(t)=heaviside(t); x(t)=exp(-t).*cos(2*pi*t).*u(t); f=(abs(x(t))).^2; Tìm cách sử E=int(f, t, -T/2, T/2) P=int(f, t, -T/2, T/2)/T Kết quả: E = (exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(2*(4*pi^2 + 1) E =0.2562 P = (exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(40*(4*pi^2 + 1)) P = 0.0128 V Phép dịch, phép co giãn phép đảo tín hiệu BÀI 1: Vẽ đồ thị hàm số sau đồ thị: với Giả sử t=-10:0.01:10; x1=exp(-(abs(t))); x2=exp(-(abs(t-2))); x3=exp(-(abs(t+2))); plot(t,x1,'r','linewidth',2); hold on plot(t,x2,'g','linewidth',2); plot(t,x3,'b','linewidth',2); legend('x(t)','x(t-2)','x(t+2)'); set(gca, 'fontsize',24); hold off Bài 2: Vẽ đồ thị hàm số sau đồ thị: Giả sử t=-10:0.01:10; x1=exp(-(abs(t))); x2=exp(-(abs(2*t))); x3=exp(-(abs(0.5*t))); plot(t,x1,'r','linewidth',2); với hold on plot(t,x2,'g','linewidth',2); plot(t,x3,'b','linewidth',2); legend('x(t)','x(2t)','x(0.5t)'); set(gca, 'fontsize',24); hold off Bài 3: Vẽ đồ thị hàm số sau đồ thị: Giả sử t=-10:0.01:10; x1=exp(-(abs(t))); x2=exp(-(abs(-t))); plot(t,x1,"LineStyle","-","Color","r","LineWidth",2); hold on plot(t,x2,"LineStyle"," ","Color","b","LineWidth",2); legend('x(t)','x(-t)'); set(gca, 'fontsize',24); hold off với TÍN HIỆU LIÊN TỤC Bài 1: Tần số nốt nhạc: Viết chương trình chơi nhạc CCGGAAG , FFEEDDC— Fs=8000; t=[0:1/Fs:0.5]; Fc=262;Fd=294;Fe=330;Ff=349;Fg=392;Fa=440;Fb=494;Fj=0; C=cos(2*pi*Fc*t); D=cos(2*pi*Fd*t); E=cos(2*pi*Fe*t); F=cos(2*pi*Ff*t); G=cos(2*pi*Fg*t); A=cos(2*pi*Fa*t); B=cos(2*pi*Fb*t); Si=cos(2*pi*Fj*t); song=[C C G G A A G Si Si F F E E D D C Si Si]; sound(song,Fs) Bài 2: Fourier Series of a Trumpet – MATLAB a) t = linspace(0,1,44100);F=494; C=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.026 0.0045 0.002]; Th=[-2.13 1.67 -2.545 661 -2.039 2.16 -1.0467 1.858 -2.39]; x = C*cos(2*pi*F*[1:9]'*t-Th'*ones(1,44100)); sound(x,44100); 10 b) subplot(211), plot(t(1:200),x(1:200)) axis tight,grid on; c) t = linspace(0,1,44100);F=494; C=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.026 0.0045 0.002]; Th=zeros(1,9); x = C*cos(2*pi*F*[1:9]'*t-Th'*ones(1,44100)); sound(x,44100); subplot(211), plot(t(1:200),x(1:200)) grid on; Nhận xét: Sau đổi pha thành 0, tín hiệu âm thu có đồ thị âm thay đổi, nhiên âm nghe tai người không đổi 11 TÍCH CHẬP, PHÉP BIẾN ĐỔI FOURIER VÀ LỌC TÍN HIỆU I Tích chập lọc tín hiệu âm lọc thông thấp lý tưởng [data, Fs, Nbits]=wavread('female_voice.wav'); data = data(:, 1).'; Ts = 1/Fs; sound(data, Fs); t = [-10:Ts:10]; wb = 1500*2*pi; ht = wb/(2*pi)*sinc(wb*t/(2*pi)); y = conv(data, ht, 'same'); y = y/max(abs(y)); sound(y, Fs); II Phép biến đổi Fourier lọc tín hiệu lọc Butterworth bậc Tự tạo hàm %FourierTransform.m function [f,X]=FourierTransform(t,x) ns=size(x,2); dt=t(2)-t(1) ; N=2*ns; df=1/(N*dt); xp=zeros(1,N) ; nns=sum(t