You are on page 1of 15

ĐỀ CƯƠNG MÔN XLSTH

PHẠM THỊ VÂN ANH

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

h(n)=(-n-2)rect 4(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-1) với -20≤n≤20

figure(1);
num=[0 0 -4 -5 -6 -7];
den=[1];
subplot(411);
zplane(num,den);
title('toa do diem cuc-khong');
grid on;
xlabel('thuc'); ylabel('ao');
nh=[-10:10];
h=-4*impseq(2,-10,10)-5*impseq(3,-10,10)-6*impseq(4,-
10,10)-7*impseq(5,-10,10);
subplot(412);stem(nh,h);
title('ham truyen dat h');
nx=[-20:20];
x=stepseq(1,-20,20);
subplot(413);stem(nx,x);
[y,ny]=conv_m(x,nx,h,nh)
subplot(414);stem(ny,y);
figure(2)
w=-4*pi:8*pi/511:4*pi
h=freqz(num,den,w);
subplot(411);
plot(w/pi,real(h));grid on;
title('phan thuc');
subplot(412);
plot(w/pi,imag(h)); grid on;
title('phan ao');
subplot(413);
plot(w/pi,abs(h));grid on;
title('pho bien do');
subplot(414);
plot(w/pi,angle(h)); grid on;
title('pho phase');

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


7y(n) – 6y(n -1) + 4y(n - 3) = 2x(n) – 3x(n -3)
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) = (n-2)rect 3(n-2) với -20  n 20

figure(1);
num=[3 0 -0.7 0 0.3];
den=[2 0.6 0 -0.35];
subplot(211);
zplane(num,den);
title('toa do diem cuc diem khong');
grid on;
nh=[-15:15];
subplot(212);
h=impz(num,den,nh+1); stem(nh,h);
title('dap ung xung he thong');
xlabel('n');ylabel('h(n)');
figure(2)
w=-4*pi:8*pi/511:4*pi
h1=freqz(num,den,w);
subplot(411);
plot(w/pi,real(h1));grid on;
title('phan thuc');
subplot(412);
plot(w/pi,imag(h1)); grid on;
title('phan ao');
subplot(413);
plot(w/pi,abs(h1));grid on;
title('pho bien do');
subplot(414);
plot(w/pi,angle(h1)); grid on;
title('pho phase');
figure(3)
nx=[-20:20];
x=2*impseq(-3,-20,20)+2*impseq(-1,-20,20)+impseq(0,-20,20)-
impseq(2,-20,20)+4*impseq(4,-20,20);
subplot(211);stem(nx,x);
[y,ny]=conv_m(x,nx,h,nh)
subplot(212);stem(ny,y);
Dạng 2: Thiết kế bộ lọc

Đề 1: Cho tín hiệu : x1(n)= 2sin(2300t), x2(n)= 4sin(2600t), x3(n)=


2cos(2900t), x4(n)= 3cos(21100t)
x(n)= x1(n) + x2(n) + x3(n) + x4(n)
* Viết biểu thức đáp ứng xung của bộ lọc thông thấp pha không và pha tuyến
tính có chiều dài 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ố 900Hz. 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ố.
f1=300;f2=600;f3=900;f4=1100;Fs=2400;
T=1/Fs;t=0:T:1;
x1=2*sin(2*pi*f1*t);
x2=4*sin(2*pi*f2*t);
x3=2*cos(2*pi*f3*t);
x4=3*cos(2*pi*f4*t);
figure(1)
subplot(221); plot(t,x1); title('tin hieu x1 theo mien thoi gian');
subplot(222); plot(t,x2); title('tin hieu x2 theo mien thoi gian');
subplot(223); plot(t,x3); title('tin hieu x3 theo mien thoi gian');
subplot(224); plot(t,x4); title('tin hieu x4 theo mien thoi gian');

figure(2)
x=x1+x2+x3+x4;
subplot(511);plot(t,x);
title('th x trong mien thoi gian')
x_fft=fft(x);
subplot(512);plot(abs(x_fft));grid on;
title('tin hieu x trong mien tan so');

fc1=800;fc2=1000;N=60;
wn1=2*fc1/Fs; wn2=2*fc2/Fs;
b=fir1(N,[wn1 wn2]);
w=0:2*pi/511:pi;
h=freqz(b,1,w);

subplot(513);plot(w/pi,abs(h));
title(Pho bien do cua bo loc');grid on

y=filter(b,1,x);
y_fft=fft(y);subplot(514);plot(abs(y_fft));
title('tin hieu sau loc y trong mien tan so');
subplot(515);plot(t,y);title('th y trong mien thoi gian');

LƯU Ý:
Bài này dùng thông dải vì lấy f=900 nằm giữa hai tần só f=600 và f=1100.
Lấy 2 giá trị fc1=800 và fc2=1000 để lọc f=900 ở bộ lọc.
Đề 2: Cho tín hiệu : x1(n)= 2sin(2300t), x2(n)= 4sin(2600t), x3(n)=
2cos(2900t), x4(n)= 3cos(21100t) x(n)= x1(n) + x2(n) + x3(n) + x4(n)
* Viết biểu thức đáp ứng xung của bộ lọc thông cao pha không và pha tuyến
tính có chiều dài 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=60 để lọc ra tín hiệu có tần số 300Hz và 1100Hz.
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ố.
f1=300;f2=600;f3=900;f4=1100;Fs=2400;
T=1/Fs;t=0:T:1;
x1=2*sin(2*pi*f1*t);
x2=4*sin(2*pi*f2*t);
x3=2*cos(2*pi*f3*t);
x4=3*cos(2*pi*f4*t);
figure(1)
subplot(221); plot(t,x1); title('tin hieu x1 theo mien thoi gian');
subplot(222); plot(t,x2); title('tin hieu x2 theo mien thoi gian');
subplot(223); plot(t,x3); title('tin hieu x3 theo mien thoi gian');
subplot(224); plot(t,x4); title('tin hieu x4 theo mien thoi gian');
figure(2)
x=x1+x2+x3+x4;
subplot(511);plot(t,x);
title('th x trong mien thoi gian')
x_fft=fft(x);
subplot(512);plot(abs(x_fft));grid on;
title('tin hieu x trong mien tan so');
fc1=450;fc2=1000;N=60;
wn1=2*fc1/Fs; wn2=2*fc2/Fs;
b=fir1(N,[wn1 wn2],’stop’)
;w=0:2*pi/511:pi;
h=freqz(b,1,w);
subplot(513);plot(w/pi,abs(h));
title('dap ung tan so cua bo loc');grid on
y=filter(b,1,x);
y_fft=fft(y);subplot(514);plot(abs(y_fft));
title('tin hieu sau loc y trong mien tan so');
subplot(515);plot(t,y);title('th y trong mien thoi gian');

LƯU Ý:
Bài này dùng chắn dải vì lấy f=300 và f=1100.
Lấy 2 giá trị fc1=450 và fc2=1000 để lọc
Đề 3: Cho tín hiệu : x1(n)= 2sin(2300t), x2(n)= 4sin(2600t), x3(n)=
2cos(2900t), x4(n)= 3cos(21100t) x(n)= x1(n) + x2(n) + x3(n) + x4(n)
* Viết biểu thức đáp ứng xung của bộ lọc chắn dải pha không và pha tuyến tính
có chiều dài 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=60 để lọc ra tín hiệu có tần số 300Hz và 600Hz. 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ố.
f1=300;f2=600;f3=900;f4=1100;Fs=2400;
T=1/Fs;t=0:T:1;
x1=2*sin(2*pi*f1*t);
x2=4*sin(2*pi*f2*t);
x3=2*cos(2*pi*f3*t);
x4=3*cos(2*pi*f4*t);
figure(1)
subplot(221); plot(t,x1); title('tin hieu x1 theo mien thoi gian');
subplot(222); plot(t,x2); title('tin hieu x2 theo mien thoi gian');
subplot(223); plot(t,x3); title('tin hieu x3 theo mien thoi gian');
subplot(224); plot(t,x4); title('tin hieu x4 theo mien thoi gian');
figure(2)
x=x1+x2+x3+x4;
subplot(511);plot(t,x);
title('th x trong mien thoi gian')
x_fft=fft(x);
subplot(512);plot(abs(x_fft));grid on;
title('tin hieu x trong mien tan so');
fc=800;N=60;
wn=2*fc/Fs;
b=fir1(N,wn,’low’)
;w=0:2*pi/511:pi;
h=freqz(b,1,w);
subplot(513);plot(w/pi,abs(h));
title('dap ung tan so cua bo loc');grid on
y=filter(b,1,x);
y_fft=fft(y);subplot(514);plot(abs(y_fft));
title('tin hieu sau loc y trong mien tan so');
subplot(515);plot(t,y);title('th y trong mien thoi gian');

LƯU Ý:
Bài này dùng thông thấp vì lấy f=300 và f=600.
Lấy 2 giá trị fc=800 thì bộ lọc sẽ lọc các giá trị phía bên trái fc.
Đề 4: Cho tín hiệu : x1(n)= 2sin(2300t), x2(n)= 4sin(2600t), x3(n)=
2cos(2900t), x4(n)= 3cos(21100t) x(n)= x1(n) + x2(n) + x3(n) + x4(n)
* Viết biểu thức đáp ứng xung của bộ lọc thông dải pha không và pha tuyến
tính có chiều dài 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ố 900Hz; 1100Hz. 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ố.
f1=300;f2=600;f3=900;f4=1100;Fs=2400;
T=1/Fs;t=0:T:1;
x1=2*sin(2*pi*f1*t);
x2=4*sin(2*pi*f2*t);
x3=2*cos(2*pi*f3*t);
x4=3*cos(2*pi*f4*t);
figure(1)
subplot(221); plot(t,x1); title('tin hieu x1 theo mien thoi gian');
subplot(222); plot(t,x2); title('tin hieu x2 theo mien thoi gian');
subplot(223); plot(t,x3); title('tin hieu x3 theo mien thoi gian');
subplot(224); plot(t,x4); title('tin hieu x4 theo mien thoi gian');
figure(2)
x=x1+x2+x3+x4;
subplot(511);plot(t,x);
title('th x trong mien thoi gian')
x_fft=fft(x);
subplot(512);plot(abs(x_fft));grid on;
title('tin hieu x trong mien tan so');
fc=800;N=60;
wn=2*fc/Fs;
b=fir1(N,wn,’high’)
;w=0:2*pi/511:pi;
h=freqz(b,1,w);
subplot(513);plot(w/pi,abs(h));
title('dap ung tan so cua bo loc');grid on
y=filter(b,1,x);
y_fft=fft(y);subplot(514);plot(abs(y_fft));
title('tin hieu sau loc y trong mien tan so');
subplot(515);plot(t,y);title('th y trong mien thoi gian');
LƯU Ý:
Bài này dùng thông cao vì lấy f=900 và f=1100.
Lấy 2 giá trị fc=800 thì bộ lọc sẽ lọc các giá trị phía bên phải fc.

DẠNG 3:
Với dạng này xác định dùng bộ lọc nào:

 Thông thấp:

function hd=thongthap(wc,N)
alpha=(N-1)/2;
n=[0:1:(N-1)];
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
 Thông cao:
hd=thongthap(pi,N)-thongthap(wc,N)
 Thông dải:
hd= thongthap(wc2,N)-thongthap(wc1,N)
deltaw1=abs(ws1-wp1)
deltaw2=abs(ws2-wp2)
deltaw=min(deltaw2-deltaw1)
 Chắn dải:
hd=thongthap(pi,N)-thongthap(wc2,N)+thongthap(wc1,N)
deltaw=min(pi-deltaw2+deltaw1)
Đề 1: 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,15, p1=0,3, p2=0,5, s2=0,7, Biết chiều dài cửa sổ
được tính theo công thức M = 6,2/
- Biểu diễn đồ thị cửa sổ, đồ 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)
wp1=0.3*pi; ws1=0.15*pi;
wp2=0.5*pi; ws2=0.7*pi;
deltaw1=abs(ws1-wp1);
deltaw2=abs(ws2-wp2);
deltaw=min(deltaw1,deltaw2);
M=ceil(6.2*pi/deltaw)+1;
n=[0:1:M-1];
w_han=hanning(M);
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=thongthap(wc2,M)-thongthap(wc1,M);
h=hd.*w_han';

subplot(331);
stem(n,w_han);
title('cua so hanning');
grid on;
subplot(332);
stem(n,hd); title('dap ung xung ly tuong');
grid on;
subplot(333);
stem(h); grid on;
title('dap ung xung thuc te');
grid on;
w=-2*pi:pi/200:2*pi;
h1=freqz(h,1,w);
subplot(334);
plot(w/pi,real(h1));grid on;
title('phan thuc');
subplot(335);
plot(w/pi,imag(h1)); grid on;
title('phan ao');
subplot(336);
plot(w/pi,abs(h1));grid on;
title('pho bien do');
subplot(337);
plot(w/pi,angle(h1)); grid on;
title('pho phase');
subplot(338);
zplane(h,1); grid on;
title('diem cuc diem khong');
xlabel('Thưc'); ylabel('ao');
Đề 2: Thiết kế bộ lọc số thông thấp theo phương pháp cửa sổ tam giác với các
tham số: p2=0,5, s2=0,7, Biết chiều dài cửa sổ được tính theo công thức M
= 6,1/
- Biểu diễn đồ thị cửa sổ, đồ 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)
wp=0.5*pi; ws=0.7*pi;
delta=ws-wp;
M=ceil(6.1*pi/delta)+1;
n=[0:1:M-1];
wc=(wp+ws)/2;
hd=thongthap(wc,M)
w_bar=(bartlett(M))';
h=hd.*w_bar;
subplot(331);
stem(n,w_bar); title('cua so bartlett');
xlabel('n');ylabel('w(n)');
subplot(332);
stem(n,hd); title('dap ung xung ly tuong');
xlabel('n');ylabel('h_d(n)');
subplot(333);
stem(h); grid on;
title('dap ung xung thuc 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('phan thuc');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(335);
plot(w/pi,imag(h1));title('phan ao');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(336);
plot(w/pi,abs(h1));title('pho bien do');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(337);
plot(w/pi,angle(h1));title('pho pha');
xlabel('\omega/\pi'); ylabel('Pha đo bang radiaṇ');
subplot(338);
zplane(h,1); grid on;
title('diem cuc diem khong');
xlabel('Thưc'); ylabel('ao');

Đề 3: Thiết kế bộ lọc số thông cao theo phương pháp cửa sổ chữ nhật với các
tham số: s1=0, 5, p1=0,8, Biết chiều dài cửa sổ được tính theo công thức
M = 1,8/
- Biểu diễn đồ thị cửa sổ, đồ 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)
wp=0.5*pi; ws=0.8*pi;
delta=ws-wp;
M=ceil(1.8*pi/delta)+1;
n=[0:1:M-1];
wc=(wp+ws)/2;
hd=thongthap(pi,M)-thongthap(wc,M)
w_boxcar=(boxcar(M))';
h=hd.*w_box;
subplot(331);
stem(n,w_box); title('cua so boxcar');
xlabel('n');ylabel('w(n)');
subplot(332);
stem(n,hd); title('dap ung xung ly tuong');
xlabel('n');ylabel('hd(n)');
subplot(333);
stem(h); grid on;
title('dap ung xung thuc te');
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('phan thuc');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(335);
plot(w/pi,imag(h1));title('phan ao');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(336);
plot(w/pi,abs(h1));title('pho bien do');
xlabel('\omega/\pi'); ylabel('Biên đô ̣');
subplot(337);
plot(w/pi,angle(h1));title('pho pha');
xlabel('\omega/\pi'); ylabel('Pha đo bang radiaṇ');
subplot(338);
zplane(h,1); grid on;
title('diem cuc diem khong');
xlabel('Thưc'); ylabel('ao');
Đề 4: Thiết kế bộ lọc số chắn dải theo phương pháp cửa sổ Hamming với các
tham số: p1=0,15, s1=0,3, s2=0,5, p2=0,7, Biết chiều dài cửa sổ
được tính theo công thức M = 6,6/
- Biểu diễn đồ thị cửa sổ, đồ 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)
wp1=0.3*pi; ws1=0.15*pi;
wp2=0.5*pi; ws2=0.7*pi;
deltaw1=abs(ws1-wp1);
deltaw2=abs(ws2-wp2);
deltaw=min(deltaw1,deltaw2);
M=ceil(6.6*pi/deltaw)+1;
n=[0:1:M-1];
w_han=hanning(M);
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=thongthap(pi,M)-thongthap(wc2,M)+thongthap(wc1,M);
h=hd.*w_han';

subplot(331);
stem(n,w_han);
title('cua so hanning');
grid on;
subplot(332);
stem(n,hd); title('dap ung xung ly tuong');
grid on;
subplot(333);
stem(h); grid on;
title('dap ung xung thuc te');
grid on;
w=-2*pi:pi/200:2*pi;
h1=freqz(h,1,w);
subplot(334);
plot(w/pi,real(h1));grid on;
title('phan thuc');
subplot(335);
plot(w/pi,imag(h1)); grid on;
title('phan ao');
subplot(336);
plot(w/pi,abs(h1));grid on;
title('pho bien do');
subplot(337);
plot(w/pi,angle(h1)); grid on;
title('pho phase');
subplot(338);
zplane(h,1); grid on;
title('diem cuc diem khong');
xlabel('Thưc'); ylabel('ao');

Sử dụng hàm đơn vị:


function [x,n]=impseq(n0,n1,n2)
if((n0<n1)|(n0>n2)|(n1>n2))
end
n=[n1:n2];
x=[(n-n0)==0];
end
sử dụng hàm nhảy đơn vị:
function [x,n]=stepseq(n0,n1,n2)
if((n0<n1)|(n0>n2)|(n1>n2))
end
n=[n1:n2];
x=[(n-n0)>=0];
end
//hàm tích chập
function[y,ny]=conv_m(x,nx,h,nh)
nyb=nx(1)+nh(1);
nye(length(x))+nh(length(h));
ny=[nyb:nye];
y=conv(x,h);

You might also like