Tải bản đầy đủ (.docx) (4 trang)

thực hành tín hiệu hệ thống sử dụng matlab

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 (64.5 KB, 4 trang )

Thực hành Tín hiệu và hệ thống | HQT-FoEEE-PU
Chữa bài tập – Nội dung thực hành tuần 5
Ex1: Xác định dạng lượng giác của chuỗi Fourier cho tín hiệu tuần hồn ở Hình
1.1. Cho E = 1, T = 1.

Hình 1.1. Tín hiệu xung vng
a) Dùng Matlab tính hệ số của chuỗi Fourier với n = 0, 1, 2, … , N. Vẽ tín
hiệu xấp xỉ xN(t) cho N = 5, 10, 20, 30, 40, 50. Quan sát hiện tượng Gibbs, với N
= 50 ước lượng độ lớn tương đối của các gợn sóng tại các điểm khơng liên tục.
b) Sử dụng Matlab để biểu diễn độ lớn và pha của thành phần Fourier.
clear;clc;close all;
%% Ex1.a)
E=1;T=1;wo=2*pi/T;
t=-1:0.01:1;% thoigian
x1=(2*E/pi)*cos(wo*t);
x3=x1-(2*E/pi)*cos(3*wo*t)/3;
x5=x3+(2*E/pi)*cos(5*wo*t)/5;
figure();
plot(t,x1,t,x3,t,x5);
xlabel('thoi gian t');ylabel('do lon')
legend('N=1','N=3','N=5')
grid on
% he so bn = 0
figure()
x=0;
for n=1:20
an=(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));
x=x+an*cos(wo*n*t);
end;
subplot(221);
plot(t,x); title('N=20');


x=0;


Thực hành Tín hiệu và hệ thống | HQT-FoEEE-PU
for n=1:30
an=(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));
x=x+an*cos(wo*n*t);
end;
subplot(222);
plot(t,x); title('N=30');
x=0;
for n=1:40
an=(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));
x=x+an*cos(wo*n*t);
end;
subplot(223);
plot(t,x); title('N=40');
x=0;
for n=1:50
an=(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));
x=x+an*cos(wo*n*t);
end;
subplot(224);
plot(t,x); title('N=50');
%% Ex1.b)
X0=0;
for n=1:2:11
X(n)=0.5*(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));
end;
for n=2:2:10

X(n)=0;
end;
figure;
subplot(211)
stem(0:11,abs([X0 X]));title('dac trung bien do')
subplot(212)
stem(0:11,angle([X0 X]));title('dac trung pha')
ylabel('radian')

Ex2: Cho hệ thống được xác định bởi phương trình sau:
2

d y (t ) dy (t)
+2
+ 3 y ( t )=x (t)
2
dt
dt

Vẽ phổ độ lớn và phổ pha của hệ thống bằng cách sử dụng hàm freqs(num,
den). Trong đó, num và den là các vector chứa hệ số của hàm biến đổi h.
clear;clc;close all;
num=[1];
den=[1 2 3];


Thực hành Tín hiệu và hệ thống | HQT-FoEEE-PU
w=0:0.01:100; % tan so goc
H=freqs(num,den,w);
biendo_H=abs(H);

pha_H=angle(H);
figure;
subplot(211);
% plot(w,biendo_H);
semilogx(w,biendo_H);
%plot(w,biendo_H);
xlabel('log(w)');ylabel('dac trung bien do');
grid on
subplot(212);
semilogx(w,pha_H);
xlabel('log(w)');ylabel('dac trung pha');
grid on

Ex3: Cho hệ thống ở bài Ex2, và xN(t) được cho trong Ex1, E = 5, w0 = 1 rad/s.
a) Tính hệ số của chuỗi Fourier cho tín hiệu đầu ra y(t) với n = 0, 1, 3, 5.
b) Vẽ tín hiệu xấp xỉ x N(t), quan sát đầu ra của hệ thống khi cho N tăng. Lấy
N = 1, 3, 5 và t nằm trong [0, 4π]. Nhận xét về thành phần tần số của tín hiệu đầu
ra.
clear;clc;close all;
E=5;wo=1;t=0:0.01:4*pi;% thoigian
x1=(2*E/pi)*cos(wo*t);
x3=x1-(2*E/pi)*cos(3*wo*t)/3;
x5=x3+(2*E/pi)*cos(5*wo*t)/5;
plot(t,x1,t,x3,t,x5); % ve tin hieu vao-mien thoi gian
xlabel('thoi gian t');ylabel('do lon')
legend('N=1','N=3','N=5');
%%%
X0=0;
for n=1:5
X(n)=0.5*(E/(n*pi))*(sin(0.5*pi*n)-sin(1.5*pi*n));

end;
figure;
stem(0:5,abs([X0 X]));% ve tin hieu vao-mien tan so
title('dac trung bien do')
%%%%
num=[1];
dens=[1 2 3];
w=0:wo:5*w0; % tan so goc
H=freqs(num,dens,w);
biendo_H=abs(H);
%%%%%%%
biendo_X=abs([X0 X]);
biendo_Y=biendo_H.*biendo_X;


Thực hành Tín hiệu và hệ thống | HQT-FoEEE-PU
pha_X=angle([X0 X]);
pha_H=angle(H);
pha_Y=pha_X+pha_H;
figure;
% xap xi bac 1
subplot(311)
y1=2*biendo_Y(2)*cos(1*wo*t+pha_Y(2));
plot(t,x1,t,y1);legend('in','out');
% xap xi bac 3
subplot(312)
y3=y1+ 2*biendo_Y(4)*cos(3*wo*t+pha_Y(4));
plot(t,x3,t,y3);legend('in','out');
% xap xi bac 5
subplot(313)

y5=y3+ 2*biendo_Y(6)*cos(5*wo*t+pha_Y(6));
plot(t,x5,t,y5);legend('in','out');



×