1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thí nghiệm ee2000 tín hiệu và hệ thống

18 26 0

Đ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

Thông tin cơ bản

Tiêu đề Báo Cáo Thí Nghiệm EE2000-Tín Hiệu Và Hệ Thống
Tác giả Hà Ngọc Sơn
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Điện – Điện Tử
Thể loại báo cáo thí nghiệm
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 686,76 KB

Nội dung

Trang 1 ĐẠI HỌC BÁCH KHOA HÀ NỘITRƯỜNG ĐIỆN – ĐIỆN TỬ Trang 2 BÀI 1:TÍN HIỆU LIÊN TỤCI-Hàm bước nhảy đơn vịunit step và hàm dốc đơn vịrampCác hàm sử dụng:function y=ustepty=zerossizet;%

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ

BÁO CÁO THÍ NGHIỆM EE2000-TÍN HIỆU VÀ HỆ THỐNG

HỌC KỲ 20221

Họ và tên: Hà Ngọc Sơn

MSSV:20210753

Lớp:Tín hiệu và hệ thống

Mã lớp:724986

Hà Nội, 2/2023

Trang 2

BÀI 1:TÍN HIỆU LIÊN TỤC

I-Hàm bước nhảy đơn vị(unit step) và hàm dốc đơn vị(ramp)

Các hàm sử dụng:

function y=ustep(t)

y=zeros(size(t));%tạo ma trận 0 với kích thước ma trận t hàng 2 cột

for i=1:size(t,2)

if t(i)<0 y(i)=0;

else y(i)=1;

end

end

end

function y=uramp(t)

y = zeros(size(t));

for i=1:size(t,2)

if t(i)<0 y(i)=0;

else y(i)= t(i);

end

end

end

Bài 1:

-Chương trình câu lệnh:

t =linspace(-5,5,1000); %chia khoảng [-5,5] thành 1000 khoảng y=ustep(t);

plot(t,y)

axis([-5 5 -1 2]); %căn chỉnh đồ thị,chia lại các trục tọa độ

title('unit step signal');

-Đồ thị tín hiệu:

Trang 3

Bài 2 :

-Chương trình câu lệnh:

t =linspace(-5,5,1000);

y= uramp(t);

figure; %Tạo mới,hiện hình ảnh đồ thị chọn

plot(t,y);

title('ramp signal');

-Đồ thị tín hiệu:

Bài 3:

-Chương trình câu lệnh:

t =linspace(-10,10,1000);

x1=5*ustep(t-2);

x2=3*uramp(t+5);

x3=2*uramp(t+2.5)-5*uramp(t)+3*uramp(t-2)+ustep(t-4);

x4=sin(t).*(ustep(t+3)-ustep(t-3));

figure;

subplot(2,2,1); plot(t,x1);title('5u(t-2)');

%subplot:Chia cửa sổ đồ họa thành 4 vùng và hiển thị đồ thị 1 trên vùng 1 subplot(2,2,2); plot(t,x2);title('3r(t+5)');

subplot(2,2,3); plot(t,x3);title('2r(t+2.5)-5r(t)+3r(t-2)+u(t-4)');

subplot(2,2,4); plot(t,x4);title('y(t)=sint*[u(t+3)-u(t-3)]');

-Đồ thị tín hiệu:

Trang 4

Bài 4:

-Chương trình câu lệnh:

figure;

x5 = 0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4);

x6 = ustep(t+8)+0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4)-ustep(t-8); plot(t,x5); axis([-10 10 -0.5 2]); grid on;

-Đồ thị tín hiệu trên:

Trang 5

-Chương trình câu lệnh:

figure;

x5 = 0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4);

x6 = ustep(t+8)+0.5*uramp(t+4)-uramp(t)+0.5*uramp(t-4)-ustep(t-8); plot(t,x6,'LineWidth',1.5); xlim([-10 10]); grid on;

%xlim:giá trị lớn nhất và nhỏ nhất trên trục x

%grid on:hiển thị lưới tọa độ

-Đồ thị tín hiệu trên:

II-Tín hiệu chẵn, lẻ

Các hàm sử dụng:

function [ye,yo] = evenodd(y)

yr = fliplr(y);

ye=0.5*(y+yr);

yo=0.5*(y-yr);

end

Bài 1:

function [ye,yo] = evenodd(y)

yr = fliplr(y);

ye=0.5*(y+yr);

yo=0.5*(y-yr);

end

Bài 2:

-Chương trình câu lệnh:

y=2*uramp(t+2.5)-5*uramp(t)+3*uramp(t-2)+ustep(t-4);

[ye,yo]=evenodd(y);

Trang 6

plot(t,y,'m-',t,ye,'r ',t,yo,'k-.');

grid on;

xlim([-10 10]);

legend('y','y_{even}','y_{odd}'); %thêm chú thích

-Đồ thị tín hiệu:

III-Tổng của các tín hiệu tuần hoàn:

-Chương trình câu lệnh:

t = linspace(-10,10,1000);

omega= pi/10;

x1 = 1+1.5*cos(2*pi*omega*t)-0.6*cos(4*omega*t); x2 = 1+1.5*cos(6*pi*t)-0.6*cos(4*omega*t);

figure;

subplot(1,2,1); plot(t,x1); title('x_1(t)');

subplot(1,2,2); plot(t,x2); title('x_2(t)');

-Đồ thị tín hiệu:

Trang 7

-Trả lời câu hỏi:

1 ( ) 1 1,5co s(2 0 6 ,cos(4 0 ) 0 )

với 0 10

 

1 ( ) 1 1,5 11 ( ) 0, 6 12 ( )

x t   x tx t

+) x11 ( )t

là hàm tuần hoàn với chu kì 1 0

2

+) x12 ( )t

là hàm tuần hoàn với chu kì 0

2

2 5 4

+) 2

1 2

T

 không phải số hữu tỉ nên x t1 ( )

không phải tín hiệu tuần hoàn

0

2 ( ) 1 1,5co s(6 c os( 6 , 0 4 ) )

với 0 10

 

1

2 ( ) 1 1,5 2 ( ) 0,6 22 ( )

x t   x tx t

+) x21 ( )t

là hàm tuần hoàn với chu kì 1

+) x22 ( )t

là hàm tuần hoàn với chu kì 2 0

2 5 4

+)

1

2

1 15

T

T

 nên x2 ( )t

là hàm tuần hoàn với chu kì T  15T1 T2  5

(s)

Trang 8

III-Năng lượng,công suất của một tín hiệu:

syms t x

x = exp(-t)*cos(2*pi*t)*heaviside(t);

%Năng lượng của tín hiệu

E = int(x^2,-10,10)

% E=(exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(2*(4*pi^2 + 1))

%Công suất của tín hiệu

P = 1/20*int(x^2,-10,10)

% P=(exp(-20)*(2*pi^2 + 1)*(exp(20) - 1))/(40*(4*pi^2 + 1))

%Đánh giá xấp xỉ

E = double(E)

E = 0.2562

P = double(P)

P=0.0128

IV-Phép dịch,phép co giãn và phép đảo tín hiệu:

Bài 1:

-Chương trình câu lệnh:

syms t

x = exp(-abs(t));

figure;

fplot(x,[-10, 10]); hold on

%fplot:vẽ đường cong x(t)

%hold on: vẽ nhiều đường con trên cùng 1 đồ thị

x1 = subs(x,t-2); fplot(x1,[-10,10]); %x(t-2)

%subs:thay thế số vào biến tượng trưng trong biểu thức sử dụng biến tượng trưng

x2 = subs(x,t+2); fplot(x2,[-10,10]); %x(t+2)

legend('x(t)','x(t-2)','x(t+2)');

-Đồ thị tín hiệu:

Trang 9

Bài 2:

-Chương trình câu lệnh:

syms t

x = exp(-abs(t));

figure;

fplot(x,[-10, 10]); hold on

x1 = subs(x,2*t); fplot(x1,[-10,10]); %x(2t)

x2 = subs(x,0.5*t); fplot(x2,[-10,10]); %x(2t)

legend('x(t)','x(2t)','x(0,5t)');

-Đồ thị tín hiệu:

Trang 10

Bài 3:

-Chương trình câu lệnh:

syms t

x = exp(-abs(t));

figure;

fplot(x,[-10, 10]); hold on

x1 = subs(x,-t); fplot(x1,[-10,10]); %x(-t)

legend('x(t)','x(-t)');

-Đồ thị tín hiệu:

Trang 11

BÀI 2:HÀM TUYẾN TÍNH

Bài 1: Tần số và nốt nhạc

%Chơi 1 note

% playing and plotting a pure tone

T = 2; % time to play the note is 2 sec

Fs = 8000; % sampling frequency is 8000 Hz

t=0:1/Fs:T; % vector of time instants

Amp = 1; % amplitude of the tone

ph=0; % phase of the tone

fb = 494; % frequency of middle B

N=300;

figure;

x = Amp*sin(2*pi*fb*t+ph); % vector x contains the values of

% the sinusoidal of frequency fb

% try with x = Amp*exp(-t).*sin(2*pi*fb*t+ph);

plot(t(1:300),x(1:300));

% play the note

sound(x,Fs);

Đồ thị tín hiệu:

Trang 12

% program to play the ABC song with pure tone

%clf reset

% MUSICAL SCALE

s=2^(1/12);

R=0; % This is a rest

A0=110;

A0s=A0*s;

B0=A0s*s;

C0=B0*s;

C0s=C0*s;

D0=C0s*s;

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; % Middle C

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;

D2=C2s*s;

Trang 13

Fs=8000;

t=0:1/Fs:0.6;

t2=0:1/Fs:1.2;

N=300;

A=2;

R = zeros(size(t));

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

x=[nC,nC,nGC,nG,nA,nA,nGC2,nF,nF,nE,nE,nD,nD,nC2,

nG,nG,nF,nF,nE,nE,nDG2,nG,nG,nF,nF,nE,nE,nDG2,

nC,nC,nGC,nG,nA,nA,nGC2,nF,nF,nE,nE,nD,nD,nC2];

sound(x,Fs);

Bài 2: Fourier Series of a Trumpet

figure;

t = linspace(0,1,44100);F=494;

C=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0045 0.0020]; 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));

subplot(1,2,1); plot(t(1:200),x(1:200))

axis tight, grid on

sound(x,44100) %sound của tín hiệu trumpet

%Trường hợp theta = 0 -> Bỏ theta đi

t = linspace(0,1,44100);F=494;

C=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0045 0.0020]; Th=zeros(1,9);

x = C*cos(2*pi*F*[1:9]'*t);

subplot(1,2,2); plot(t(1:200),x(1:200))

axis tight, grid on

sound(x,44100) %sound khi theta = 0

Trang 14

Đồ thị tín hiệu:

Trang 15

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

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; no=n2;

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); Xpp(N-nns+1:N)=Xp(1:nns);

xf=N*df*ifft(Xpp); n2=ceil(N/2);

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ó

Trang 16

% main.m

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 0.12]);

xlabel('f (Hz)');ylabel('|X(f)|');

 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

Câu hỏi 2: Nhận xét về bộ lọc đã dùng

h=(568*exp(-300*t)-485*exp(-243*t).*cos(176*t)

Trang 17

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

 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

Yf=Xf.*Hf;

figure(3)

subplot(2,1,1)

plot(f,abs(Yf),'r','linewidth',1); grid;

axis([-150 150 0 0.12]);

xlabel('f (Hz)'); ylabel('|Y(f)|');

[t2,y]=IFourierTransform(f,Yf);

subplot(2,1,2)

Trang 18

plot(t2,y,'r','linewidth',1); grid;

axis([0 2.5 -0.5 1.5]);

xlabel('t (sec)'); ylabel('y(t)');

Nhận xét: Bộ lọc có tác dụng khử nhiễu tần số cao trong máy ghi điện tim, ở Hình

3 nhiễu đã giảm so với Hình 1

Ngày đăng: 13/03/2024, 16:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w