Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (660.03 KB, 14 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐIỆ – N ĐIỆN TỬ</b>
<b>NGÀNH KỸ THUẬ – T ĐIỀU KHIỂN TỰ ĐỘNG HÓA</b>
<b>--- </b>
<b>BÁO CÁO THỰC HÀNH TÍN HIỆU HỆ THỐNG </b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">Bài 1: Hàm bước nhảy đơn vị function x = ustep(t) x = (sign(t)+1)/2; end
Bài 2: Hàm dốc đơn vị function x = ramp(t) x = t*ustep(t); end
Bài 3: Vẽ đồ thị syms t;
interval = [-10,10]; x = 5*ustep(t-2);
fplot(x,interval); axis([interval -1 6]);
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">x = 3*ramp(t+5);
fplot(x,interval); axis([interval -1 45]);
x = 2*ramp(t+2.5)-5*ramp(t)+3*ramp(t-2)+ustep(t-4); fplot(x,interval); axis([interval -1 5]);
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
x = sin(t)*(ustep(t+3)-ustep(t-3)); fplot(x,interval); axis([interval -1 1]);
Bài 4: Sử dụng hàm ustep() và uramp() để tạo ra các tín hiệu có đồ thị cho trước
- Đồ thị 1: Syms t;
interval = [-10 10];
x1 = ramp(t/2+2)-ramp(t)+ramp(t/2-2); fplot(x1,interval); grid on;
axis([interval -0.5 2]);
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
- Đồ thị 2: Syms t;
interval = [-10 10];
x2 = x1 + ustep(t+8)- ustep(t-8); fplot(x2,interval,'LineWidth',2); grid on;
axis([interval 0 3]);
Bài 1: Hàm trả về phần chẵn và lẻfunction [xe,xo] = evenodd(x,t) xr = subs(x,t,-t);
xe = 1/2*(x+xr); xo = 1/2*(x-xr); end
Bài 2: Tìm phần chẵn, lẻ và vẽ đồ thị clear;
syms t;
y = 2*ramp(t+2.5)-5*ramp(t)+3*ramp(t-2)+ustep(t-4); [ye,yo] = evenodd(y,t);
interval = [-10 10];
fplot(y,interval,'-k');hold on; grid on; fplot(ye,interval,'-r');
fplot(yo,interval,'-.b'); legend('y','ye','yo');
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">clear syms t; omega = pi/10; interval = [-10 10];
x1 = 1 + 1.5*cos(2*pi*omega*t)-0.6*cos(4*omega*t); fplot(x1,interval);grid on;
axis([interval -1.5 3]);
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">x2 = 1 + 1.5*cos(2*pi*t)-0.6*cos(4*omega*t); fplot(x2,interval);grid on;
axis([interval -1 3]);
clear; syms t; a = -10; b = 10;
x = exp(-t)*cos(2*pi*t)*ustep(t); E = double(int(abs(x)^2,t,a,b)) P = double(E/(b-a))
<b>Kết quả: </b>
E = 0.2562 P =
0.0128
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Bài 1: clear; syms x(t);
x(t) = 2*exp(-abs(t)); interval = [-10 10];
fplot(x,interval,'-k');grid on; hold on; axis([interval 0 2]);
fplot(x(t-2),interval,' r'); fplot(x(t+2),interval,'-.b'); legend('x(t)','x(t-2)','x(t+2)');
Bài 2: clear; syms x(t);
x(t) = exp(-abs(t)); interval = [-10 10];
fplot(x,interval,'-k');grid on; hold on; axis([interval 0 1]);
fplot(x(2*t),interval,' r'); fplot(x(t/2),interval,'-.b'); legend('x(t)','x(2t)','x(0,5t)');
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">--Bài 3: clear; syms x(t);
x(t) = exp(-abs(t)); interval = [-10 10];
fplot(x,interval,'-.k');grid on; hold on; axis([interval 0 1]);
fplot(x(-t),interval,' r'); legend('x(t)','x(-t)');
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">clear; clc;
T = 0.5; Fs = 8000; Amp = 5;
C = 262; D = 294; E = 330; F = 349; G = 392; A = 440; B = 494;
t = 0:1/Fs:T;
nC = Amp*exp(-2*t).*cos(2*pi*C*t); nD = Amp*exp(-2*t).*cos(2*pi*D*t); nE = Amp*exp(-2*t).*cos(2*pi*E*t); nF = Amp*exp(-2*t).*cos(2*pi*F*t); nG = Amp*exp(-2*t).*cos(2*pi*G*t); nA = Amp*exp(-2*t).*cos(2*pi*A*t); nB = Amp*exp(-2*t).*cos(2*pi*B*t); x = [nC,nC,nG,nG,nA,nA,nG]; y = [nF,nF,nE,nE,nD,nD,nC]; n = 0*t;
sound([x n y],Fs);
a)
clear; clc;
A1 = 0.1155; A2 = 0.3417; A3 = 0.1789; A4 = 0.1232;
A5 = 0.0678; A6 = 0.0473; A7 = 0.026; A8 = 0.0065; A9 = 0.002;
Amp = [A1,A2,A3,A4,A5,A6,A7,A8,A9]; teta = [-2.1299,1.6727,-2.5454,0.6607,-2.039,2.1597,-1.0467,1.8581,-2.3925]; B = 494; Fs = 44100;
F = B*(1:9); t = 0:1/Fs:2;
ph = teta'*ones(1,length(t)); x0 = Amp*cos(2*pi*F'*t+ph); sound(x0,Fs);
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">[data, Fs]= audioread('female_voice.wav'); data = data(:, 1).';
Ts = 1/Fs;
sound(data, Fs); pause(5); 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);
<b>1. Tự tạo các hàm </b>
%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<0); xp(1:ns-nns)=x(nns+1:ns); xp(N-nns+1:N)=x(1:nns);
Xf=dt*fft(xp); n2=ceil(N/2); if n2==N/2; X(1:n2-1)=Xf(n2+2:N); X(n2:N)=Xf(1:n2+1);
f=(-n2+1)*df:df:n2*df;
else; X(1:n2-1)=Xf(n2+1:N); X(n2:N)=Xf(1:n2); f=(-n2+1)*df:df:(n2-1)*df;
end
%IFourierTransform.m
function [t, x] = IFourierTransform(f, X) ns=length(X); df=f(2)-f(1);
N=ns; dt=1/(N*df);
Xp=zeros(1,N); Xp(1:ns)=X; nns=sum(f<0);
Xpp(1:ns-nns)=Xp(nns+1:ns); nns+1:N)=Xp(1:nns);
Xpp(N-xf=N*df*ifft(Xpp); n2=ceil(N/2);
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">if n2==N/2; x(1:n2-1)=xf(n2+2:N); x(n2:N)=xf(1:n2+1);
t=(-n2+1)*dt:dt:n2*dt;
else; x(1:n2-1)=xf(n2+1:N); x(n2:N)=xf(1:n2); t=(-n2+1)*dt:dt:(n2-1)*dt;
end
<b>2. Lọc tín hiệu điện tim </b>
Câu hỏi 1: chạy chương trình main.m và nhận xét về đồ thị thời gian của tín hiệu điện tim và phổ của nó
- Tín hiệu điện tim là tín hiệu tuần hoàn
- Nhiễu tập trung ở quanh vùng f = 0 Hz, nhiễu cũng có ở vùng f tần số cao
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">
Câu hỏi 2: nhận xét về bộ lọc
- Bộ lọc đã dùng là bộ lọc thông thấp
- Vùng tần số bộ lọc cho đi qua là từ 0 Hz đến 100 Hz
Câu hỏi 3: Nhận xét về tác dụng của bộ lọc
- Bộ lọc có tác dụng khử nhiễu có tần số cao trong máy ghi điện tim, ở Hình 3 nhiễu đã giảm so với hình
</div>