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