TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN *** BÁO CÁO THỰC HÀNH TÍN HIỆU VÀ HỆ THỐNG MÃ HỌC PHẦN: 691504 NHÓM: SINH VIÊN THỰC HIỆN: Lê Quang Nghĩa……………20181674……Tự động hóa 03 Đỗ Đức Mạnh………………20181641……Tự động hóa 03 Bài Tín hiệu liên tục Hàm bước nhảy đơn vị (unit step) hàm dốc đơn vị (ramp) Câu Viết hàm y = ustep(t) để biểu diễn hàm bước nhảy đơn vị function y = ustep(t) % If t=0, y = y=t>=0; end Câu Viết hàm y = uramp(t) để biểu diễn hàm dốc đơn vị function y = uramp(t) % If t=0, y = t y=t.*(t>=0); end Câu Sử dụng hàm vừa viết, vẽ đồ thị tín hiệu liên tục sau đoạn -10 ≤ t ≤ 10 + 5u(t-2) >> t=[-10:0.01:10]; >> y=5*ustep(t-2); >> plot(t,y) + 3r(t + 5) >> t=[-10:0.01:10]; >> y=3*uramp(t+5); >> plot(t,y) + y(t) = 2r(t + 2.5) – 5r(t) + 3r(t - 2) + u(t – 4) >> t=[-10:0.01:10]; >> y=2*uramp(t+2.5)-5*uramp(t)+3*uramp(t-2)+ustep(t-4); >> plot(t,y); + y(t) = sin(t)*[u(t + 3) – u(t – 3)] >> t=[-10:0.1:10]; >> y=sin(t).*[ustep(t+3)-ustep(t-3)]; >> plot(t,y); Câu Sử dụng hai hàm để tạo tín hiệu có đồ thị sau: >> t=[-10:0.1:10]; >> y=0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4); >> plot(t,y); >> t=[-10:0.1:10]; >> y=ustep(t+8)+0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4)-ustep(t8); >> plot(t,y); Tín hiệu chẵn, lẻ: Câu Xây dựng hàm số trả kết phần chẵn phần lẻ tín hiệu sau: function [ ye,yo ] = evenodd(y) % even/odd decomposition % y: analog signal % ye,yo: even and odd components % USE [ye,yo] = evenodd(y) yr = fliplr(y); ye = 0.5*(y + yr); yo = 0.5*(y – yr); end Câu 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: (giả sử -10 ≤ t ≤ 10) y(t) = 2r(t + 2.5) – 5r(t) + 3r(t - 2) + u(t – 4) >> >> >> >> >> >> >> >> >> >> t=[-10:0.01:10]; y=2*uramp(t+2.5)-5*uramp(t)+3*uramp(t-2)+ustep(t-4); [ye,yo]=evenodd(y); plot(t,y); plot(t,ye,'k ','linewidth',2); hold on; plot(t,yo,'r-.','linewidth',2); hold on; plot(t,y); legend('ye','yo','y'); Tổng tín hiệu tuần hồn: Vẽ dạng tín hiệu sau đoạn -10 ≤ t ≤ 10 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ì ? a, (t) = + 1.5cos(2πt) – 0.6cos(4t) với = >> >> >> >> t=[-10:0.1:10]; a=pi/10; y=1+1.5*cos(2*pi*a*t)-0.6*cos(4*a*t); plot(t,y); 10 Tín hiệu (t) tín hiệu tuần hồn với chu kì = Năng lượng, cơng suất tín hiệu: Tìm lượng cơng suất tín hiệu sau đoạn -10 ≤ t ≤ 10 cách sử dụng công cụ biến tượng trưng Matlab x(t) = cos(2πt) u(t) >> syms t T ; x=abs(exp(-t)*cos(2*pi*t)*heaviside(t)); f=x.^2; E=int(f,t,-T/2,T/2) E = heaviside(T)*int(exp(-2*real(t))*abs(cos(2*pi*t))^2, t, 0, T/2) >> E=subs(E,T,20) 12 E = (exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(2*(4*pi^2 + 1)) >> P=int(f,t,-T/2,T/2)/T P = (heaviside(T)*int(exp(-2*real(t))*abs(cos(2*pi*t))^2, t, 0, T/2))/T >> P=subs(P,T,20) P = (exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(40*(4*pi^2 + 1)) Phép dịch, phép co giãn phép đảo tín hiệu: Câu Vẽ đồ thị hàm số sau đồ thị: x(t), x(t – 2), x(t + 2) với x(t) = >> >> >> >> >> >> >> t=[-10:0.1:10]; x=exp(-abs(t)); plot(t,x) hold on; plot(t-2,x,'k ','linewidth',2); hold on; plot(t+2,x,'r-.','linewidth',2); 13 Câu Vẽ đồ thị hàm số sau đồ thị: x(t), x(2t), x(0,5t) với x(t) = >> >> >> >> >> >> >> t=[-10:0.1:10]; x=exp(-abs(t)); plot(t,x); hold on; plot(t*2,x,'k ','linewidth',2); hold on; plot(t*0.5,x,'r-.','linewidth',2); 14 Câu Vẽ đồ thị hàm số sau đồ thị: x(t), x(-t) với x(t) = >> t=[-10:0.1:10]; >> x=exp(-abs(t)); >> plot(t,x); >> hold on; >> plot(-t,x); 15 Bài Tín hiệu âm nhạc Câu Tần số nốt nhạc >> % Musical Scale >> s=2^(1/12); >> R=0;; >> A0=110; >> A0s=A0*s; >> B0=A0s*s; >> C0=B0*s; >> C0s=C0*s; >> D0=C0s*s; 16 >> D0s=D0*s; >> E0=D0s*s; >> F0=E0*s; >> F0s=F0*s; >> G0=F0s*s; >> G0s=G0*s; >> >> A=220; >> As=A*s; >> B=As*s; >> C=B*s; >> Cs=C*s; >> D=Cs*s; >> Ds=D*s; >> E=Ds*s; >> F=E*s; >> Fs=F*s; >> G=Fs*s; >> Gs=G*s; >> >> A2=440; >> A2s=A2*s; >> B2=A2s*s; >> C2=B2*s; >> C2s=C2*s; 17 >> D2=C2s*s; >> D2s=D2*s; >> E2=D2s*s; >> F2=E2*s; >> F2s=F2*s; >> G2=F2s*s; >> G2s=G2*s; >> >> Fs=8000; >> t=0:1/Fs:0.6; >> t2=0:1/Fs:1.2; >> >> N=300; >> A=2; >> nC=A*exp(-0.5*t).*cos(2*pi*C*t); >> nC2=A*exp(-0.5*t2).*cos(2*pi*C*t2); >> nG=A*exp(-0.5*t).*cos(2*pi*G*t); >> nGC=A*exp(-0.5*t).*cos(2*pi*G*t); >> nGC2=A*exp(-0.5*t2).*cos(2*pi*G*t2); >> nG2=A*exp(-0.5*t2).*cos(2*pi*G*t2); >> nA=A*exp(-0.5*t).*cos(2*pi*A2*t); >> nF=A*exp(-0.5*t).*cos(2*pi*F*t); >> nE=A*exp(-0.5*t).*cos(2*pi*E*t); >> nD=A*exp(-0.5*t).*cos(2*pi*D*t); >> nDG2=A*exp(-0.5*t2).*cos(2*pi*D*t2); 18 >> >> x=[nC,nC,nGC,nG,nA,nGC2,nF,nF,nE,nE,nD,nD,nC2]; >> sound(x,Fs); Question Fourier Series of a Trumpet % trumpetsynthesis C=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0065 0.0020]; Th=zeros(1,9); B=494; F=[B 2*B 3*B 4*B 5*B 6*B 7*B 8*B 9*B]; Fs=8000; t=[0:1/Fs:2]; x=1*C*cos(2*pi*F'*t); sound(x,Fs); 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 0.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) b, 19 >> >> >> >> subplot(211), plot(t(1:200),x(1:200)), axis tight, grid on; c, >> close all >> close all >> C = [0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0650 0.0020]; >> Th=zeros(1,9); >> Th=0; >> B=494; >> F=[B 2*B 3*B 4*B 5*B 6*B 7*B 8*B 9*B]; >> Fs=8000; >> t=0:1/Fs:2; >> x=1*C*cos(2*pi*F'*t); >> sound(x,Fs); Bài Tích chập, phép biến đổi Fourier lọc tín hiệu Câu Hãy chạy chương trình nhận xét đồ thị thời gian tín hiệu điện tim phổ % main.m 20 load hum3hb; x=hb; tf=(size(x,2)-1)*T; t=0:T:tf; [f,Xf]=FourierTransform(t,hb); figure(1); subplot(2,1,1) plot(t,x,’linewidth’,1); grid; axis([0 2.5 -0.5 -1.5]); xlabel(‘t (sec)’);ylabel(‘x(t)’); subplot(2,1,2) plot(f,abs(Xf),’linewidth’,1); grid; axis([-150 150 0.12]); xlabel(‘f (Hz)’);ylabel(‘’); Nhận xét: + Tín hiệu điện tim tín hiệu tuần hoàn + Trên đồ thị phổ thấy nhiễu lân cận tần số f=0 (Hz) Chương trình vẽ đáp ứng biên độ đáp ứng pha lọc: 21 load ('HUM3HB.MAT'); x=hb;tf=(size(x,2)-1)*T; t=0:T:tf; [f, Xf]=fouriertranform(t,hb); figure(1); subplot(2,1,1) plot(t,x,'linewidth',1); grid;axis([0 2.5 -0.5 1.5]); xlabel('t(sec)');ylabel('xt'); subplot(2,1,2) plot(f,abs(Xf),'linewidth',1); grid;axis([-150 150 0.12]); xlabel('f (hz)');ylabel('|X(f)|'); h=(568*exp(-300*t))-485*exp(-243*t).*cos(176*t)+668*exp(243*t).*sin(176*t)-83*exp(-93*t).*cos(285*t)-255*exp(93*t).*sin(285*t); 22 [f, Hf]=fouriertranform(t,h); figure(2) subplot(2,2,[1 2]) plot(t,h,'linewidth',1);grid; axis([0 0.5 -50 150]); xlabel('t(sec)');ylabel('h(t)'); subplot(2,2,3) plot(f,abs(Hf),'k','linewidth',1);grid; axis([-150 150 0.12]); xlabel('f(hz)');ylabel('|H(j2\pi f)|'); subplot(2,2,4) angleH=unwrap(angle(Hf))+2*pi; plot(f,angleH,'k','linewidth',1);grid; axis([-150 150 -10 10]); xlabel('f Hz');ylabel('\angle H(f)'); 23 Nhận xét: + Đây lọc thông thấp + Vùng tần số mà lọc cho qua (Hz) đến 100 (Hz) Chương trình vẽ phổ vẽ phổ biên độ tín hiệu lọc : load ('HUM3HB.MAT'); x=hb;tf=(size(x,2)-1)*T; t=0:T:tf; [f, Xf]=fouriertranform(t,hb); figure(1); subplot(2,1,1) plot(t,x,'linewidth',1); grid;axis([0 2.5 -0.5 1.5]); xlabel('t(sec)');ylabel('xt'); subplot(2,1,2) plot(f,abs(Xf),'linewidth',1); grid;axis([-150 150 0.12]); xlabel('f (hz)');ylabel('|X(f)|'); h=(568*exp(-300*t))-485*exp(-243*t).*cos(176*t)+668*exp(243*t).*sin(176*t)-83*exp(-93*t).*cos(285*t)-255*exp(93*t).*sin(285*t); [f, Hf]=fouriertranform(t,h); figure(2) subplot(2,2,[1 2]) plot(t,h,'linewidth',1);grid; axis([0 0.5 -50 150]); xlabel('t(sec)');ylabel('h(t)'); subplot(2,2,3) plot(f,abs(Hf),'k','linewidth',1);grid; axis([-150 150 1.2]); xlabel('f(hz)');ylabel('|H(j2\pi f)|'); subplot(2,2,4) angleH=unwrap(angle(Hf))+2*pi; plot(f,angleH,'k','linewidth',1);grid; axis([-150 150 -10 10]); xlabel('f Hz');ylabel('\angle H(f)'); Yf=Xf.*Hf; figure(3) subplot(2,1,1) plot(f,abs(Yf),'r','linewidth',1);grid; axis([-150 150 0.12]); xlabel('f (Hz)');ylabel('|Y(t)|'); [t2,y]=ifouriertranform(f, Yf); 24 subplot(2,1,2) plot(t2,y,'r','linewidth',1);grid; axis([0 2.5 -0.5 1.5]); xlabel('t (sec)');ylabel('y(t)'); + Tác dụng lọc: Khử tín hiệu tần số cao ( hạn chế tín hiệu có tần số lớn 100 Hz ) 25 26 ... plot(t,yo,'r-.','linewidth',2); hold on; plot(t,y); legend('ye','yo','y'); Tổng tín hiệu tuần hồn: Vẽ dạng tín hiệu sau đoạn -10 ≤ t ≤ 10 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ì ? a, (t) =... 0.5*(y + yr); yo = 0.5*(y – yr); end Câu 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: (giả... plot(t,y); 10 Tín hiệu (t) khơng tuần hồn b, (t) = + 1.5cos(6πt) – 0.6cos(4t) với = >> >> >> >> t=[-10:0.01:10]; a=pi/10; y=1+1.5*cos(6*pi*t)-0.6*cos(4*a*t); plot(t,y); 11 Tín hiệu (t) tín hiệu tuần