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

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

16 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 tín hiệu và hệ thống
Tác giả Phạm Ngọc Quyết
Người hướng dẫn Phạm Văn Tuynh
Trường học Trường Đại học Bách Khoa Hà Nội, Trường Điện-Điện Tử
Chuyên ngành Tín hiệu và hệ thống
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 16
Dung lượng 866,62 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘITRƯỜNG ĐIỆN-ĐIỆN TỬ... Bài thí nghiệm số 1: Tín hiệu liên tụcI... Bài thí nghiệm số 3: Tích chập, biến đổi Fourier và lọc tín hiệu I.. Phép biến đổi Fourie

Trang 1

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

TRƯỜNG ĐIỆN-ĐIỆN TỬ - 

-BÁO CÁO THÍ NGHIỆM Tín hiệu và hệ thống

Giảng viên hướng dẫn: Phạm Văn Tuynh

Sinh viên thực hiện:

Phạm Ngọc Quyết 20222376 736421

Hà Nội 2023

Trang 2

Bài thí nghiệm số 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)

Bài 1: Hàm bước nhảy đơn vị:

function x=u(t)

x=zeros(size(t));

x(t>=0)=1;

Bài 2: Hàm dốc đơn vị:

function x = r(t)

x = t.*u(t);

Bài 3: Đồ thị của các tín hiệu:

1, 5u(t-2)

t = -10:0.001:10;

x = 5*u(t-2);

plot(t,x)

Trang 3

2, 3r(t+5)

t = -10:0.001:10;

y = 3*r(t+5);

plot(t,y)

3, y(t) = 2r(t+5) - 5r(t) + 3r(t-2) + u(t-4)

t = -10:0.001:10;

y = 2*r(t+5)-5*r(t)+3*r(t-2)+u(t-4);

plot(t,y)

Trang 4

4, y(t) = sin(t)*[u(t+3) - u(t-3)]

t = -10:0.001:10;

y = sin(t).*(u(t+3)-u(t-3));

plot(t,y)

Bài 4: Sử dụng hàm ustep() và ramp() để vẽ 2 đồ thị:

1, Đồ thị 1:

t = -10:0.001:10;

plot(t,0.5*r(-abs(t)+4));

Trang 5

axis([-10 10 -0.5 2])

2, Đồ thị 2:

t=-10:0.001:10;

y=0.5*r(-abs(t)+4)-u(abs(t)-8)+1;

plot(t,y)

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

Bài 1: Xây dựng hàm chẵn, lẻ:

Trang 6

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

Bài 2: Tìm hàm chẵn, lẻ của hàm:

y(t) = 2r(t+2,5) - 5r(t) + 3r(t-2) + u(t-4)

t = -10:0.001:10;

y=2*r(t+2.5) - 5*r(t) + 3*r(t-2) + u(t-4);

[ye,yo] = evenodd(y);

plot(t,yo);hold ;on

plot(t,ye);

plot(t,y); hold off;

legend('yo','ye' 'y', );

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

t = -10:0.001:10;

w = pi/10;

x = 1 + 1.5*cos(2*pi*w*t) - 0.6*cos(4*w*t);

Trang 7

t = -10:0.001:10;

w = pi/10;

x = 1 + 1.5*cos(6*pi*t) - 0.6*cos(4*w*t);

plot(t,x);

Trang 8

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

syms ;t

T=20;

u(t)=heaviside(t);

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

f=(abs(x)).^2;

E=int(f, t, -T/2, T/2);

P=int(f, t, -T/2, T/2)/T;

E

E =2

P

P =2

Trang 9

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

t = -10:0.001:10;

plot(t, exp(-abs(t))); hold ;on

a = t-2;

plot(t, exp(-abs(a)));

b = t+2;

plot(t, exp(-abs(b)));

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

hold off;

t = -10:0.001:10;

plot(t, exp(-abs(t))); hold ;on

a = 2*t;

plot(t, exp(-abs(a)));

b = 0.5*t;

plot(t, exp(-abs(b)));

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

hold off;

Trang 10

t = -10:0.001:10;

plot(t, exp(-abs(t))); hold ;on

a = -t;

plot(t, exp(-abs(a)));

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

hold off;

Trang 11

Bài thí nghiệm số 2: Hàm tuyến tính

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

Viết chương trình chơi bản nhạc CCGGAAG , FFEEDDC

Fs = 8000;

t=0:1/Fs:0.5;

Fc=262;Fd=294;Fe=330;Ff=349;Fg=392;Fa=440;Fb=494;Fj=0;

C=cos(2*pi*Fc*t);

D=cos(2*pi*Fd*t);

E=cos(2*pi*Fe*t);

F=cos(2*pi*Ff*t);

G=cos(2*pi*Fg*t);

A=cos(2*pi*Fa*t);

B=cos(2*pi*Fb*t);

Si=cos(2*pi*Fj*t);

song=[C C G G A A G Si Si F F E E D D C Si Si];

sound(song,Fs);

Bài 2: Fourier Series of a Trumpet

a Mô phỏng tín hiệu

t=linspace(0,1,44100);

F=494;

A=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0065 0.0020];

phi=[2.1299 1.6727 2.5454 0.6607 2.0390 2.1597 1.0467 1.8581

-2.3925];

x=zeros(1,length(t));

for k=1:9

x=A(k)*cos(2*pi*k*F.*t-phi(k))+x;

end

sound(x,44100);

Trang 12

b Vẽ tín hiệu trong 3 chu kì

syms t x(t);

F=494;

A=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0065 0.0020];

phi=[2.1299 1.6727 2.5454 0.6607 2.0390 2.1597 1.0467 1.8581

-2.3925];

x=zeros(1,length(t));

for k=1:9

x=A(k)*cos(2*pi*k*F.*t-phi(k))+x;

end

fplot(x,[0,3/494]);

c Khi pha bằng 0

t=linspace(0,1,44100);

F=494;

A=[0.1155 0.3417 0.1789 0.1232 0.0678 0.0473 0.0260 0.0065 0.0020];

x=zeros(1,length(t));

for k=1:9

x=A(k)*cos(2*pi*k*F.*t-phi(k))+x;

end

sound(x,44100);

Nhận xét: Pha thay đổi không ảnh hưởng đến âm thanh của tín hiệu

Trang 13

Bài thí nghiệm số 3: Tích chậ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ạ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);

Trang 14

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

Hàm main:

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

Trang 15

Nhận xét:

1 Đồ thị thời gian là một hàm tuần hoàn có một đỉnh vượt trội hơn phần còn lại trong một chu kì

2 Đồ thị phổ, ta thấy tín hiệu tập trung ởmiền tần số 0Hz đến 60Hz, nhiễu xuất hiện ởcác khu vực bên ngoài

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]=FourierTransform(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 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)');

1 Bộ lọc đã dùng là bộ lọc thông thấp

2 Miền tần số lọc là từ 0-100Hz

Yf=Xf.*Hf;

figure(3)

Trang 16

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)

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:

1 Khi sử dụng bộ lọc, ta thấy tín hiệu đã trở nên liên tục hơn, các nhiễu đã được loại bỏ trên miền tần số

2 Khi so sánh giữa hình 1 và hình 3, ta thấy miền tần số sau khi lọc chỉ còn lại vùng tín hiệu cần thiết đó là vùng khoảng từ 0 đến 60 Hz bởi vì đối với bộ lọc, các nhiễu bên ngoài vùng 0-60Hz đã bị triệt tiêu và ở ngoài vùng 100Hz nó đã

bị triệt tiêu hoàn toàn

Ngày đăng: 13/06/2024, 10:09

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

TÀI LIỆU LIÊN QUAN

w