báo cáo thực hành tín hiệu hệ thống 2

14 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực hành tín hiệu hệ thống 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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 2

Bà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 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]);

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 6

II 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 7

x2 = 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 8

IV 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 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)');

Trang 10

Bà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 12

Bà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 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

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