You are on page 1of 20

Đề cương ôn thi kết thúc học phần môn XLSTH

Vũ Đức Cường – ĐT6K9


Dạng 1.

Câu 1: Cho hệ thống được mô tả bằng phương trình sai phân:

8y(n) – 7y(n -1) + 4y(n - 2) = 2x(n) – 3x(n -1)

a. Vận dụng lý thuyết tìm hàm truyền đạt H(Z)

b.Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt H(Z)

- Biểu diễn đáp ứng xung h(n) của hệ thống với -10  n 10

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Tìm đầu ra của hệ thống khi biết đầu vào x(n) = u(n-2) với -10  n 10

Bài giải
function Dang1_1
figure(1);

num=[2 -3];
den=[8 -7 4];

subplot(331);
zplane(num,den);
%[z,p,k]=tf2zp(num,den) %xác định tọa đô ̣ điểm cực không
title('Tọa đô ̣ điểm cực - không');
xlabel('Thực');ylabel('ảo');

n=[-10:10];
subplot(332);
h1=impz(num,den,n+1); stem(n,h1);
title('Đáp ứng xung hê ̣ thông');
xlabel('n');ylabel('h(n)');

w=-4*pi:8*pi/511:4*pi;
h2=freqz(num,den,w);

subplot(333);
plot(w/pi,real(h2));
grid on;title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi');ylabel('Biên đô ̣');

subplot(334);
plot(w/pi,imag(h2));
grid on;title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi');ylabel('Biên đô ̣');

subplot(335);
plot(w/pi,abs(h2));
grid on; title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
trang 1
subplot(336);
plot(w/pi,angle(h2));
grid on; title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đô bằng radian');

subplot(337);
x=stepseq(2,-10,10);
stem(n,x);grid on; title('Đầu vào x(n)');
xlabel('n'); ylabel('x(n)');

subplot(338);
y=filter(num,den,x);
stem(n,y);grid on; title('Đầu ra y(n)');
xlabel('n'); ylabel('y(n)'); ;

Câu 2. Cho hệ thống được mô tả bằng phương trình sai phân:

8y(n) – 7y(n -1) - 4y(n - 2) = x(n) – 3x(n -2)

a. Vận dụng lý thuyết tìm hàm truyền đạt H(Z)

b.Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt H(Z)

- Biểu diễn đáp ứng xung h(n) của hệ thống với -10  n 10

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Tìm đầu ra của hệ thống khi biết đầu vào x(n) = u(n-2) với -10  n 10

function Dang1_2
figure(2);

num=[1 0 -3];
den=[8 -7 -4];

subplot(331);
zplane(num,den);
%[z,p,k]=tf2zp(num,den) %xác định tọa đô ̣ điểm cực không
title('Tọa đô ̣ điêm cực - không');
xlabel('Thực'); ylabel('ảo');

n=[-10:10];
h1=impz(num,den,n+1);
subplot(332); stem(n,h1);
title('Đáp ứng xung hê ̣ thống')
xlabel('n'); ylabel('h(n)');

w=-4*pi:8*pi/511:4*pi;
h2=freqz(num,den,w);

subplot(333);
plot(w/pi,real(h2));
title('Phần thực của H(e^{j\omega})');grid on;
trang 2
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(334);
plot(w/pi,imag(h2));
title('Phần ảo của H(e^{j\omega})');grid on;
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(335);
plot(w/pi,abs(h2));
title('Phổ biên đô ̣ của H(e^{j\omega})');grid on;
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(336);
plot(w/pi,angle(h2));
title('Phổ pha của H(e^{j\omega})');grid on;
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

subplot(337);
x=stepseq(2,-10,10);
stem(n,x); title('Đầu vào x(n)');
xlabel('n'); ylabel('x(n)');grid on;

subplot(338);
y=filter(num,den,x);
stem(n,y); title('Đầu ra y(n)');
xlabel('n'); ylabel('y(n)');grid on;

Dạng 2:

Câu 1: Cho hệ thống tuyến tính bất biến có:

Đầu vào x(n) = (-0,2)n.u(n); đầu ra y(n) =2 u(n+1)

a. Vận dụng lý thuyết tìm hàm truyền đạt H(Z)

b. Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

- Biểu diễn y(n), x(n) với -10  n 10

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt H(Z)

- Biểu diễn đáp ứng xung của hệ thống có chiều dài N=50

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

trang 3
function Dang2_1

n=-10:10;
x=((-0.2).^n).*stepseq(0,-10,10);
y=2*stepseq(-1,-10,10);

subplot(331);
stem(n,x);title('Đầu vào x(n)');
xlabel('n');ylabel('x(n)');

subplot(332);
stem(n,y);title('Đầu ra y(n)');
xlabel('n');ylabel('x(n)');

num=[2 0.4];
den=[1 -1];

subplot(333);
zplane(num,den);
title('Đồ thị điểm cực - không');
xlabel('Thực'); ylabel('ảo');

n=0:49;
subplot(334);
h1=impz(num,den,n+1);
stem(n,h1); title('Đáp ứng xung hê ̣ thống');
xlabel('n'); ylabel('h(n)');

w=-4*pi:8*pi/511:4*pi;
h2=freqz(num,den,w);

subplot(335);
plot(w/pi,real(h2)); title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

trang 4
subplot(336);
plot(w/pi,imag(h2)); title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(337);
plot(w/pi,abs(h2)); title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(338);
plot(w/pi,angle(h2)); title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

Câu 2: Cho hệ thống tuyến tính bất biến có: Đầu vào x(n) = (-2)n.u(n-1); đầu ra y(n) =2
u(n+1)

a. Vận dụng lý thuyết tìm hàm truyền đạt H(Z)

b. Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

- Biểu diễn y(n), x(n) với -10  n 10

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt H(Z)

- Biểu diễn đáp ứng xung của hệ thống có chiều dài N=50

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

function Dang2_2

trang 5
n=-10:10;
x=((2).^n).*stepseq(1,-10,10);
y=2*stepseq(-1,-10,10);

subplot(331);
stem(n,x);title('Đầu vào x(n)');
xlabel('n');ylabel('x(n)');

subplot(332);
stem(n,y);title('Đầu ra y(n)');
xlabel('n');ylabel('x(n)');

num=[2 0 4];
den=[-2 2];

subplot(333);
zplane(num,den);
title('Đồ thị điểm cực - không');
xlabel('Thực'); ylabel('ảo');

n=0:49;
subplot(334);
h1=impz(num,den,n+1);
stem(n,h1); title('Đáp ứng xung');
xlabel('n'); ylabel('h(n)');

w=-4*pi:8*pi/511:4*pi;
h2=freqz(num,den,w);

subplot(335);
plot(w/pi,real(h2)); title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(336);
plot(w/pi,imag(h2)); title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(337);
plot(w/pi,abs(h2)); title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(338);
plot(w/pi,angle(h2)); title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

Dạng 3:

Câu 1: Cho tín hiệu :

x1(n)= 2sin(2200t), x2(n)= 4sin(2400t), x3(n)= 2cos(2500t), x4(n)=


3cos(2800t)

x(n)= x1(n) + x2(n) + x3(n) + x4(n)

Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:
trang 6
- Biểu diễn x1(n), x2(n), x3(n) , x4(n) trên miền thời gian.

- Biểu diễn tín hiệu x(n) trên miền thời gian và miền tần số.

- Thiết kế bộ lọc FIR với N=50 để lọc ra tín hiệu có tần số 200Hz. Vẽ đồ thị mô
phỏng phổ biên độ H(ejω) của bộ lọc.

- Biểu diễn tín hiệu sau lọc trên miền thời gian và miền tần số.

function Dang3_1

Fs=2000; T=1/Fs; t=[0:T:1];


x1=2*sin(2*pi*200*t); x2=4*sin(2*pi*400*t);
x3=2*cos(2*pi*500*t); x4=3*sin(2*pi*800*t);
x=x1+x2+x3+x4;

figure(1);

subplot(411);
plot(t,x1); grid on;axis([0 0.1 -4 4]);
title('Tín hiê ̣u x1(n)');
xlabel('t'); ylabel('x1(n)');

subplot(412);
plot(t,x2); grid on;axis([0 0.1 -4 4]);
title('Tín hiê ̣u x2(n)');
xlabel('Thời gian'); ylabel('x2(n)');

subplot(413);
plot(t,x3); grid on;axis([0 0.1 -4 4]);
title('Tín hiê ̣u x3(n)');
xlabel('Thời gian'); ylabel('x3(n)');

subplot(414);
plot(t,x4); grid on;axis([0 0.1 -4 4]);
title('Tín hiê ̣u x4(n)');
xlabel('Thời gian'); ylabel('x4(n)');

figure(2);
x_fft=fft(x);

subplot(211);
plot(t,x);grid on;axis([0 0.1 -8 8]);
title('Tín hiê ̣u x(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x(n)');

subplot(212);
plot(abs(x_fft)); grid on;
title('Tín hiê ̣u x(n) trên miền tần số');
xlabel('Tần số'); ylabel('x(n)');

figure(3);
fc=300; n=50; wn=2*fc/Fs; w=0:pi/500:pi;
b=fir1(n,wn);
h=freqz(b,1,w);
plot((w*Fs)/(2*pi),abs(h));grid on;
title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('Tần số'); ylabel('Biên đô ̣');
trang 7
figure(4);
y=filter(b,1,x); y_fft=fft(y);

subplot(211);
plot(t,y); grid on;axis([0 0.1 -4 4]);
title('Tín hiê ̣u y(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('y(n)');

subplot(212);
plot(abs(y_fft)); grid on;
title('Tín hiê ̣u y(n) trên miền tần số');
xlabel('Tần số'); ylabel('y(n)');

Câu 2: Cho tín hiệu :

x1(n)= 2sin(2300t), x2(n)= 4sin(2500t), x3(n)= 2cos(2800t), x4(n)=


3cos(21000t)

x(n)= x1(n) + x2(n) + x3(n) + x4(n)

Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

- Biểu diễn x1(n), x2(n), x3(n) , x4(n) trên miền thời gian.

- Biểu diễn tín hiệu x(n) trên miền thời gian và miền tần số.

- Thiết kế bộ lọc FIR với N=50 để lọc ra tín hiệu có tần số từ 500Hz đến 800Hz.
Vẽ đồ thị mô phỏng phổ biên độ H(ejω) của bộ lọc.

- Biểu diễn tín hiệu sau lọc trên miền thời gian và miền tần số.
function Dang3_2

figure(1);
Fs=2500; T=1/Fs; t=[0:T:1];
x1=2*sin(2*pi*300*t); x2=4*sin(2*pi*500*t);
x3=2*cos(2*pi*800*t); x4=3*cos(2*pi*1000*t);
x=x1+x2+x3+x4;

subplot(411);plot(t,x1);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u x1(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x1(n)');

subplot(412);plot(t,x2);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u x2(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x2(n)');

subplot(413);plot(t,x3);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u x3(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x3(n)');

trang 8
subplot(414);plot(t,x4);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u x4(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x4(n)');

figure(2);
x_fft=fft(x);

subplot(211); plot(t,x);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u x(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('x(n)');

subplot(212); plot(abs(x_fft));
title('Tín hiê ̣u x(n) trên miền tần số');
xlabel('Tần số'); ylabel('x(n)');

figure(3);
fc1=350;fc2=950;n=50;
wn=[2*fc1/Fs 2*fc2/Fs]; w=0:pi/500:pi;
b=fir1(n,wn); h=freqz(b,1,w);

plot((w*Fs)/(2*pi),abs(h)); grid on;


title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('Tần số'); ylabel('Biên đô ̣');

figure(4);
y=filter(b,1,x); y_fft=fft(y);

subplot(211);
plot(t,y);
axis([0 0.1 -4 4]); grid on;
title('Tín hiê ̣u y(n) trên miền thời gian');
xlabel('Thời gian'); ylabel('y(n)');

subplot(212);
plot(abs(y_fft)); grid on;
title('Tín hiê ̣u y(n) trên miền tần số');
xlabel('Tần số'); ylabel('y(n)');

Dạng 4: Cho đáp ứng xung của hệ thống tuyến tính bất biến

Với x(n) = u(n+1); h(n) =(n+2) rect4 (n - 2)

Viết chương trình Matlab mô phỏng thực hiện các công việc như sau:

a. Biểu diễn h(n), x(n) với -10  n 10

b. Biểu diễn đầu ra y(n) của hệ thống

c. Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)
function Dang4_cach1

figure(1)
n=-10:10;
x=[zeros(1,9) ones(1,12)];
h=[zeros(1,12) 4 5 6 7 zeros(1,5)];

trang 9
subplot(221);
stem(n,x); grid on;
title('Tín hiê ̣u x(n)');
xlabel('n'); ylabel('x(n)');

subplot(222);
stem(n,h); grid on;
title('Tín hiê ̣u h(n)');
xlabel('n'); ylabel('h(n)');

[y,ny]=conv_m(x,n,h,n);

subplot(223);
stem(ny,y); grid on;axis([-10 10 0 30]);
title('Tín hiê ̣u y(n)');
xlabel('n'); ylabel('y(n)');

figure(2);
w=0:pi/200:4*pi;
h1=freqz(h,1,w);

subplot(221);
plot(w/pi,real(h1));title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(222);
plot(w/pi,imag(h1));title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(223);
plot(w/pi,abs(h1));title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(224);
plot(w/pi,angle(h1));title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

-------------------------------------------------
function Dang4_cach2

figure(1)
n=-10:10;
x=stepseq(-1,-10,10);
h=(n+1).*rect(2,-10,10,4);

subplot(221);
stem(n,x); grid on;
title('Tín hiê ̣u x(n)');
xlabel('n'); ylabel('x(n)');

subplot(222);
stem(n,h); grid on;
title('Tín hiê ̣u h(n)');
xlabel('n'); ylabel('h(n)');

a=[4 5 6 7]; %biến đổi h(n) sang H(z)


y=filter(a,1,x);
subplot(223);
stem(n,y); grid on;axis([-10 10 0 30]);
title('Tín hiê ̣u y(n)');
xlabel('n'); ylabel('y(n)');

trang 10
figure(2);
w=0:pi/200:4*pi;
h1=freqz(h,1,w);

subplot(221);
plot(w/pi,real(h1));title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(222);
plot(w/pi,imag(h1));title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(223);
plot(w/pi,abs(h1));title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(224);
plot(w/pi,angle(h1));title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

Dạng 5:

Câu 1: Cho hệ thống được biểu diễn như hình 1.

a. -1 Vận dụng lý thuyết tìm hàm truyền


đạt H(Z) .
X(Z) Y(Z)
b. Viết chương trình Matlab mô
Z-1 phỏng thực hiện các công việc như
2 sau:

- Z-1 Biểu diễn tọa các điểm cực, điểm


không trên mặt phẳng phức cho
hàm truyền đạt H(Z)
Hình 1
- Vẽ đồ thị mô phỏng phần thực,
phần ảo, phổ biên độ, phổ pha của H(ejω)

- Biểu diễn đáp ứng xung của hệ thống có chiều dài N=50

function Dang5_1

num=[1 1];
den=[1 -2];

subplot(321);
zplane(num,den); grid on;
title('Điểm cực - không');
trang 11
xlabel('Thực'); ylabel('ảo');

w=-4*pi:pi/200:4*pi;
h=freqz(num,den,w);

subplot(322);
plot(w/pi,real(h)); grid on;
title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(323);
plot(w/pi,imag(h)); grid on;
title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(324);
plot(w/pi,abs(h)); grid on;
title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(325);
plot(w/pi,angle(h)); grid on;
title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radian');

n=0:49;
h1=impz(num,den,n+1);

subplot(326);
stem(n,h1); title('Đáp ứng xung hê ̣ thống');
grid on; xlabel('n'); ylabel('h(n)');

Câu 2: Cho hệ thống được biểu diễn như hình 1

a. Vận dụng lý thuyết


X(z) Z-1 Z-1
tìm hàm truyền đạt
H(Z) .
1- 2Z-1 - 0,5Z-1
b. Viết chương trình
Matlab mô phỏng - 0,2Z-2
thực hiện các công
việc như sau:

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt H(Z)

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Biểu diễn đáp ứng xung của hệ thống có chiều dài N=50
function Dang5_2
figure(2)
num=[1 -1];
den=[1 0 0.5 0.2 -0.2];

subplot(321);
zplane(num,den); grid on;
title('Điểm cực - không');

trang 12
xlabel('Thực'); ylabel('ảo');

w=-4*pi:pi/200:4*pi;
h=freqz(num,den,w);

subplot(322);
plot(w/pi,real(h)); grid on;
title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(323);
plot(w/pi,imag(h)); grid on;
title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(324);
plot(w/pi,abs(h)); grid on;
title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(325);
plot(w/pi,angle(h)); grid on;
title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radian');

n=0:49;
h1=impz(num,den,n+1);

subplot(326);
stem(n,h1); title('Đáp ứng xung hê ̣ thống');
grid on; xlabel('n'); ylabel('h(n)');

Dạng 6:

Hình chữ nhâ ̣t: boxcar

Tam giác: bartlett hoă ̣c triang

Blackman

Hamming

Hanning

chebwin
function hd = ideal_lp(wc,M)
alpha=(M-1)/2;
n=[0:1:(M-1)];
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
end

+ Thông thấp : delta=ws-wp

hd=ideal_lp(wc,M);

+ Thông cao: delta=ws-wp


trang 13
hd=ideal_lp(pi,M)-ideal_lp(wc,M);

+ Thông dải : delta = min((ws1-wp1),(ws2-wp2));

hd= ideal_lp(wc2,M)-ideal_lp(wc1,M);

+Chắn dải : delta = min((ws1-wp1),(ws2-wp2));

hd=ideal_lp(pi,M)-ideal_lp(wc2,M)+ideal_lp(wc1,M);

Câu 1: Thiết kế bộ lọc số thông cao theo phương pháp cửa sổ Bartlett với các tham số:
6,1 π
M=ceil( )+1
s=0,4, p=0,2. Biết chiều dài cửa sổ được tính theo công thức Δω

- Biểu diễn đồ thị đáp ứng xung của bộ lọc

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt
H(Z)

function Dang6_1

wp=0.2*pi; ws=0.4*pi;% Tham so cua bo loc


delta=ws-wp; % Do rong dai chuyen tiep
M=ceil(6.1*pi/delta)+1;% Xac dinh chieu dai bo loc
n=[0:1:M-1];
wc=(wp+ws)/2; %Tan so cat
hd=ideal_lp(pi,M)-ideal_lp(wc,M);
w_bar=(bartlett(M))';
h=hd.*w_bar;

subplot(331);
stem(n,w_bar); title('Cửa sổ bartlett');
xlabel('n');ylabel('w(n)');

subplot(332);
stem(n,hd); title('Đáp ứng xung lý tưởng');
xlabel('n');ylabel('h_d(n)');

subplot(333);
stem(n,h); title('Đáp ứng xung thực tế');
xlabel('n');ylabel('h(n)');

w=-4*pi:pi/200:4*pi;
h1=freqz(h,1,w);

subplot(334);
plot(w/pi,real(h1));title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(335);
plot(w/pi,imag(h1));title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(336);
trang 14
plot(w/pi,abs(h1));title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(337);
plot(w/pi,angle(h1));title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radiaṇ');

subplot(338);
zplane(h,1); grid on;
title('Điểm cực - không');
xlabel('Thực'); ylabel('ảo');

Câu 2: Thiết kế bộ lọc số thông thấp theo phương pháp cửa sổ chữ nhật với các tham số:
1,8 π
M=ceil ( )+1
p=0,25, s=0,4. Biết chiều dài cửa sổ được tính theo công thức Δω

- Biểu diễn đồ thị đáp ứng xung của bộ lọc

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt
H(Z)
function Dang6_2

wp=0.25*pi;ws=0.4*pi;
delta=ws-wp;
M=ceil(1.8*pi/delta)+1;
n=[0:1:(M-1)];
wc=(wp+ws)/2;
hd=ideal_lp(wc,M);
w_box=(boxcar(M))';
h=hd.*w_box;

subplot(331);
stem(n,w_box); title('Cửa sổ chữ nhâ ̣t');
xlabel('n'); ylabel('w(n)');

subplot(332);
stem(n,hd); title('Đáp ứng xung lí tưởng');
xlabel('n'); ylabel('h_d(n)');

subplot(333);
stem(n,h);title('Đáp ứng xung thực tế');
xlabel('n'); ylabel('h(n)');

w=-2*pi:pi/200:2*pi;
h1=freqz(h,1,w);

subplot(334);
plot(w/pi,real(h1)); title('Phần thực của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(335);
plot(w/pi,imag(h1)); title('Phần ảo của H(e^{j\omega})');
trang 15
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(336);
plot(w/pi,abs(h1)); title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(337);
plot(w/pi,angle(h1)); title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radian');

subplot(338);
zplane(h,1); grid on;
title('Điểm cực - không');
xlabel('Thực'); ylabel('ảo');

Câu 3: Thiết kế bộ lọc số thông dải theo phương pháp cửa sổ Hanning với các tham số:
s1=0,2, p1=0,35, s2=0,8, p2=0,65. Biết chiều dài cửa sổ được tính theo công thức
6,1 π
M=ceil( )+1
Δω
- Biểu diễn đồ thị đáp ứng xung của bộ lọc

- Vẽ đồ thị mô phỏng phần thực, phần ảo, phổ biên độ, phổ pha của H(ejω)

- Biểu diễn tọa các điểm cực, điểm không trên mặt phẳng phức cho hàm truyền đạt
H(Z)

function Dang6_3

wp1=0.35*pi; ws1=0.2*pi; wp2=0.65*pi; ws2=0.8*pi;


delta=wp1-ws1; wc1=(wp1+ws1)/2; wc2=(ws2+wp2)/2;
M=ceil(6.1*pi/delta)+1;
n=[0:1:(M-1)];
hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);
w_han=(hanning(M))';
h=hd.*w_han;

subplot(331);
stem(n,w_han); title('Cửa sổ hanning');
grid on; xlabel('n'); ylabel('w(c)');

subplot(332);
stem(n,hd); title('Đáp ứng xung lí tưởng');
xlabel('n'); ylabel('h_d(n)');

subplot(333);
stem(n,h); title('Đáp ứng xung thực tế');
xlabel('n'); ylabel('h(n)');

w=-2*pi:pi/200:2*pi;
h1=freqz(h,1,w);

subplot(334);
plot(w/pi,real(h1)); grid on;
title('Phần thực của H(e^{j\omega})');
trang 16
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(335);
plot(w/pi,imag(h1)); grid on;
title('Phần ảo của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(336);
plot(w/pi,abs(h1)); grid on;
title('Phổ biên đô ̣ của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');

subplot(337);
plot(w/pi,angle(h1)); grid on;
title('Phổ pha của H(e^{j\omega})');
xlabel('\omega/\pi'); ylabel('Pha đo bằng radian');

subplot(338);
zplane(h,1); grid on;
title('Điểm cực - không');
xlabel('Thực'); ylabel('ảo');

Mô ̣t số function thường dùng


function [x,n] = stepseq(n0,n1,n2)
n=n1:n2;
x=[(n-n0)>=0];

function [x,n] = impseq(n0,n1,n2)


n=n1:n2;
x=[(n>=n0)];

function [y,ny ] = conv_m(x,nx,h,nh)


nyb=nx(1)+nh(1);
nye=nx(length(x))+nh(length(h));
ny=[nyb:nye];
y=conv(x,h);

function [x,n] = rect(n0,n1,n2,N)


n=[n1:n2];
x=[(n>=n0)&(n<(N+n0))];

Phần lý thuyết


Câu 1: như thế nào được gọi là hệ thống tuyến tính?
=>hệ thống được gọi là tuyến tính khi có kích thích đầu vào x(n) và đáp ứng đầu
ra y(n). kí hiệu:------x(n)-----T-------y(n)----
khối T có nhiệm vụ xử lý đầu vào để tạo ra đáp ứng đầu ra và T phải thảo mãn
nguyên lý xếp chồng.
Câu 2: hệ thống tuyến tính như thế nào được gọi là bất biến?
=>HTTT được gọi là bất biến khí đáp ứng đầu ra có dạng y(n-k) thì kích thích
đầu vào cũng có dạng x(n-k).
Câu 3: hệ thống tuyến tính bất biến như thế nào được gọi là nhân quả?
trang 17
=>HTTTBB được gọi là nhân quả khi đáp ứng xung h(n)=0 với n<0.
Câu 4. đáp ứng xung la gì?
=> đáp ứng xung kí hiệu là h(n), đặc trưng cho đầu vào và đầu ra,ở miền thời
gian rời rạc.
Câu 5: hàm truyền đạt là gi?
=> hàm truyền đạt là biến đổi Z của đáp ứng xung h(n), kí hiệu H(Z),ở miền Z,
Câu 6: đáp ứng tần số là gì?
=> đáp ứng tần số là biến đổi fourier của đáp ứng xung h(n), kí hiệu là
H(e^(jw)),ở miền tần số và nó cho biết tính chất tần số của hệ thống TTBBNQ.
Câu 7: (câu này hay hỏi nhất) sự ổn định của hệ thống TTBBNQ? khi nào nó ổn
định?
=> hệ thống TTBBNQ ổn định khi tất cả các điểm cực của hàm truyền đạt H(Z)
đều nằm trong vòng tròn đơn vị, hay nói cách khác là modul của các điểm cực
đó < 1, nếu tất cả các điểm cực nằm trên đường tròn đơn vị thì hệ thống
TTBBNQ sẽ ở biên giới ổn định, nếu có ít nhất 1 điểm cực nằm ngoài thì sẽ
không ổn định. 
Câu 8: phân loại các bộ lọc lý tưởng cơ bản?
=> theo đăc tính biên độ tần số phân ra 4 loại mạch lọc:
thông thấp ( có dải thông nằm trong khoảng (0,wc));
thông cao( có dải thông nằm trong khoảng (wc,vô cùng));
thông dải ( có dải thông nằm trong khoảng (wc1,wc2));
chắn dải ( có dải thông nằm trong khoảng (0,wc1) ,(wc2,vô cùng));
theo độ dài đáp ứng xung h(n) chia làm 2 loại:
- FIR ( chiều dài h(n) hữu hạn);
-IIR ( chiều dài h(n) vô hạn);
Câu 9:( câu khá quan trọng) các tiêu chí, chỉ tiêu khi thiết kế 1 bộ lọc?
=> tiêu chuẩn để thiết kế các bộ lọc:
+ wp: tần số giới hạn dải thông.
+ws: tần số giới hạn dải chặn.
+$p: độ gợn sóng dải thông.
+$s: độ gợn sóng dải chặn.
+delta w:=wp-ws : dải quá độ hay còn gọi là dải chuyển tiếp.
lưu ý: để có tín hiệu tốt thì delta w, $p,$s càng nhỏ càng tốt.
+việc thiết kế mọi mạch lọc đều xuất phát từ mạch lọc thông thấp, tạo ra thông
cao thì dùng pp nghich đảo phổ hoặc đảo chiều phổ thông thấp,tạo ra thông dải
thì tích chập đáp ứng xung của thông thấp và thông cao, tạo ra chắn dải thì tổng
đáp ứng xung của thông thấp và thông cao.
Câu 10: phương pháp cửa sổ là gì?
=> các bộ lọc lý tưởng có đáp ứng xung dài vô hạn và không nhân quả, nên

trang 18
không thực hiện được ngoài thực tế, từ đó ta dùng các cửa sổ có sẵn để hạnchế
độ dài của đáp ứng xung lý tưởng và làm cho chúng nhân quả ,bằng cách nhân
đápứngxunglý tưởng với cửa sổ có sẵn để tạo ra đáp ứng xung thực tế có chiều
dài hưu hạn và nhân quả.
Chú ý những câu dưới đây
Đây là loại mạch lọc gì , dùng bô ̣ lọc gì ( thiết kế mạch lọc)

Fft : Biến đổi fu rê từ miền n sang w

Impz : vẽ đáp ứng xung hê ̣ thống trong miền rời rạc

Zplane : vẽ điểm cực – không => hê ̣ thống ổn định hay không

Stem: vẽ trong miền rời rạc

Plot: vẽ trong miền liên tục

Subplot: chia khung thành nhiều phần để vẽ

Freqz: trả về đáp ứng tần số của mô ̣t hê ̣ thống số

Filter: trả về đầu ra khi biết đầu vào và hê ̣ số phương trình sai phân

Fir1: thiết kế mạch lọc bằng phương pháp cửa sổ

Fs lấy như thế nào: lớn hơn hoă ̣c bằng 2*Fmax

Fc lấy như thế nào: bao được tần số cần lọc

Mối quan hê ̣ giữ abs,imag,real,angle : đều mô tả đă ̣c tính của hàm trong miền w

Hàm ideal_lp xác định đáp ứng xung của bộ lọc thông thấp lý tưởng theo tần số cắt wc
và chiều dài chuỗi đáp ứng xung

//Đáp ứng xung lí trưởng của bổ lọc là:

//Đáp ứng xung thực tế của bô ̣ lọc:

trang 19
trang 20

You might also like