Bài tập Xử lý tín hiệu số trên Matlab
a- tạo ma trận có chiều dài n x m:
b- cộng trừ nhân chia hai ma trận vừa tạo( đưa ra kết quả)
c- trích ra đường chéo của 2 ma trận ban đầu sau đó ghép lại thành 1 ma trận mới
d- trích 2 dòng đầu của ma trận 1 và 2 dòng cuối của ma trận 2. sau đó ghép chúng
thành ma trận mới
e- trích cột cuối của ma trận thứ nhất và cột đầu của ma trận 2. sau đó ghép với ma
trận 1 để tạo ma trận mới
% chương trình thực hiện
các điểm 0: z1=0,3;
z2=2,5; z3=-0,2+j0,4; z4=-0,2-j0,4
Và các điểm cực : p1=0,5; p2=-0,75; p3=0,6+j0,7; p4=0,6-j0,7
Với k=3,9
% (ap dung)chuong trinh tim bien doi z tu diem cuc va diem khonh
z=[0.3;2.5;-0.2+j*0.4;-0.2-j*0.4]
p=[0.5;-0.75;0.6+j*0.7;0.6-j*0.7]
k=3.9
[num,den]=zp2tf(z,p,k)
%ket qua chuong trinh
z =
0.3000
2.5000
-0.2000 + 0.4000i
-0.2000 - 0.4000i
p =
0.5000
-0.7500
0.6000 + 0.7000i
0.6000 - 0.7000i
k =
3.9000
num =
3.9000 -9.3600 -0.6630 -1.0140 0.5850
den =
1.0000 -0.9500 0.1750 0.6625 -0.3187
3-tìm các ma trận trạng thái của các hàm truyền sau:
a/
1 2
1 2 3
1 4,2 0,8( )
1 2,5 3
z zH z
z z z
− −
− − −
+ +
=
− + −
%(ap dung) tim ma tran trang thai cua ham truyen
num=[1 4.2 0.8 0];
den=[1 -2.5 3 -1];
[A B C D]=tf2ss(num,den)
% ket qua chuong trinh
A =
2.5000 -3.0000 1.0000
1.0000 0 0
0 1.0000 0
B =
1
0
0
C =
6.7000 -2.2000 1.0000
D =
1
b/
3 2
3 2
8 16 12 9( )
1,6 1,1 0,3
z z zH z
z z z
+ + +
=
+ + +
%(ap dung) tim ma tran trang thai cua ham truyen
num=[9 12 16 8];
den=[3 1.1 1.6 1];
[A B C D]=tf2ss(num,den)
% ket qua thuc hien
A =
-0.3667 -0.5333 -0.3333
1.0000 0 0
0 1.0000 0
B =
1
0
0
C =
2.9000 3.7333 1.6667
D =
3
V- NHẬN XÉT VÀ KẾT LUẬN
Bài thực hành nghiên cứu về biến dổi z cua dãy x[n], vẽ và xác dịnh các điểm cực
điểm không hiểu được các hàm sử dụng trong chương trình dể giải quyết bài toán
BÀI 6: THIẾT KẾ CÁC BỘ LỌC
I-LÝ THUYẾT
1- Các chỉ tiêu thiết kế bộ lọc
2-thiết kế bộ lọc IIR
3-Thiết kế bộ lọc FIR
II-THỰC HÀNH
1-thiết kế bộ lọc IIR
• Thiết kế mạch lọc elliptic va butterworth thông thấp với các quy định sau:
Tần số mép của dải thông fp=800hz, mép của dải chặn fs=1khz , độ mấp mô của dải
thông 0,5Db, độ suy giảm cực tiểu của dải chặn 40dB và tần số lấy mẫu F=4khz
%thiet ke bo loc elliptic
[N,Wn]=ellipord(0.4,0.5,.05,40);
[b,a]=ellip(N,0.5,40,Wn);
[h,omega]=freqz(b,a,256);
subplot(1,2,1);
plot(omega/pi,20*log10(abs(h)));
grid;
xlabel('omega/pi');
ylabel('bien do(db)');
title('mach loc IIR elliptic');
%thiet ke mach loc
[N,Wn]=buttord(0.4,0.5,.05,40);
[b,a]=butter(N,Wn);
[h,omega]=freqz(b,a,256);
subplot(1,2,2);
plot(omega/pi,20*log10(abs(h)));
grid;
xlabel('omega/pi');
ylabel('bien do(db)');
title('mach loc IIR butterworth');
kết quả chương trình
Nx: để thiết kế bộ lọc IIR ta can ước lượng bậc của bộ lọc , xác định bậc và xác định đáp
ứng tần số của bộ lọc
• thiết kế bộ lọc thông dải sử dụng phép biến đổi song song tuyến tính để thiết
kế bộ lọc chebychev loại 1 bậc 5, dải thông 0,1-0,5hz tần số lấy mẫu 2hz. Các
tần số cắt là 1 5
pi
ω = 2ω pi=
%tk bo loc thong dai su dung phep bien doi song song tuyen tinh
[z,p,k]=cheb1ap(5,3);
[A,B,C,D]=zp2ss(z,p,k);
fs=2;
u1=2*fs*tan(0.1*(2*pi/fs)/2);
u2=2*fs*tan(0.5*(2*pi/fs)/2);
Bw=u2-u1;
W0=sqrt(u1*u2);
[At,Bt,Ct,Dt]=lp2bp(A,B,C,D,W0,Bw);
[Ad,Bd,Cd,Dd]=bilinear(At,Bt,Ct,Dt,2,0.1);
[bz,az]=ss2tf(Ad,Bd,Cd,Dd);
[h,f]=freqz(bz,az,256,2);
semilogy(f,abs(h));
grid;
xlabel('frequency');
title('dap ung bien do');
kết quả chay chương trình
2-thiết kế bộ lọc FIR
• thiết kế bộ lọc FIR bằng phương pháp cửa sổ
%thiet ke bo loc fir
wp=0.2*pi;
ws=0.3*pi;
As=50;
bw=ws-wp;
N=ceil((As-7.95)/(2.285*bw))+1;
n=0:(N-1);
beta=0.5842*(50-21)^0.4+0.07886*(50-21);
wc=(ws+wp)/2;
h=(wc/pi)*sinc(wc*(n-N/2)).*besseli(0,beta*sqrt(1-4*((n-N/2)/
(N/2)).^2))/besseli(0,beta);
stem(n,h)
title('dap ung xung don vi cua bo loc FIR cua so kaiser');
pause
b=h;
a=[1];
freqz(b,a,500,1000);
title('dap ung tan so cua bo loc FIR cua so kaiser')
pause
t=0:0.001:0.1;
x=sin(2*pi*30*t)+sin(2*pi*450*t);
y=filter(b,a,x);
subplot(2,1,1);
plot(t,x);
title('tin hieu gom 2 tan so:30hz va 450hz');
subplot(2,1,2);
plot(t,y);
title('tin hieu da loc');
xlabel('thoi gian(s)');
• thiết kế bộ lọc nhiều dải tần:
%tk bo loc FIR nhieu dai tan
n=129;
f=[0 0.3 0.5 0.7 0.9 1];
a=[0 0.5 0 1 0];
up=[0.00 0.51 0.03 1.02 0.05];
lo=[-0.005 0.49 -0.03 0.98 -0.05];
b=fircls(n,f,a,up,lo);
[hh,ff]=freqz(b,1,512,2);
plot(ff,abs(hh),'b-');
grid;
xlabel('tan so chuan hoa');
ylabel('bien do');
• thiết kế bộ lọc FIR có đáp ưng tần số tùy chọn
%tk bo loc FIR co dap ung tan so tuy chon
b=cfirpm(38,[-1 -0.5 -0.4 0.3 0.4 0.8],{'multiband',[5 1 2 2 2 1]},[1 10 5]);
[hh,ff]=freqz(b,1,512,2,'whole');
plot(ff,abs(hh),'b-');
grid;
xlabel('tan so chuan hoa');
ylabel('bien do');
II-ÁP DỤNG
1- thiết kế bộ lọc IIR
Thiết kế bộ lọc thông dải dùng hàm cheby2 với các yêu cầu như sau:
-giới hạn của dãy chắn dưới :0,3pi
-giới hạn của dãy chắn trên : 0,6pi
- suy hao dải chắn :50dB
- các giới hạn trên và dưới của dải thông: 0,4pi và 0,5pi
- gợn sóng dải thông :0,5dB
[z,p,k]=cheb2ap(10,0.5);
[A,B,C,D]=zp2ss(z,p,k);
As=50;
u1=2*As*tan(0.4*pi*(2*pi/As)/2);
u2=2*As*tan(0.5*pi*(2*pi/As)/2);
Bw=u2-u1;
W0=sqrt(u1*u2);
[At,Bt,Ct,Dt]=lp2bp(A,B,C,D,W0,Bw);
[Ad,Bd,Cd,Dd]=bilinear(At,Bt,Ct,Dt,2,0.1);
[bz,az]=ss2tf(Ad,Bd,Cd,Dd);
[h,f]=freqz(bz,az,256,2);
semilogy(f,abs(h));
grid;
xlabel('frequency');
title('dap ung bien do');
%ket qua
2-thiết kế bộ lọc FIR
a-bằng phương pháp cửa sổ
thiết kế bộ lọc FIR số , thông thấp pha tuyến tính sử dụng phương pháp cửa sổ
kaiser với các yêu cầu thiết kế : tần số lấy mẫu 10khz, tần số giới hạn giải
thông 1,5khz ,tần số giới hạn giải chắn 2khz , suy hao giải thông 0,1Db ,suy
hao giải chắn 80dB,. Tính bậc của bộ lọc
%thiet ke bo loc fir
wp=1,5;
ws=2;
Ap=0.1;
As=80;
bw=ws-wp;
N=ceil((As-7.95)/(2.285*bw))+1;
n=0:(N-1);
beta=0.5842*(50-21)^0.4+0.07886*(50-21);
wc=(ws+wp)/2;
h=(wc/pi)*sinc(wc*(n-N/2)).*besseli(0,beta*sqrt(1-4*((n-N/2)/
(N/2)).^2))/besseli(0,beta);
stem(n,h)
title('dap ung xung don vi cua bo loc FIR cua so kaiser');
pause
b=h;
a=[1];
freqz(b,a,500,1000);
title('dap ung tan so cua bo loc FIR cua so kaiser')
pause
t=0:0.001:0.1;
x=sin(2*pi*30*t)+sin(2*pi*450*t);
y=filter(b,a,x);
subplot(2,1,1);
plot(t,x);
title('tin hieu gom 2 tan so:30hz va 450hz');
subplot(2,1,2);
plot(t,y);
title('tin hieu da loc');
xlabel('thoi gian(s)');
figure;
b- FIR nhiều dải tần
thiết kế bộ lọc FIR có dáp ứng tần số được mô tả như sau
- dải tần từ -1 ÷ ÷ -0,8: biên độ giảm từ 5 xuống 2 trọng số bằng 1
- dải tần từ -0,7 ÷ 0,5:biên độ bằng 2 trọng số bằng 5
- dải tần từ -0,4 ÷ -0,1 : biên độ giảm từ 2 xuống 1 trong số bằng 1
- dải tần từ 0,5 ÷ 0,7 : biên độ bằng 2 trọng số bằng 5
- dải tần từ 0,8 ÷ 1: biên độ tăng từ 2 lên 5, trọng số bằng 1
%tk bo loc FIR co dap ung tan so tuy chon
b=cfirpm(38,[-1 -0.8 -0.7 0.5 -0.4 -0.1 0.1 0.4 0.5 0.7 0.8 1],{'multiband',[5 2
2 2 2 1 1 2 2 2 2 5]},[1 5 1 1 5 1]);
[hh,ff]=freqz(b,1,512,2,'whole');
plot(ff,abs(hh),'b-');
grid;
xlabel('tan so chuan hoa');
ylabel('bien do');
BÀI 7: MÔ PHỎNG MÔ HÌNH HỆ THỐNG VIỄN THÔNG
I-LÝ THUYẾT
Bài thí nghiệm này tìm hiểu phương pháp mô hình hóa một hệ thống thông tin
đơn giản như hình 7.1
• mã hóa nguồn
o nén theo μ-law
o lượng tử hóa
o …
• mã sửa sai
o mã hamming
o mã BCH
o mã tích chập
o …
• điều chế
o AM/FM
o ASK
o QPSK
o …
II-THỰC HÀNH
Trong phần này chúng ta sẽ thực hiện mô hình 1 hệ thống truyền thông rời
rạc như hình 7.2
Truyền dẫn
Thông tin
truyền
Mã hóa
nuồn
Mã sửa
sai Điều chế
K
ênh truyền
Thu nhậnThông tin
nhận
Giải mã
nguồn
Giải mã
sửa sai
Giải điều
chế
K
ênh truyền
(nhiễu gauss ian)
Điều chế
QASK
Mã hóa
BCH
Tín hiệu
digital
Giải điều
chế QASK
Giải mã
BCH
Tín hiệu
digital thu
t
Hình 7.2: mô hình hệ thống truyền tin rời rạc
%Tao tin hieu nguon
k=11
msg=randint(k*2,1)
subplot(4,1,1)
stem(msg,'.')
ylabel('digital message')
%ma hoa bch
n=15
code=encode(msg,n,k,'bch')
subplot(4,1,2)
stem(code,'.')
ylabel('bch')
%dieu che qask su dung bo dieu che m-qask
m=16
fd=1
fc=10
fs=30
modu=dmod(code,fc,fd,fs,'qask',m)
subplot(4,1,3)
plot(modu)
ylabel('qask')
%kenh truyen co nhieu
std_value=0.1
modu_noise=modu+randn(length(modu),1)*std_value
%giai dieu che qask
demo=ddemod(modu_noise,fc,fd,fs,'qask',m)
%giai ma bch
msg_r=decode(demo,n,k,'bch')
subplot(4,1,4)
stem(msg_r,'.')
ylabel('received message')
III-ÁP DỤNG
Thực hiện mô hình digital communications như mô hình sau:
K
ênh truyề n
(nhiễu gau ssian)
Điều chế
FSK
Mã hóa
BCH
msg
Giải điều
chế FSK
Giải mã
BCHMsg thu
%Tao tin hieu nguon
k=11;
msg=randint(k*2,1);
subplot(4,1,1);
stem(msg,'.');
ylabel('digital message');
%ma hoa bch
n=15;
code=encode(msg,n,k,'bch');
subplot(4,1,2);
stem(code,'.');
ylabel('bch');
%dieu che fsk su dung bo dieu che m-fsk
m=16;
fd=1;
fc=10;
fs=30;
modu=fskmod(code,fc,fd,fs,'fsk',m);
subplot(4,1,3);
plot(modu);
ylabel('qask');
%kenh truyen co nhieu
std_value=0.1;
modu_noise=modu+randn(length(modu),1)*std_value;
%giai dieu che fsk
demo=fskdemod(modu_noise,fc,fd,fs,'fsk',m);
%giai ma bch
msg_r=decode(demo,n,k,'bch');
subplot(4,1,4);
stem(msg_r,'.');
ylabel('received message');
IV-NHẬN XÉT VÀ KẾT LUẬN
Bài thực hành tìm hiểu về phương pháp mô hình hóa 1 hệ thống thông tin.
Nguyên tắc chung và thứ tự của mô hình là là tạo tín hiệu nguồn, mã hóa tín hiệu, diều
chế tín hiệu và giải điều chế, kênh truyền nhiễu cuối cùng là giải mã hóa đề thu đươc tín
hiệu
Bài thực hành còn giúp ta tìm hiểu được các hàm và nguyên tắc sử dụng các hàm
đó
KẾT LUẬN CHUNG: đợt thực tập này giúp ta bước đầu làm quen với phần
mềm matlab , hiểu được tầm quan trọng của tầm quan trọng của việc mô phỏng các
chương trình trên phần mềm này. Hiểu được tầm quan trọng trong việc biến đổi tín
hiệu sang số( có rất nhiều tiện ích nhưng quan trọng là có thể khử nhiễu và tái điều
chế được mà đơn giản)
Các kết quả thu được sau khi chạy chương trình mô phỏng dúng theo lý
thuyết đã học
Khó khăn: do bước dàu mới làm quen với phần mềm và cách mô phỏng nó
nên có những vấn đề vẫn còn khúc mắc nhưng với sự giúp đỡ tận tình của các thầy
cô em đã giải quyết được một số vấn đề
File đính kèm:
Bài tập Xử lý tín hiệu số trên Matlab.pdf

