1-1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN CÁC BÀI THỰC HÀNH
MÔN HỌC
TÍN HIỆU VÀ HỆ THỐNG
( 6 bài)
Họ và tên sinh viên: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mã lớp thí nghiệm: . . . . . . . . . . Mã số sinh viên: . . . . . . . . . .
(Sinh viên phải nộp lại vào buổi bảo vệ tuần cuối cùng để chấm điểm)
III. Nội dung
3.1 Làm quen với cửa sổ lệnh và soạn thảo chương trình m file trong MATLAB
Mục này do CBHD hướng dẫn cho SV (khoảng 10ph).
3.2 Tính toán với MATLAB
Bài 1.1 (tự chuẩn bị và làm ở nhà): Phép nhân, chia và luỹ thừa với vector và ma trận
MATLAB là một công cụ phần mềm tính toán rất mạnh, đặc biệt thích hợp cho các lĩnh vực khoa
học và kỹ thuật. Một đặc điểm hết sức quan trọng là mọi tính toán trong MATLAB đều được dựa
trên cơ sở các phép toán cơ bản với vector và ma trận của số phức.
MATLAB phân biệt hai cách thực hiện phép nhân, chia và lũy thừa. Đó là nhân, chia, lũy thừa kiểu
ma trận, và nhân, chia, lũy thừa kiểu từng phần tử. Chúng được định nghĩa như sau:
1. Phép nhân ma trận (nhân vector hàng với vector cột)
Đặt A =
[
]
123 n
aaa a…
và B =
[]
123 n
bbb b
′
…
là hai vector. Để ý rằng A được định nghĩa là vector hàng trong khi B được định nghĩa là vector cột,
vì được chỉ thị bởi dấu chuyển vị (’). Ở đây, phép nhân giữa vector hàng A với vector cột B được
thực hiện bởi toán tử nhân ma trận (*). Do đó:
A*B =
11 2 2 3 3 nn
ab ab ab a b++++ = một giá trị
Ví dụ, nếu A = [1 2 3 4 5] và B = [-2 6 -3 8 7]’ thì phép nhân ma trận A*B sẽ cho kết quả là
C.*D =
[
]
11 2 2 3 3 nn
cd cd cd c d…
Kết quả của phép nhân chấm là một vector hàng khác, với cùng số phần tử của các vector hàng C và
D. Ví dụ, đặt C = [1 2 3 4 5] và D = [-2 6 -3 8 7], phép nhân chấm của hai vector này cho kết
quả sau:
C.*D =
[
]
[
]
1 ( 2) 2 6 3 ( 3) 4 8 5 7 2 12 9 32 35×− × ×− × × =− −
Kiểm tra với MATLAB bằng đoạn lệnh sau:
C=[1 2 3 4 5]; % Vectors C and D must have
D=[−2 6 −3 8 7]; % same number of elements
C.*D % We observe that this is a dot multiplication
ans =
-2 12 -9 32 35
Tương tự như vây, toán tử chia (/) và lũy thừa (^) được sử dụng cho phép chia và lũy thừa kiểu ma
trận, trong khi đó toán tử chia chấm (./) và lũy thừa chấm (.^) được sử dụng cho phép chia và lũy
thừa từng phần tử. Chú ý rằng, dấu chấm (.) không cần thiết với toán tử cộng (+) và (
−
).
3.3 Vẽ đồ thị với MATLAB
Bài 1.2 (thực hiện có hướng dẫn tại PTN): Vẽ đồ thị đặc tính tần số
Xét mạch điện trên Hình 1.1, trong đó tần số góc
ω
(omega) trong cửa sổ lệnh MATLAB, do đó chúng ta sẽ sử dụng
chữ cái
w để thay thế. Nếu một câu lệnh, hay một vector hàng quá dài để vừa một dòng, nó có thể
được tiếp tục ở dòng tiếp theo bằng cách gõ dấu ba chấm, sau đó ấn <enter> để bắt đầu dòng mới, và
tiếp tục nhập dữ liệu. Ngoài ra, chúng ta sử dụng dấu chấm phẩy (;) để tránh việc hiển thị dữ liệu
chúng ta không quan tâm lên màn hình.
Sử dụng lệnh plot(x,y): Lệnh plot(x,y) của MATLAB cho phép vẽ đồ thị biểu diễn từng giá trị chứa
trong vector
y
theo giá trị của phần tử thứ tự tương ứng trong vector
x
. Sau khi gõ tiếp lệnh
plot(w,z) trong cửa sổ lệnh MATLAB, ta sẽ nhận được đồ thị biểu diễn hàm w theo z trong một cửa
sổ riêng. Đồ thị này được gọi là
đáp ứng biên độ tần số của mạch điện. Các em hãy vẽ lại đồ thị này
vào Hình 1.2 dưới đây.
Ta có thể tạo cho đồ thị trên, hay
một đồ thị bất kỳ, trông đẹp mắt
hơn bằng các lệnh sau:
grid on: kẻ các đường lưới cho
đồ thị.
grid off: bỏ các đường lưới.
box off: bỏ khung (đường nét liền
bao quanh đồ thị)
box on: vẽ lại khung đồ thị
title(‘string’): Tạo một dòng ký
tự string (nhãn) cho đồ thị.
xlabel(‘string’) và
Lưu ý: Để biểu diễn trục y theo thang đo logarithm, ta sử dụng lệnh semilogy(x,y), để biểu diễn
thang đo logarithm cho cả hai trục ta sử dụng lệnh
loglog(x,y).
Hình 1.2. Đồ thị biểu diễn trở kháng
Z
theo tần số
ω
cho Bài 1.2.
1-4
Bài 1.3 (thực hiện có hướng dẫn tại PTN): Vẽ tín hiệu hình sin
Ta sẽ thực hành vẽ đồ thị các sóng sin 3 pha. Lưu ý rằng, thực chất trên máy tính ta chỉ có thể vẽ
các tín hiệu không liên tục (tức là chỉ vẽ được các điểm rời rạc). Tuy nhiên, những tín hiệu không
liên tục có thể biểu diễn gần đúng bằng vẽ các điểm dữ liệu rời rạc gần nhau.
Trước hết, ta cần tạo một vector lưu trữ dãy giá trị thời gian (cách đề
u nhau). Điều này có thể thực
hiện bởi hàm
linspace(giá trị đầu, giá trị cuối, số điểm dữ liệu):
t=linspace(0, 2*pi, 60); % pi is a built−in function in MATLAB;
Hàm này quy định số điểm dữ liệu nhưng không quy định khoảng cách giữa các điểm dữ liệu đó. Ta
cũng có thể sử dụng lệnh t = first: increment: last để qui định khoảng cách giữa các điểm dữ liệu
chứ không phải số điểm dữ liệu, ví dụ t = 0:0.02*pi:2*pi hoặc t = (0: 0.02: 2)*pi;
Các sóng sin ba pha được tạo bởi các hàm MATLAB:
y=sin(t); u=sin(t+2*pi/3); v=sin(t+4*pi/3);
Ta sẽ vẽ 3 tín hiệu trên một đồ thị bằng lệnh:
plot(t,y,t,u,t,v); % The x−axis must be specified for each function
hoặc
plot(t,[y;u;v]); % [y;u;v] is a three-row matrix
Sau đó vẽ thêm lưới và bổ sung các chú thích như sau:
mặc định, nó bắt đầu từ màu xanh dương và quay vòng theo bảy màu đầu tiên được liệt kê trong Bảng
1.2. Cũng như vậy, không có kiểu đánh dấu mặc định, sẽ không có kiểu đánh dấu nào được vẽ trừ phi
1-5
chúng ta chỉ định chúng. Kiểu đường mặc định là đường nét liền. Tuy nhiên, với những phiên bản
MATLAB mới nhất, chúng ta có thể chọn màu sắc, độ rộng của đường và các lựa chọn khác trực tiếp
trên Cửa sổ hình vẽ.
Bảng1.2 Các kiểu đường, màu sắc, và kiểu đánh dấu trong MATLAB
Ví dụ, plot(x,y,‘m*:’) vẽ một đường chấm chấm màu đỏ tươi, với các dấu sao tại các điểm dữ liệu,
và
plot(x,y,‘rs’) đánh dấu các hình vuông màu đỏ tại các điểm dữ liệu, nhưng không vẽ kiểu đường
nào. Nếu chúng ta muốn nối các điểm dữ liệu bằng đường nét liền, chúng ta phải gõ
plot(x,y,‘rs−’).
Nếu cần thêm thông tin, chúng ta có thể gõ
help plot trên Cửa sổ lệnh của MATLAB.
Bài 1.4 (thực hiện có hướng dẫn tại PTN): Dịch tín hiệu (thời gian)
Chương trình sau đây vẽ tín hiệu sin và đồ thị của nó khi thực hiện phép dịch tín hiệu (một khoảng
thời gian). Các em hãy gõ lại chương trình này trong file soạn thảo của MATLAB và lưu lại với
một tên file (ví dụ
t_shift.m), thực hiện chương trình này và vẽ lại đồ thị (cuối cùng) của nó trên
Hình 1.5. Ngoài ra, hãy ghi
lời chú thích vào sau các dấu % của một số dòng lệnh (một số dòng đã
được làm mẫu).
% Chuong trinh 1.3. Phep dich mot tin hieu
% Dich cua tin hieu 3*cos(2*pi*t/4)u(t)
clear; % xoa cac bien va ham trong bo nho
clf; %
0
1
2
3
x(t)
t
shift of x(t)=3cos(2
π
t/4)u(t)
x(t)
x(t+(2))
Hình 1.5. Phép dịch tín hiệu cho Bài 1.4
Bài 1.5 (thực hiện có hướng dẫn tại PTN)
Viết đoạn Script MATLAB để vẽ đồ thị cho tín hiệu sau:
2
43
() 3 cos5 2 sin2
1
tt
t
yft e t e t
t
−−
== − +
+
trong khoảng thời gian
05t
1-7
Bài 1.7 (về nhà tự làm)
Hãy vẽ các hàm
222222
sin , 2 cos , sin cos , sin / cos
y
xz xw x xv x x===⋅=
trong khoảng
02x
π
≤≤ sử dụng 100 điểm dữ liệu. Sử dụng lệnh subplot để biểu diễn các hàm này
trên các đồ thị con trong một hình vẽ. Sử dụng đoạn script MATLAB tạo bốn đồ thị con được cho
dưới đây:
x=linspace(0,2*pi,100); % Interval with 100 data points
y=(sin(x).^ 2); z=(cos(x).^ 2);
w=y.* z;
v=y./ (z+eps); % add eps to avoid division by zero
subplot(221); % upper left of four subplots
plot(x,y); axis([0 2*pi 0 1]);
title('y=(sinx)^2');
subplot(222); % upper right of four subplots
plot(x,z); axis([0 2*pi 0 1]);
title('z=(cosx)^2');
subplot(223); % lower left of four subplots
plot(x,w); axis([0 2*pi 0 0.3]);
title('w=(sinx)^2*(cosx)^2');
subplot(224); % lower right of four subplots
plot(x,v); axis([0 2*pi 0 400]);
title('v=(sinx)^2/(cosx)^2');
2
Hình 1.7. Các đồ thị con cho Bài 1.7
Bài 1.8 (về nhà tự làm): Tính toán và biểu diễn số phức
Bài tập này minh họa khả năng của MATLAB với các số phức.
real(z) và imag(z) hiển thị phần thực và phần ảo của số phức .zxiy
=
+
abs(z) và angle(z) tính toán độ lớn và góc pha của số phức .zxiyr
θ
=
+=∠
polar(theta,r) vẽ đồ thị trong tọa độ cực, trong đó r là độ lớn và theta là góc pha tính theo
radian.
round(n) làm tròn một số thực n thành số nguyên gần nhất với nó. 1-8
Xét mạch điện ở Hình 1.1, với các giá trị điện trở, điện cảm và điện dung đã cho, trở kháng của
mạch
ab
Z
là một hàm của tần số
ω
có biểu thức như sau:
46
5
10 (10 )
10
Z
(phần ảo của trở kháng
Z
) theo tần số .
ω
c)
Vẽ trở kháng
Z
theo tần số
ω
trong hệ tọa độ cực.
) Hãy viết đoạn lệnh vào ô chữ nhật dưới đây (dòng lệnh đầu
tiên được viết sẵn):
Hình 1.9 Các đồ thị cho Bài 1.8
Hình 1.8. Mạch điện cho Bài 1.8
w=0: 1: 2000; % Define interval with one radian interval 2
-
1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN CÁC BÀI THỰC HÀNH
MÔN HỌC
TÍN HIỆU VÀ HỆ THỐNG
( 6 bài)
I. Mục đích
Làm quen với thư viện Simulink của MATLAB
Sử dụng Simulink để xây dựng sơ đồ khối hệ thống và mô phỏng các tín hiệu trong hệ thống
Sử dụng MATLAB để soạn thảo các chương trình tính tích chập, tính đáp ứng của hệ thống
trên miền thời gian
II. Yêu cầu đối với sinh viên
Thực hiện trước bài 2.1 ở nhà.
Đọc tài liệu hướng dẫn và trả lời được các câu hỏi của CBHD trước khi làm thực hành
Hoàn thành nội dung bài thực hành (kể cả các bài về nhà) trước khi tham dự buổi tiếp theo
III. Nội dung
3.1 Làm quen với Simulink
Mục này do CBHD hướng dẫn cho SV (khoảng 10ph).
3.2 Vẽ đồ thị đáp ứng của hệ thống với MATLAB-Simulink
Bài 2.1 (tự chuẩn bị và làm ở nhà): Giải phương trình vi phân tuyến tính cấp hai
Cho mạch điện trên Hình 2.1, với các sơ kiện là
(0 ) 0
L
i
và
(0 ) 0.5V,
C
v
điện áp nguồn là tín
hiệu bước nhảy đơn vị
( ).
u t
(2.3)
Thay giá trị của các linh kiện vào và sắp xếp lại (2.3), ta có
2
2
1 4
( ) ( )
3 3
C C
C
d v dv
v t u t
dt dt
.
hay
2
2
4 3 3, 0.
C C
C
d v dv
v t
dt dt
(2.4)
Các em hãy giải phương trình vi phân (2.4) và ghi lời giải vào phần dưới đây.
Hình 2.2 Đồ thị cho lời giải của phương trình (2.4)
Bài 2.2 (thực hiện có hướng dẫn tại PTN): Mô tả hệ thống bằng mô hình trạng thái
Với mạch điện ở Bài 2.1, ta có:
0
( ) ( ) ( )
L
L C
di
Ri t L v t u t
dt
Nếu định nghĩa các biến trạng thái là
1
,
L
x i
2
C
x v
và tín hiệu ra là
2
C
y x v
đồng thời thay các
giá trị vào, ta sẽ thu được mô hình trạng thái như sau (sinh viên tự kiểm tra):
Sau đây chúng ta sẽ sử dụng Simulink để thu được và hiển thị tín hiệu ra
( ).
C
v t
Cách 1: Mở một file mới trong Simulink và đặt tên file là, ví dụ mhtt_2_5. Sử dụng các khối trong
Simulink Library Browser để tạo được sơ đồ khối như Hình 2.3.
Lưu ý: Khối Step nằm trong Source, khối State-Space trong Continuous, khối Bus Creator trong
Common Used Blocks, và khối Scope trong Sink.
.
Lời chú thích cho các khối có thể được
thực hiện bằng tay như sau: kích đúp
vào dưới mỗi khối và khi một hình chữ
nhật nhỏ xuất hiện cùng với con trỏ, ta
có thể gõ các thông tin cho khối đó. Để
bắt đầu một dòng mới, ta ấn phím
Enter.
Hình 2.3 Cách thu được
( )
C
v t
cho Bài 2.2 với khối State-Space
2
-
4
Tiếp theo, ta kích đúp vào khối State-Space, và trong cửa sổ Function Block Parameters, ta nhập
C
v t
cho Bài 2.2
Cách 2: Từ phương trình (2.4), ta có
2
2
4 3 ( )
C C
C
d v dv
v u t
dt dt
(2.6)
Sơ đồ khối biểu diễn quan hệ trong (2.6) được cho trên Hình 2.7.
2
-
5
Hình 2.7 Sơ đồ khối của phương trình (2.6)
Các em hãy mở một file mới trong Simulink, đặt tên file và xây dựng sơ đồ khối tương tự như
Hình 2.7. Sau đó, hãy khai báo tham số cho các khối và thực hiện mô phỏng tín hiệu ra với thời
gian mô phỏng là 10s (CBHD kiểm tra). Vẽ lại sơ đồ Simulink đó vào khung dưới đây.
Lưu ý: Trong Simulink Library Browser, khối Add (hay Sum) và khối Gain nằm trong Math
Operations, khối Integrator nằm trong Continuous. Các sơ kiện được khai báo trong các khối
Integrator.
t1=2; % time of the first nonzero value of x(t)
t2=-3; % time of the first nonzero value of h(t)
t3=t1+t2; % time of the first nonzero value of convolution output
for ts=[0.2 0.1 0.01]; % sampling interval
clf; % clear current figure 2
-
6
n=0:1:4/ts; % sample index
x=exp(-2*n*ts);x(1)=0.5*x(1); % sample values of x(t)=exp(-2t)u(t)
% sample value is the average of the two limiting values at any
% discontinuity
h=exp(-3*n*ts);h(1)=0.5*h(1); % sample values of h(t)=exp(-3t)u(t)
y=ts*conv(x,h);
L=length(y);
t=ts*(0:L-1);
yf=exp(-2*t)-exp(-3*t); % exact samples of convolution
plot(t3+t,y,t3+t,yf,':') % plot with solid and dashed lines
ylabel('y(t)') % y-axis label of the graph is y(t)
xlabel('t') % x-axis label of the graph is t
legend('computed','exact')
title('convolution of e^{-2(t-2)}u(t-2) and e^{-3(t+3)}u(t+3)')
text(0.6,0.7,['sampling interval = ',num2str(ts)],'units','normalized','fontsize',10)
disp('see the graph and press any key to continue')
pause % wait until a key is pressed
end
1 0.8 2 2 3 1 4 2
y n y n y n x n x n x n
với các sơ kiện
1 2, 2 1, 1 2 0
y y x x
và tín hiệu vào
0.5 .
n
ym2=ym1;ym1= ; % update past output values
xm2=xm1;xm1= ; % update past input values
y(n+1)=yc; % store the output values in array y
end
n=0:1:M; % discrete time base sequence
plot(n,y,'*',n,x,'o') ; % plot with '*' and 'o' symbols
grid on;
ylabel('y(n)') % y-axis label of the graph is y(n)
xlabel('n') % x-axis label of the graph is n
legend('output','input')
title('Response of a second-order system by iteration')
0 1 2 3 4 5 6 7 8 9 10
-1
0
1
2
3
4
5
y(n)
n
Response of a second-order system by iterationoutput
input
Hình 2.9. Đáp ứng của hệ thống cho Bài 2.4
(0) 0,
x
tín hiệu vào
( ) sin ,
u t t
và thời gian mô phỏng là 25s. Hãy
vẽ lại tín hiệu ra đó vào Hình 2.10 dưới đây.
Lưu ý: Tín hiệu sin có thể được tạo ra từ khối Signal Generator trong Sources của Simulink
Library Browser.
2
-
8
0 5 10 15 20 25
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Hình 2.10. Dạng tín hiệu cho Bài 2.5
t
h t e u t
và tín hiệu vào
( ) ( 1) ( 2).
x t u t u t
3-1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN
3-2
BÀI 3
Mô hình trạng thái và đáp ứng xung của hệ thống
I. Mục đích
• Tính toán ma trận chuyển trạng thái và đáp ứng xung của hệ thống
• Tìm hiểu một số lệnh hiển thị, lệnh tính toán với ma trận của MATLAB
• Sử dụng MATLAB để soạn thảo các chương trình tính ma trận chuyển trạng thái và đáp ứng
xung của hệ thống
II. Yêu cầu đối với sinh viên
• Thực hiện trước Bài 3.1 và 3.2 ở nhà.
• Đọc tài liệu hướng dẫn và trả lời được các câu hỏi của CBHD trước khi làm thực hành
• Hoàn thành nội dung bài thực hành (kể cả các bài về nhà) trước khi tham dự buổi tiếp theo
III. Nội dung
Bài 3.1 (tự chuẩn bị và làm ở nhà): Tính ma trận chuyển trạng thái của hệ liên tục
Mô hình trạng thái tuyến tính của một hệ SISO liên tục có dạng:
,,
,,
nn n
Tn
u
ydu d
×
=+ ∈∈
=+ ∈∈
xAxb A b
cx c
k
At
k
At
e
k
∞
=
=
∑
còn được gọi là ma trận chuyển trạng thái. Như vậy,
việc tính toán đáp ứng của một hệ tuyến tính có thể dựa vào tính toán ma trận chuyển trạng thái. Ký
hiệu
I
là ma trận đơn vị
,nn×
ta đã biết các giá trị riêng ,
i
λ
1, 2, ,in
=
…
của ma trận A là các
nghiệm của đa thức bậc
n
sau đây
det
()
21
01222 12
21
01 2 1
n
nt
n
nt
n
nt
nn nn
cc c c e
cc c c e
cc c c e
λ
λ
λ
λλ λ
λλ λ
λλ λ
−
−
−
−
−
−
++ ++ =
++ ++ =
++++ =
Bài 3.2 (tự chuẩn bị và làm ở nhà): Tính ma trận chuyển trạng thái và đáp ứng xung của một
hệ không liên tục
Mô hình trạng thái tuyến tính của một hệ SISO không liên tục có dạng:
(1) () (), ,
() () (), ,
nn n
Tn
kxkuk
yk xk duk d
×
+= + ∈∈
=+ ∈∈
xAb Ab
cc
\\
\\
(3.6)
Với trạng thái đầu x(0) và tín hiệu vào u(k), đáp ứng của hệ thống được xác định như sau:
1
1
0
1
1
0
() (0) ()
∑
∑
xAx A
cAx A
(3.7)
Đáp ứng xung g(k) của hệ sẽ là:
[
]
1
()
Tk
gk d kδ
−
=+cA b
(3.8)
Ma trận chuyển trạng thái
n
A
được tính toán từ định lý Cayley Hamilton như sau
21
01 2 1
nN
N
AcIcAcA cA
−
−
=++ ++"
(3.9)
trong đó
10210
2, 3, 2, 3, 4.aabbb= − ===− =
Kết quả:
3-4
Bài 3.3 (thực hiện có hướng dẫn tại PTN): Tính đáp ứng xung của hệ liên tục
Cho hệ thống liên tục có mô hình trạng thái tuyến tính:
() () ()
() () ()
T
ttut
yt xt dut
=+
=+
xAxb
c
Đáp ứng xung của hệ được cho bởi:
×
Ngoài ra, MATLAB còn
có hàm fprintf(fid format, A, ) để viết dữ liệu được định dạng vào file. Muốn biết hàm fprint
được sử dụng như thế nào, ta có thể gõ lệnh help fprintf.
) Các em hãy gõ đoạn lệnh dưới đây và ghi kết quả của đoạn lệnh này vào phần chấm chấm.
A=[-2 1;0 -1]; e = eig(A); fprintf(' \n'); fprintf('lambda1 = %5.2f \t', e(1));
fprintf('lambda2 = %5.2f \t', e(2)); fprintf(' \n');
Kết quả:
b) Vì
A
là ma trận
22,×
chúng ta sử dụng hai thành phần đầu tiên trong công thức (3.4)
01
t
ecc=+
A
IA
(3.11a)
trong đó
0
a và
1
a nhận được từ
1
2
011
012
c) Tiếp theo ta thực hiện việc thay thế các giá trị trên vào (3.11a) và tính toán ma trận để tìm ma
trận chuyển trạng thái. Để ý rằng hàm
eye(n) trong MATLAB được sử dụng để tạo một ma trận
đơn vị
.nn×
syms t ; c0 = -exp(-2*t)+2*exp(-t); c1 = -exp(-2*t)+exp(-t);
A=[-2 1;0 -1]; eAt=c0*eye(2)+c1*A ;
Kết quả: d) Cuối cùng ta sử dụng công thức (3.10) để tìm đáp ứng xung của hệ. MATLAB có hàm Dirac(t)
để biểu diễn xung đơn vị ().t
δB=[0; 1]; C=[1 1]; D=2;
g=C*eAt*B + D*Dirac(t)
Kết quả:
3-5
Bài 3.4 (thực hiện có hướng dẫn tại PTN): Tính và vẽ đáp ứng xung của hệ không liên tục
Chương trình sau đây tính toán và vẽ đáp ứng xung của hệ không liên tục ở Bài 3.2 bằng hai cách:
a) Phương pháp lặp, áp dụng công thức (3.6)
b) Phương pháp trực tiếp, sử dụng lời giải dạng biểu thức tìm được ở Bài 3.2 (áp dụng công thức
tính đáp ứng xung 3.8)
)Các em hãy gõ lại chương trình trên và nhận xét kết quả:
title('Impulse response')
legend('iterative','direct')
0 1 2 3 4 5 6 7 8 9
-40
-30
-20
-10
0
10
20
30
40
n
h(n)
computed
exact
Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4
3-6
Nhận xét:
4
-
1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN CÁC BÀI THỰC HÀNH
-
2
BÀI 4
Ứng dụng của lý thuyết Fourier trong thiết kế bộ lọc và điều chế tín hiệu
I. Mục đích
Xác định chuỗi Fourier của tín hiệu liên tục tuần hoàn
Xác định phổ Fourier của tín hiệu liên tục
Mô phỏng các tín hiệu vào ra của mạch lọc RC và hệ thống điều chế/giải điều chế tín hiệu
với Simulink
II. Yêu cầu đối với sinh viên
Thực hiện trước Bài 4.1 và 4.2 ở nhà.
Đọc tài liệu hướng dẫn và trả lời được các câu hỏi của CBHD trước khi làm thực hành
Hoàn thành nội dung bài thực hành (kể cả các bài về nhà) trước khi tham dự buổi tiếp theo
III. Nội dung
Bài 4.1 (tự chuẩn bị và làm ở nhà): Biểu diễn tín hiệu tuần hoàn bằng chuỗi Fourier
Cho mạch điện RC như Hình 4.1. Biết hiệu điện thế của toàn mạch
in
( )
v t
và hiệu điện thế trên hai đầu của tụ điện
out
( )
v t
lần lượt là tín
hiệu vào và tín hiệu ra của hệ thống. Khi đó đáp ứng xung của hệ
có biểu thức
1
( ) ( )
t
v t a e
trong đó
k
là số
nguyên và
0
là tần số cơ bản của tín hiệu.
b) Tính toán và biểu diễn tín hiệu ra
out
( )
v t
thành chuỗi Fourier dạng
0
out
( )
jk t
k
k
v t c e
trong
đó các hệ số
k
c
Hình 4
.1