Giáo trình Xử lý tín hiệu số I - Đỗ Huy Khôi
MỤC LỤC
CHƯƠNG I :TÍN HIỆU RỜI RẠC VÀ CÁC HỆ THỐNG RỜI RẠC 6
1.1. MỞ ĐẦU 7
1.2. TÍN HIỆU RỜI RẠC 7
1.2.1. ĐỊNH NGHĨA TÍN HIỆU: 7
1.2.2. PHÂN LOẠI TÍN HIỆU: 8
1.2.3. TÍN HIỆU RỜI RẠC – DÃY 9
1.2.3.1. Cách biểu diễn: 9
1.2.3.2. Các tín hiệu rời rạc cơ bản 10
1.2.3.3. Các phép toán cơ bản của dãy 12
1.3. HỆ THỐNG RỜI RẠC 13
1.3.1. KHÁI NIỆM 13
1.3.1.1. Hệ thống thời gian rời rạc (gọi tắt là hệ thống rời rạc): 13
1.3.1.2. Đáp ứng xung (impulse response) của một hệ thống rời rạc 14
1.3.1.3. Biểu diễn hệ thống bằng sơ đồ khối 14
1.3.2. PHÂN LOẠI HỆ THỐNG RỜI RẠC 14
1.4. HỆ THỐNG BẤT BIẾN THEO THỜI GIAN (LTI: Linear Time-Invariant System)
14
1.4.1. KHÁI NIỆM 14
1.4.2. TỔNG CHẬP (CONVOLUTION SUM) 14
1.4.2.1. Định nghĩa 14
1.4.2.2. Phương pháp tính tổng chập bằng đồ thị 14
1.4.2.3. Các tính chất của tổng chập 14
1.4.3. CÁC HỆ THỐNG LTI ĐẶC BIỆT 14
1.4.3.1. Hệ thống LTI ổn định: 14
1.4.3.2. Hệ thống LTI nhân quả 14
1.4.3.3. Hệ thống FIR (Finite-duration Impulse Response) và hệ thống IIR 14
1.4.3.4. Hệ thống đảo (Inverse systems) 14
1.5.PHƯƠNG TRÌNH SAI PHÂN TUYẾN TÍNH HỆ SỐ HẰNG 14
1.5.1. Khái niệm 14
1.5.2. NGHIỆM CỦA LCCDE 14
1.5.2.1 Tìm nghiệm của phương trình sai phân thuần nhất (Đáp ứng của hệ thống
khi tính hiệu vào bằng 0) 14
1.5.2.2. Nghiệm riêng của phương trình sai phân 14
1.5.2.3. Nghiệm tổng quát của phương trình sai phân: 14
1.5.3. HỆ THỐNG RỜI RẠC ĐỆ QUI (RECURSIVE) VÀ KHÔNG ĐỆ QUI
(NONRECURSIVE) 14
1.5.3.1. Hệ thống rời rạc đệ qui : 14
1.5.3.2. Hệ thống rời rạc không đệ qui: 14
1.6 Tương quan của các tín hiệu rời rạc 14
1.6.1. TƯƠNG QUAN CHÉO (CROSSCORRELATION) 14
1.6.2. TỰ TƯƠNG QUAN (AUTOCORRELATION) 14
THÁI NGUYÊN - 20083
1.6.3. Một số tính chất của tương quan chéo và tự tương quan: 14
1.7. XỬ LÝ SỐ TÍN HIỆU TƯƠNG TỰ 14
1.7.1. CÁC HỆ THỐNG XỬ LÝ TÍN HIỆU: 14
1.7.2. HỆ THỐNG XỬ LÝ SỐ TÍN HIỆU TƯƠNG TỰ: 14
1.7.2.1. Biến đổi A/D (Analog-to-Digital Conversion) 14
1.7.2.2. Biến đổi D/A (Digital to Analog Conversion) 14
1.7.2.3. Hiện tượng hư danh (Aliasing) 14
1.7.2.4. Định lý lấy mẫu: 14
CHƯƠNG II: BIỂU DIỄN TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC TRONG
MIỀNZ
2.1 MỞ ĐẦU 14
2.2 Các khái niệm về biến đổi Z 14
2.2.1. BIẾN ĐỔI Z ( THE Z - TRANSFORM): 14
2.2.2. MIỀN HỘI TỤ (ROC: Region of Convergence) 14
2.2.3. BIẾN ĐỔI Z NGƯỢC (The inverse Z -transform) 14
Ví dụ 2.10: Xác định biến đổi Z của tín hiệu x(n) = nanu(n) . 14
2.4 CÁC PHƯƠNG PHÁP TÌM BIẾN ĐỔI z NGƯỢC 14
2.4.1. PHƯƠNG PHÁP TRA BẢNG: 14
2.4.2. PHƯƠNG PHÁP TRIỂN KHAI THÀNH CÁC PHÂN THỨC HỮU TỈ 14
2.4.3. PHƯƠNG PHÁP TRIỂN KHAI THÀNH MỘT CHUỖI LŨY THỪA
(POWER SERRIES EXPANSION) 14
2.5 GIẢI PHƯƠNG TRÌNH SAI PHÂN TUYẾN TÍNH HỆ SỐ HẰNG DÙNG BIẾN
ĐỔI Z MỘT PHÍA 14
2.5.1. BIẾN ĐỔI Z MỘT PHÍA (UNILATERAL Z-TRANSFORM) 14
2.5.2. GIẢI PHƯƠNG TRÌNH SAI PHÂN TUYẾN TÍNH HỆ SỐ HẰNG: 14
2.6 PHÂN TÍCH HỆ THỐNG LTI TRONG MIỀN Z 14
2.6.1. HÀM TRUYỀN ĐẠT CỦA HỆ THỐNG LTI 14
2.6.1.1. Hàm truyền đạt (hàm hệ thống) 14
2.6.1.2. Hàm truyền đạt của một hệ thống được đặc trưng bởi LCCDE 14
2.6.2. ĐÁP ỨNG CỦA HỆ THỐNG CỰC - ZERO NGHỈ 14
2.6.4. ĐÁP ỨNG QUÁ ĐỘ (TRANSIENT RESPONSE) VÀ ĐÁP ỨNG XÁC LẬP
(STEADY - STATE RESPONSE) 14
2.6.5. HỆ THỐNG ỔN ĐỊNH VÀ NHÂN QUẢ 14
2.7 THỰC HIỆN CÁC HỆ THỐNG RỜI RẠC 14
2.7.1. MỞ ĐẦU: 14
2.7.2. HỆ THỐNG IIR (ĐỆ QUI) 14
2.7.3. HỆ THỐNG FIR (KHÔNG ĐỆ QUI) 14
CHƯƠNG III: PHÂN TÍCH TẦN SỐ CỦA TÍN HIỆU 14
3.1 Mở đầu 14
3.2 TẦN SỐ CỦA TÍN HIỆU RỜI RẠC 14
3.2.1. TÍNH HIỆU TƯƠNG TỰ TUẦN HOÀN THEO THỜI GIAN 14
3.2.2. TÍN HIỆU RỜI RẠC TUẦN HOÀN HÌNH SIN 14
3.2.3. MỐI LIÊN HỆ CỦA TẦN SỐ F CỦA TÍN HIỆU TƯƠNG TỰ xa(t) VÀ
TẦN SỐ f CỦA TÍN HIỆU RỜI RẠC x(n) ĐƯỢC LẤY MẪU TỪ xa(t) 144
3.2.4. CÁC TÍN HIỆU HÀM MŨ PHỨC CÓ QUAN HỆ HÀI 14
3.3 PHÂNT TÍCH TẦN SỐ CỦA TÍN HIỆU LIÊN TỤC 14
3.3.1. PHÂN TÍCH TẦN SỐ CỦA TÍN HIỆU LIÊN TỤC TUẦN HOÀN THEO
THỜI GIAN - CHUỖI FOURIER. 14
3.3.2. PHỔ MẬT ĐỘ CÔNG SUẤT CỦA TÍN HIỆU TUẦN HOÀN 14
3.3.3. PHÂN TÍCH TẦN SỐ CỦA TÍN HIỆU LIÊN TỤC KHÔNG TUẦN HOÀN
- BIẾN ĐỔI FOURIER 14
3.3.4. PHỔ MẬT ĐỘ NĂNG LƯỢNG CỦA TÍN HIỆU KHÔNG TUẦN HOÀN 14
3.4 PHẤN TÍCH TẦN SỐ CỦA TÍN HIỆU RỜI RẠC 14
3.4.1. CHUỖI FOURIER CỦA TÍN HIỆU RỜI RẠC TUẦN HOÀN 14
3.4.2. PHỔ MẬT ĐỘ CÔNG SUẤT CỦA TÍN HIỆU RỜI RẠC TUẦN HOÀN 14
Phổ mật độ công suất – Phổ biên độ – Phổ pha: 14
3.4.3. PHÂN TÍCH TẦN SỐ CỦA TÍN HIỆU RỜI RẠC KHÔNG TUẦN HOÀN -
BIẾN ĐỔI FOURIER 14
3.4.3.1. Định nghĩa biến đổi Fourier của tín hiệu rời rạc 14
3.4.3.2. Biến đổi Fourier ngược 14
3.4.3.3. Điều kiện để tồn tại biến đổi Fourier của tín hiệu rời rạc 14
3.4.4. PHỔ MẬT ĐỘ NĂNG LƯỢNG CỦA TÍN HIỆU KHÔNG TUẦN HOÀN 14
Ví dụ 3.5 14
3.4.5. CÁC TÍNH CHẤT CỦA BIẾN ĐỔI FOURIER CỦA TÍN HIỆU RỜI RẠC
THEO THỜI GIAN 14
Một số tính chất khác của biến đổi Fourier 14
Tính chất 14
Bảng 3.3: Một số cặp biến đổi Fourier của tín hiệu rời rạc không tuần hoàn thông
dụng. 14
3.5 LẤY MẪU TÍN HIỆU TRONG MIỀN THỜI GIAN VÀ MIỀN TẦN SỐ 14
3.5.1. Lấy mẫu trong miền thời gian và khôi phục tín hiệu tương tự. 14
3.5.2. LẤY MẪU TRONG MIẾN TẦN SỐ VÀ KHÔI PHỤC TÍN HIỆU RỜI
RẠC THEO THỜI GIAN 14
3.6 BIẾN ĐỔI FOURIER RỜI RẠC (DFT DISCRETE FOURIER TRANFORM) 14
3.6.1. KHÁI NIỆM: 14
3.6.2. QUAN HỆ GIỮA DFT VÀ CÁC BIẾN ĐỔI KHÁC 14
3.6.2.1. Quan hệ giữa DFT với các hệ số chuỗi Fourier của dãy tuần hoàn 14
3.6.2.2. Quan hệ giữa DFT với phổ của của dãy có độ dài hữu hạn 14
3.6.2.3. Quan hệ giữa DFT và biến đổi Z 14
3.6.3.1. Phép dịch vòng và tính đối xứng vòng của một dãy: 14
3.6.3.2. Chập vòng của 2 dãy: 14
3.6.3.3. Các tính chất của DFT 14
CHƯƠNG IV :BIỂU DIỄN VÀ PHÂN TÍCH HỆ THỐNG RỜI RẠC TRONG
MIỀN TẦN SỐ 14
4.1 CÁC ĐẶC TÍNH CỦA HỆ THỐNG LTI TRONG MIỀN TẦN SỐ 14
4.1.1. ĐÁP ỨNG TẦN SỐ CỦA HỆ THỐNG LTI 14
4.1.1.1. Đáp ứng tần số 14
4.1.1.2. Hàm riêng (eigenfunction) và trị riêng (eigenvalue) của hệ thống 14
4.1.1.3. Đáp ứng biên độ và đáp ứng pha 145
4.1.2. ĐÁP ỨNG QUÁ ĐỘ VÀ ĐÁP ỨNG XÁC LẬP VỚI TÍN HIỆU VÀO HÌNH
SIN 14
4.1.3. ĐÁP ỨNG XÁC LẬP VỚI TÍN HIỆU VÀO TUẦN HOÀN 14
4.2. Phân tích hệ thống LTI trong miền tần số 14
4.2.1. QUAN HỆ VÀO - RA TRONG MIỀN TẦN SỐ 14
4.2.2. TÍNH HÀM ĐÁP ỨNG TẦN SỐ 14
4.3. Hệ thống LTI và mạch số lọc 14
4.3.1. LỌC CHỌN TẦN LÝ TƯỞNG 14
4.3.2. TÍNH KHÔNG KHẢ THI CỦA BỘ LỌC LÝ TƯỞNG 14
4.3.3. Mạch lọc thực tế
hư các tiện ích của nó dành cho xử lý tín hiệu số. Để chương trình đơn giản và dễ dàng thấy được thuật toán của nó, ta sẽ không thực hiện giao diện cho người dùng và chương trình được viết theo cách đối thoại trực tiếp trên cửa sổ lệnh (Command Window) của MATLAB, bằng cách dùng các lệnh disp và input. Hầu hết các chương trình sau đây được viết dưới dạng Script và lưu vào các M-file cùng tên của chương trình. Sau khi nhập vào một thư mục nào đó của MATLAB và tạo đường dẫn (nếu thư mục này chưa có sẳn đường dẫn), để chạy chương trình, ta chỉ cần nhập tên chương trình vào, trên Command Window, và gõ Enter. Nếu chương trình được viết dưới dạng Function, người sử dụng cần nắm được các thông số vào, ra, để nhập lệnh đúng cú pháp. 1. dsp13 % Nhập vào vector biến thời gian và biểu thức của tín hiệu, vẽ các loại tín hiệu: tương tự, rời rạc, số. %--------------------------------------------------- t=input('Nhap khoang thoi gian, VD:0:0.1:40, t= '); y=input('Nhap ham so muon ve co bien t, VD:sin(t/4+1), y= '); loai=input('(analog,type=1;discrete,type=2;digital,type=3)Type = '); duong=input('(___,style=1;...,style=2;-.,style=3) stype = '); if loai==1 DS1=figure('Name','Type of signal','Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); if duong = =1 plot(t,y,'r-'); 198 elseif duong = =2 plot(t,y,'r:'); elseif duong = =3 plot(t,y,'r-.'); end; elseif loai= =2 cham=input('(cham den,cham=1;cham trang,cham=2;... khong,cham=3) cham= '); DS1=figure('Name','Type of signal', 'Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); if cham= =1 stem(t,y,'fulled'); elseif cham= =2 stem(t,y); elseif cham= =3 stem1(t,y); end; elseif loai= =3 [x,z]=stairs(t,y); xt(1)=x(1);zt(1)=z(1); for n=1:length(x)/2-1 ni=2*n+1; xt(n)=x(ni);zt(n)=z(ni); end; cham=input('(cham den,cham=1;cham trang,cham=2;... khong,cham=3) cham= '); plot(x,z,'g:');hold on; if cham= =1 stem(xt,zt,'fulled'); elseif cham= =2 stem(xt,zt); elseif cham= =3 stem1(xt,zt); end; end axis off; 2. function dsphinh3_26(N,L) %Ve bien do va pha cua DFT n diem cua day co do dai L. % Doan hoa minh 2001 %-------------------------------------------------------- function dsphinh3_26(N,L) xn=ones(1,L); 199 X=fft(xn,N); X1=abs(X); theta1=angle(X); DS2=figure('Name','DFT N diem’,'Color','w',... 'NumberTitle','off','Position',[50 50 580 300]); stem(X1,'filled') DS2=figure('Name','Type of signal','Color','w',... 'NumberTitle','off','Position',[50 50 580 300]); stem(theta1,'filled') 3. dsphinh5_16 % Ve dac tuyen cua mach loc thiet ke bang cua so co chieu dai bang 9 va bang 61. % Doan Hoa Minh syms w v; y=sin((w-v)*9/2)/sin((w-v)/2); z=int(y,v,-pi/4,pi/4); z=simple(z) w=0:0.01:pi; for n=1:length(w) Ht(n)=subs(z,'w',w(n)); end H=exp(-j*4.*w)./(2*pi).*Ht; tHt=abs(H); Hdb=20*log10(tHt); DS1=figure('Name','Type of signal','Color','w',... 'NumberTitle','off','Position',[50 50 500 200]); plot(w,tHt) grid on DS1=figure('Name','Type of signal','Color','w',... 'NumberTitle','off','Position',[50 50 500 200]); plot(w,Hdb,'k') grid on syms w v; y1=sin((w-v)*61/2)/sin((w-v)/2); z1=int(y1,v,-pi/4,pi/4); z1=simple(z1) w=0:0.01:pi; for n=1:length(w) Ht1(n)=subs(z1,'w',w(n)); end H1=exp(-j*4.*w)./(2*pi).*Ht1; tHt1=abs(H1); 200 Hdb1=20*log10(tHt1); DS3=figure('Name','Type of signal',... 'Color','w','NumberTitle','off','Position',[50 50 500 200]); plot(w,tHt1) grid on DS4=figure('Name','Type of signal',... 'Color','w','NumberTitle','off','Position',[50 50 500 200]); plot(w,Hdb1,'k') grid on 4.firequiripple % Thiet ke bo loc FIR thong thap pha tuyen tinh dung thuat toan Remez exchange. % Doan Hoa Minh M=input('Nhap chieu dai cua dap ung xung, M = '); dx=11; pdx=12; disp('Chon dieu kien doi xung, neu doi xung thi nhap: dx') disp(' , neu phan doi xung thi nhap: pdx') dk=input('Dieu kien doi xung : '); W=input('Nhap vector trong so,so phan tu bang so dai bang,... Vd: W=[1.2 1],W= '); disp('Nhap vector cac tan so c../Anh bang tan,... mot cap tan so cho moi ') disp('bang tan, cac tan so nay nam giua 0 va 1,... Vd F=[0 .1 .15 1]') F=input('F = '); disp('Nhap vector gia tri dap ung tan so mong muon A (gia tri thuc),') disp('tai cac diem tan so bang c../Anh, A co kich thuoc bang F') disp ('Vi du: A=[1 1 0 0]') A=input('A = '); N=M-1; if dk= =11 [hn,err]=remez(N,F,A,W) elseif dk= =12 [hn,err]=remez(N,F,A,W,'Hilbert') end w=0:0.001:pi; f=w./pi; H= freqz(hn,1,w); H1=20*log10(abs(H)); DS1=figure('Name','Impulse Response','Color','w',... 'NumberTitle','off','Position',[50 50 500 300]); 201 n=0:1:M-1; stem(n,hn,'filled','k') axis off DS1=figure('Name','Frequency Response', 'Color','w',... 'NumberTitle','off','Position',[50 50 500 300]); plot(f,abs(H),'k') grid on DS1=figure('Name','Frequency Response (dB)','Color','w',... 'NumberTitle','off','Position',[50 50 500 300]); plot(f,H1,'k') ylim([-100 10]) grid on 5. firsample % Thiet ke bo loc FIR thong thap pha tuyen tinh bang phuong phap lay may tan so. % Doan hoa minh 2001. %--------------------------------------------------------- M=input('Nhap chieu dai cua dap ung xung, M = '); dx=11; pdx=12; disp('Chon dieu kien doi xung, neu doi xung thi nhap: dx') disp(' , neu phan doi xung thi nhap: pdx') dk=input('Dieu kien doi xung : '); alpha=input('Chon he so alpha, alpha= '); disp('Voi h(n) dx k=[0:(M-1)/2] neu M le,... k=[0:(M/2)-1] neu M chan') disp('Voi h(n) pdx k=[0:(M-3)/2] neu M le,... k=[1:(M/2)] neu M chan') disp('Nhap dac tuyen tan so mong muon,... tai cac diem tan so wk=2*pi*k/M') if mod(M,2)= =0 U=M/2-1; else U=(M-1)/2; end for ii=1:U+1 %kk=int2str(ii); %disp('k = 'kk); Hrk(ii)=input('Hr(k) = '); end G=zeros(U+1,1); hn=zeros(M,1); for k=1:U+1 G(k)=((-1)^(k-1))*Hrk(k); end 202 if alpha= =0 if dk= =11 for n=1:M for k=2:U+1 hn(n)=hn(n)+G(k)*cos(pi*(k-1)*(2*(n-1)+1)/M); end hn(n)=(2*hn(n)+G(1))/M; end elseif dk = =12 if mod(M,2)= =1 for n=1:M for k=1:U+1 hn(n)=hn(n)-2*G(k)*sin(2*pi*(k-1)*((n-1)+0.5)/M)/M; end end else for n=1:M for k=1:U hn(n)=hn(n)-2*G(k)*sin(2*pi*k*((n-1)+0.5)/M)/M; end hn(n)=hn(n)+((-1)^(n))*G(U+1)/M; end end end elseif alpha= = 0.5 if dk= =11 for n=1:M for k=1:U+1 hn(n)=hn(n)+2*G(k)*sin(2*pi*(k-1+1/2)*((n-1)+0.5)/M)/M; end end elseif dk= =12 for n=1:M for k=1:U+1 hn(n)=hn(n)+2*G(k)*cos(2*pi*(k-1+1/2)*((n-1)+0.5)/M)/M; end end end end hn om=0:0.01:pi; if mod(M,2)= =0 Hr=hn(1).*cos(om.*((M-1)/2)); n=1; 203 while n<=U n=n+1; Hr=Hr+hn(n).*cos(om.*((M-1)/2-n+1)); end Hr=2.*Hr; else Hr=hn(1).*cos(om.*((M-1)/2)); n=1; while n<=(M-3)/2 n=n+1; Hr=Hr+hn(n).*cos(om.*((M-1)/2-n+1)); end Hr=2.*Hr; Hr=Hr+hn(U+1); end modunH=abs(Hr); DS1=figure('Name', 'Dap ung bien do', 'Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); plot(om,modunH,'k'); grid on modunHdb=20.*log10(modunH); DS2=figure('Name','Type of signal', 'Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); plot(om,modunHdb,'k'); grid on teta=-om.*(M-1)/2+angle(Hr); DS3=figure('Name','Dap ung pha','Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); plot(om,teta,'k'); grid on DS4=figure('Name','Dap ung xung', 'Color','w',... 'NumberTitle','off','Position',[50 50 400 300]); stem(hn,'filled','k'); grid on 6. dsphinh 5_15 % Ve dap ung tan so cua cua so chu nhat co chieu dai bang M=9, % M=51 va m=101. % Doan hoa minh 2001 om=0:0.001:pi; 204 M=9; W1=20*log10(abs(sin(om.*M/2)./sin(om./2))); DS1=figure('Name','Dap ung tan so cua cua so chu nhat M=9', 'Color','w','NumberTitle','off','Position',[50 50 500 200]); plot(om,W1,'k') title('M = 9'); xlabel('w (rad)'); ylabel('|W(w)|(dB)'); axis on grid on M=51; W2=20*log10(abs(sin(om.*M/2)./sin(om./2))); DS2=figure('Name',' Dap ung tan so cua cua so chu nhat M=51', 'Color','w','NumberTitle','off','Position',[50 50 500 200]); plot(om,W2,'k') title('M = 51'); xlabel('w (rad)'); ylabel('|W(w)|(dB)'); axis on grid on M=101; W3=20*log10(abs(sin(om.*M/2)./sin(om./2))); DS2=figure('Name','Dap ung tan so cua cua so chu nhat M=101', 'Color','w','NumberTitle','off','Position',[50 50 500 200]); plot(om,W3,'k') title('M = 101'); xlabel('w (rad)'); ylabel('|W(w)|(dB)'); axis on grid on function hh = stem1(varargin) % Hàm này được cải biên từ hàm stem của MATLAB, vẽ dãy rời rạc không có chấm trêm đầu. %STEM1 Discrete sequence or "stem" plot. % STEM1(Y) plots the data sequence Y as stems from the x axis % % STEM1(X,Y) plots the data sequence Y at the values specfied % in X. % STEM1(...,'LINESPEC') uses the linetype specifed for the stems and % markers. See PLOT for possibilities. % % H = STEM(...) returns a vector of line handles. % 205 % See also PLOT, BAR, STAIRS. % Copyright (c) by Doan Hoa Minh. % Date: 2000/6/4. nin = nargin; fill = 0; ls = '-'; ms = 'o'; col = ''; % Parse the string inputs while isstr(varargin{nin}), v = varargin{nin}; if ~isempty(v) & strcmp(lower(v(1)),'f') fill = 1; nin = nin-1; else [l,c,m,msg] = colstyle(v); if ~isempty(msg), error(sprintf('Unknown option "%s".',v)); end if ~isempty(l), ls = l; end if ~isempty(c), col = c; end if ~isempty(m), ms = m; end nin = nin-1; end end error(nargchk(1,2,nin)); [msg,x,y] = xychk(varargin{1:nin},'plot'); if ~isempty(msg), error(msg); end if min(size(x))= =1, x = x(:); end if min(size(y))= =1, y = y(:); end % Set up data using fancing ../indexing [m,n] = size(x); xx = zeros(3*m,n); xx(1:3:3*m,:) = x; xx(2:3:3*m,:) = x; xx(3:3:3*m,:) = NaN; [m,n] = size(y); yy = zeros(3*m,n); yy(2:3:3*m,:) = y; yy(3:3:3*m,:) = NaN; cax = newplot; next = lower(get(cax,'NextPlot')); hold_state = ishold; 206 h2 = plot(xx,yy,[col,ls],'parent',cax); if nargout>0, hh = h2; end
File đính kèm:
- giao_trinh_xu_ly_tin_hieu_so_i_do_huy_khoi.pdf