![báo cáo thực hành tín hiệu hệ thống 2](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
Thông tin tài liệu
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆ – N ĐIỆN TỬNGÀNH KỸ THUẬ – T ĐIỀU KHIỂN TỰ ĐỘNG HÓA--- BÁO CÁO THỰC HÀNH TÍN HIỆU HỆ THỐNG... Tích chập, phép biến đổi Fourier và lọc tín hiệu I.. Phé
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆ – N ĐIỆN TỬ
NGÀNH KỸ THUẬ – T ĐIỀU KHIỂN TỰ ĐỘNG HÓA
-
BÁO CÁO THỰC HÀNH TÍN HIỆU HỆ THỐNG
Trang 2Bài 1 Tín hiệu liên tục
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]);
Trang 3x = 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]);
Trang 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]);
Trang 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]);
I Tín hiệu chẵn, lẻ
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');
Trang 6II Tổng của các tín hiệu tuần hoàn
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]);
Trang 7x2 = 1 + 1.5*cos(2*pi*t)-0.6*cos(4*omega*t); fplot(x2,interval);grid on;
axis([interval -1 3]);
III Năng lượng, công suất của một tín hiệu
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))
Kết quả:
E = 0.2562 P =
0.0128
Trang 8IV Phép dịch, phép co giãn và phép đảo tín hiệu
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)');
Trang 9Bà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)');
Trang 10Bài 2 Hàm tuyến tính
Bài 1 Tần số và nốt nhạc
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); Bài 2:
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);
Trang 12Bài 3 Tích chập, phép biến đổi Fourier và lọc tín hiệu
I Tích chập và lọc tín hiệu âm thanh bằng bộ
lọc thông thấp lý tưởng
[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);
II Phép biến đổi Fourier và lọc tín hiệu bằng
bộ lọc Butterworth bậc 5
1 Tự tạo các 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<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);
Trang 13if 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
2 Lọc tín hiệu điện tim
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
Trang 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
Ngày đăng: 14/06/2024, 16:33
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan