1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình thực tập chuyên đề phân tích và xử lý tín hiệu số (DSP)

54 2,1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 6,35 MB

Nội dung

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) BÀI 1: CÁC TÍN HIỆU CƠ BẢN 1.1 Định nghĩa: Tín hiệu là sự biến thiên biên độ theo thời gian. 1.2 Phân loại tín hiệu: Xét về dạng sóng và sự liên tục, người ta phân tín hiệu ra thành 2 loai cơ bản là tín hiệu tương tự (analog) hay liên tục thời gian và tín hiệu số (digital) hay rời rạc thời gian Tín hiệu biến thiên liên tục về biên độ là tín hiệu tương tự, thường đươc ký hiệu là x(t). Tín hiệu thời gian rời rạc được biểu diễn như một dãy số nguyên từ -∞ đến ∞, ký hiệu là x[n]. 1.3 Một số tín hiệu tương tự cơ bản: 1.3.1 Tạo sóng vuông f=10000; t=0:1/f:1.5; x=square(2*pi*50*t,50); plot(t,x); axis([0 0.1 -2 2]); 1.3.2 Tạo sóng sin f=10000; t=0:1/f:1.5; x=sin(2*pi*50*t); plot(t,x); axis([0 0.1 -2 2]); 1.3.3 Tạo sóng răng cưa f=10000; t=0:1/f:1.5; x=sawtooth(2*pi*50*t); plot(t,x); axis([0 0.1 -2 2]); Trang 1 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 1.4 Một số tín hiệu rời rạc cơ bản 1.4.1 Tạo xung lực đơn vị Dãy xung lực đơn vị có chiều dài N mẫu n=0:1:10; N=length(n); delta=[1 zeros(1,N-1)] stem(n,delta); axis([0 10 0 1.2]) Dãy xung lực đơn vị có chiều dài N bị trễ M mẫu (M<N) n=0:1:10; N=length(n); delta=[zeros(1,M) 1 zeros(1,N-1)]; stem(n,delta); axis([0 10 0 1.2]) Để biểu diễn tín hiệu xung lực đơn vị có dạng tổng quát Với 1 0 2 n n n≤ ≤ , ta dùng hàm Matlab có cú pháp sau : function [x,n] = imseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0)==0]; Trang 2 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 1.4.2 Tạo tín hiệu bậc đơn vị n=0:1:10; N=length(n); unit=[ones(1,N)]; stem(n,unit); axis([0 10 0 1.2]) Để biểu diễn tín hiệu bậc đơn vị có dạng tổng quát Với 1 0 2 n n n≤ ≤ , ta dùng hàm Matlab có cú pháp sau: function [x,n] = stepseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0)>=0]; 1.4.3 Tạo tín hiệu dốc đơn vị n=0:1:10; y=n; stem(n,y); 1.4.4 Tạo tín hiệu mũ thực n=0:1:20; y=0.9.^n; stem(n,y); Trang 3 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 1.4.5 Tạo tín hiệu mũ phức: n=0:1:10; y=exp((2+3j)*n; stem(n,y); 1.5 Các phép toán trên chuỗi tín hiệu rời rạc 1.5.1 Phép cộng hai tín hiệu Phép cộng hai tín hiệu trong Matlab được thực hiện bởi toán tử “+”. Tuy nhiên, chiều dài của hai tín hiệu phải bằng nhau. Nếu dài dài của hai tín hiệu khác nhau, hay gốc toạ độ của 2 chuỗi tín hiệu khác nhau thì ta không thể sử dụng trực tiếp toán tử “+”. Do đó , ta cần phải biến đổi x 1 (n) và x 2 (n) sao cho có cùng vị trí n trước khi thực hiện phép cộng hai tín hiệu. Phép cộng được thực hiện bởi hàm Matlab sau function[y n]=sigadd(x1,n1,x2,n2) n=min(min(n1),min(n2)):max(max(n1),max(n2)); y1=zeros(1,length(n)); y2=y1; y1(find(n>=min(n1))&(n<=max(n1))==1))=x1; y2(find(n>=min(n2))&(n<=max(n2))==1))=x2; y=y1+y2; 1.5.2 Phép nhân hai tín hiệu Phép nhân hai tín hiệu trong Matlab được thực hiện bởi toán tử “.*”. Tuy nhiên, giống như phép cộng, ta cần phải biến đổi 2 tín hiệu trược khi thực hiện phép nhân Phép nhân được thực hiện bởi hàm Matlab sau function[y n]=sigmult(x1,n1,x2,n2) n=min(min(n1),min(n2)):max(max(n1),max(n2)); y1=zeros(1,length(n)); y2=y1; y1(find(n>=min(n1))&(n<=max(n1))==1))=x1; y2(find(n>=min(n2))&(n<=max(n2))==1))=x2; y=y1.*y2; Trang 4 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 1.5.3 Phép dịch và gấp tín hiệu Tín hiệu x(n) được dịch chuyển đi n0 mẫu để tạo thành tín hiệu y(n)=x(n-n0). Đặt m=n-n0, ta có n=m+n0, tín hiệu y(n) được viết lại thành y(m+n0)=x(m). Đó đó thuật toán này không tác động vào tín hiệu x(n) mà chỉ có vecto n được dịch chuyển đi n0 mẫu Phép dịch được thực hiện bởi hàm Matlab sau: function[y n]=sigshift(x,m,n0) n=m+n0; y=x; Tín hiệu x(n) được gấp qua gốc n=0 để tạo thành tín hiệu y(n)=x(-n). Phép gấp được thực hiện bởi hàm Matlab sau: function[y n]=sigfold(x,n) y=fliplr(x); n=-fliplr(n); 1.6 Bài tập 1>Vẽ tín hiệu lũy thừa thực có biểu thức x(n)=0.2(1.2) n .Vẽ lại tín hiệu trên sau khi đã trì hõan N=10 mẫu. 2> Vẽ tín hiệu sin thực rời rạc thờ i gian x(n)=1.5 sin(0.2πn).Tín hiệu tuần hoàn với chu kỳ, tần số bao nhiêu? Trang 5 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) Biến đổi chương trình trên để vẽ và hiển thị dãy có chiều dài N=50 mẫu, tần số 0.08, biên độ 2.5 và độ dịch pha 90 o . 3>Vẽ tín hiệu sin phức x[n]=e (-0.1+j0.3)n với 10 10n− ≤ ≤ . Vẽ các thành phần biên độ, pha, phần thực và phần ảo trong 4 đồ thị riêng 4> Cho tín hiệu x(n)=[1,2,3,4,5,6,7,6,5,4,3,2,1]. Vẽ các tín hiệu sau a) x 1 (n)=2x(n-5)-3x(n+4) b) x 2 (n)=x(3-n)+x(n)x(n-2) 5> Viết chương trình tạo một hàm Matlab thực hiện việc tách tín hiệu thành hai phần chẵn và lẻ với quy định sau: function [xe,xo,m]=evenodd(x,n) Ứng dụng hàm vừa viết để vẽ thành phần chẵn và lẻ của tín hiệu x(n)=u(n)-u(n-10) Trang 6 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) CHƯƠNG 2: PHÂN TÍCH TÍN HIỆU VÀ HỆ THỐNG LTI TRONG MIỀN THỜI GIAN 2.1 Định nghĩa Hệ thống rời rạc thời gian: còn được gọi là hệ thống xử lý tín hiệu số, biến đổi tín hiệu x[n] thành tín hiệu y[n] với những tính chất mong muốn.Thường ta giả sử hệ thống rời rạc thời gian là tuyến và bất biến thời gian (linear and invariant time-LTI) để thuận lợi trong việc phân tích và thiết kế. Hệ thống cũng thường được giả sử là nhân quả và thư giãn. Phân tích hệ thống là tìm tín hiệu ra, còn gọi là đáp ứng,đối với tín hiệu vào khi hệ thống đã được biết. Đáp ứng xung::đáp ứng xung là tín hiệu ra của hệ thống khi tín hiệu vào là xung lực đơn vị. Lọc (filter) là thuật ngữ chung dùng để chỉ một hệ thống tuyến và bất biến thời gian được thiết kế cho việc lọc lựa tần số. do đó, một hệ thống LTI rời tạc thời gian còn được gọi là bộ lọc số. Có 2 loại lọc số chính Lọc FIR: Nếu đáp ứng xung của hệ thống LTI là hữu hạn thời gian thì hệ thống được gọi là lọc FIR Lọc IIR: Nếu đáp ứng xung của hệ thống LTI là vô hạn thời gian thì hệ thống được gọi là lọc IIR 2.2 Đáp ứng xung và phương trình sai phân Trong Matlab người ta sử dụng lệnh h=impz(num,den,N) để tính đáp ứng xung của hệ thống thời gian rời rạc LTI. Với num: là các hệ số tín hiệu vào, den: hệ số các tín hiệu ra,N: số đáp ứng xung. Để mô phỏng các hệ thống rời rạc thời gian LTI nhân quả có phương trình sai phân 0 0 [ ] [ ] N M k m k m a y n k b x n m = = − = − ∑ ∑ Trong Matlab ta có thể sử dụng lệnh y=filter(num,den,x) hay y=filter(num,den,x,ic) Với ic=[y[-1] y[-2] …y[-N]] là vecto điều kiện ban đầu Ví dụ: Tính và vẽ 50 đáp ứng xung của hệ thống có phương trình sai phân sau: y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2] Chương trình: clf; N=50; num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75]; h=impz(num,den,N); stem(h); Trang 7 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 2.3 Một số tính chất của hệ thống 2.3.1. Tính chất tuyến tính và phi tuyến Nếu a 1 x 1 [n]+a 2 x 2 [n] a 1 y 1 [n]+a 2 y 2 [n], a 1 và a 2 là hằng số thì hệ thống là tuyến tính, nếu không hệ thống là phi tuyến Hệ thống tuyến tính là hệ thống có quan hệ bậc nhất giữa phản ứng và tác động, đồng thời thoả mãn nguyên lý xếp chồng Ví dụ : Khảo sát tính chất tuyến tính của hệ thống có phương trình sai phân sau: y[n]=2.2403x[n] + 2.4908x[n-1] + 2.2403x[n-2] + 0.4y[n-1] với x 1 [n]= cos(0.2πn), x 2 [n]=cos(0.8πn), a=2, b=-3. Chương trình: a=2; b=-3; x1=cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x=a*x1+b*x2; num=[2.2403 2.4908 2.2403]; den=[1 -0.4]; y1=filter(num,den,x1); y2=filter(num,den,x2); y=filter(num,den,x); yt=a*y1+b*y2; d=y-yt; subplot(3,1,1); stem(n,y); subplot(3,1,2); stem(n,yt); subplot(3,1,3); stem(n,d); Trang 8 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật Lý- Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 2.3.2. Tính chất bất biến thời gian Nếu y’[n-k]=y[n-k]: hệ thống bất biến thời gian Nếu y’[n-k]≠y[n-k]: hệ thống bất biến thời gian Hệ thống bất biến thời gian là hệ thống hễ có tác động x(n) dịch k mẫu thì phản ứng y(n) cũng chỉ dịch cùng chiều k mẫu mà không bị biến đổi dạng. Ví dụ : Khảo sát tính bất biến thời gian của hệ thống có phương trình sai phân sau y[n]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]+0.4y[n-1] với tín hiệu vào x[n]=0.3cos(0.2πn)-2cos(0.8πn). Chương trình clf; n=0:40; n0=10; a=0.3; b=-2; xn=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n); xn0=[zeros(1,n0) xn]; num=[2.2403 2.4908 2.2403]; den=[1 -0.4]; yn=filter(num,den,xn); yn0=filter(num,den,xn0); dn=yn-yn0(1+n0:41+n0); subplot(3,1,1); stem(n,yn); subplot(3,1,2); stem(n,yn0(1:41)); subplot(3,1,3); stem(n,dn); Trang 9 2.3.3. Tính chất ổn định Một hệ thống LTI ổn định theo nghĩa BIBO khi và chỉ khi đáp ứng xung đơn vị của nó có tổng tuyệt đối. Đối với hệ thống IIR thì điều kiện cần để hệ thống này ổn định là đáp ứng xung của hệ phải suy giảm tới 0 khi số lượng mẫu đủ lớn. Để kiểm tra tính ổn định của hệ thống,đáp ứng xung đơn vị được đánh giá theo công thức Khi k tăng và kiểm tra các giá trị của |h(k)| tại mỗi bước 1ặp.Nếu giá trị của |h(k)| nhỏ hơn 10 -6 thì có thể coi tổng S(k) hội tụ Ví dụ: Kiểm tra tính ổn định của hệ thống LTI có phương rình sai phân: y[n]=x[n]-0.8x[n-1]-1.5y[n-1]-0.9y[n-2] Chương trình: clf; num=[1 -0.8]; den=[1 1.5 0.9]; N=200; h=impz(num,den,N+1); sum=0; for k=1:N+1; sum=sum+abs(h(k)); if abs(h(k))<10^(-6),break,end end n=0:N; stem(n,h); disp('Value='); disp(abs(h(k))); Value= 1.6761e-005 2 .4 Nhân chập Quan hệ vào/ra của hệ thống LTI được xác định bởi tổng nhân chập: ∞ [ ] [ ] [ ] [ ] [ ] k k y n h k x n k x k h n k ∞ ∞ =−∞ =−∞ = − = − ∑ ∑ Và được ký hiệu bằng y(n)=x(n)*h(n) Hàm nhân chập của Matlab là hàm conv với cú pháp y=conv(x1,x2). Tuy nhiên hàm conv này mặc định 2 tín hiệu được nhân chập có tín hiệu bắt đầu tại n=0 Đối vớ i việc xử lý tín hiệu hai chiều ta dùng hàm nhân chập y=covn2(x1,x2) Ví dụ : Thực hiện nhân chập 2 tín hiệu sau.Tìm tín hiệu ra y(n) h(n)=[0,1,2,1,-1,0] và x(n)= [0,1,2,3,1,0] Chương trình h=[3 11 7 0 -1 4 2]; [...]... (recursive) và phi đệ quy (nonrecursive)  Lọc phi đệ quy: Lọc mà tín hiệu ra chỉ phụ thuộc vào tín hiệu vào được gọi là phi đệ quy Phương trình hiệu số của lọc đệ quy là Trong đó bk là các hệ số của lọc cũng chính là đáp ứng xung của hệ thống Trên thực tế N sẽ là số hữu hạn vì thế lọc phi đệ quy thực tế là lọc FIR  Lọc đệ quy: là lọc mà tín hiệu ra phụ thuộc vào tín hiệu vào ở mọi thời điểm và cả tín hiệu. .. DSP(Digital Signal Processor) chuyên dụng Tín hiệu tương tự ở ngõ vào đầu tiên phải được lấy mẫu và số hóa bằng bộ ADC Kết quả thu được sẽ là một chuỗi số nhị phân và được đưa tới bộ xử lý thực hiện các phép tính trên chúng Những phép tính này chủ yếu là những phép nhân với hằng số và phép cộng những tích số lại với nhau Kết quả cuối cùng sau khi lọc số được chuyển đổi lại thành tín hiệu tương tự thông qua... thống có phương trình sai phân y[n]=x[n]-4y[n-1]+3x[n-2]+1.7y[n-1]-y[n-2] Hệ thống này có ổn định không? 3 Thực hiện nhân chập 2 tín hiệu sau x[n]= [0 1 2 3 4 0], h[n]=[0,2,0,2,0] BÀI 3: LẤY MẪU VÀ KHÔI PHỤC TÍN HIỆU 3.1 Lấy mẫu tín hiệu 3.1.1 Định lý lấy mẫu Sự lấy mẫu tín hiệu: là đổi một tín hiệu liên tục thời gian thành tín hiệu rời rạc thờ i gian, còn được gọi là tín hiệu số Vấn đề lấy mẫu phải... length(n)-1 -1.2 1.2]) 3.1.3 Tín hiệu không tuần hoàn và phổ biên độ trong miền tần số Để biểu diễn tín hiệu tương tự trong miền tần số, ta có thể sử dụng biến đổi Fourier liên tục thời gian để phân tích và vẽ tín hiệu Ví dụ: Cho tín hiệu tương tự xa(t)=e(-1000|t|) Xác định và vẽ tín hiệu trong miền tần số Giải: Từ công thức biến đổi Fourier liên tục thời gian Ta được phân tích Để xác định được phổ biên... = 0.0363 error = 0.1852 3.4 Bài tập Cho tín hiệu tương tự x a(t)=sin(20π t),0 ≤ t ≤ 1 Tín hiệu được lấy mẫu tại Ts=0.01s, 0.05s và 0.1s để có tín hiệu rời rạc x(n) a) Với mỗi Ts, vẽ x(n) tương ứng b) Khôi phục tín hiệu ya(t) từ các tín hiệu x(n) trên dùng hàm sinc (cho Δt=0.001) và nhận xét cho mỗi trường hợp BÀI 4 : PHÂN TÍCH TÍN HIỆU VÀ HỆ THỐNG LTI TRONG MIỀN TẦN SỐ-BIẾN ĐỔI Z 4.1 Biến đổi Fourier... Bài tập 1 Cho hàm x[n] =cos(0.48πn)+cos(0.52π n) a) Tìm và vẽ DFT của x[n] với N=10 b) Lặp lại câu a với N=100 2 Biến đổi chương trình ví dụ của bài tích chấp vòng để cho ra kết quả giống tích chập thẳng 3 Tính FFT và phân tích phổ của hàm cho ở câu 1 với N=16, số điểm tính FFT là 128 điểm Bài 6: THIẾT KẾ MACH LỌC FIR 6.1 Giới thiệu về lọc tương tự và lọc số 6.1.1 Tổng quan và phân lọai Trong xử lý tín. .. thống hi-fi và nhiều lĩnh vực khác Trong việc thiết kế mạch lọc tương tự , có những kỹ thuật theo những tiêu chuẩn đã được xây dựng cho những yêu cầu nhất định Tại tất cả các tầng của mạch lọc, tín hiệu được lọc thường là tín hiệu điện thế hay dòng điện có sự tương ứ ng với các tính chất vật lý liên quan  Lọc số: sử dụng bộ xử lý số thực hiện những phép tính số học hay lấy mẫu tín hiệu Bộ xử lý có thể... gian Tín hiệu này được lấy mẫu với chu kỳ Ts Tín hiệu được lấy mẫu tại thời điểm T = nTs là x i=x(nTs) Do đó tín hiệu được đưa đến bộ xử lý là một chuỗi các tín hiệu có ký hiệu : x 0, x1, x2, x3, ,xn tương ứng với giá trị của tín hiệu tại các thời điểm T = 0, Ts, 2Ts, 3Ts, … với T=0 là thời điểm bắt đầu lấy mẫu Tại thời điểm T = nTs, với n là số nguyên dương, các giá trị được lưu trong bộ nhớ của bộ xử. .. phúc hồi lại tín hiệu tương tự ban đầu khi cần Để các mẫu biểu diễn đúng tín hiệu tương tự, tức từ các mẫu ta có thể phục hồi tín hiệu tương tự ban đầu, tốc độ lấy mẫu phải lớn hơn hay ít nhất là bằng hai lần tần số cao nhất của tín hiệu tương tự Để giữ cho tần số lấy mẫu fS không lớn lắm thì fM phải được giới hạn bằng một lọc thông thấp thật hiệu quả (cắt bỏ tất cả tần số lớn hơn fM của tín hiệu tương... tượng này ta phải dùng tiền lọc chống biệt danh trước khi thực hiện việc lấy mẫu Ví dụ: Thực hiện lấy mẫu tín hiệu xa(t)=e(1000|t|) tại các tần số khác nhau Vẽ phổ biên độ của tín hiệu a) Fs=5000Hz, tín hiệu rời rạc thu được là x1(n) Do tần số tối đa của tín hiệu là fM=2000Hz nên Fs>2fM, không xảy ra hiện tượng biệt danh (chồng phổ) Chương trình Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); . 4 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật L - Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) 1.5.3 Phép dịch và gấp tín hiệu Tín hiệu x(n). 6 Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật L - Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) CHƯƠNG 2: PHÂN TÍCH TÍN HIỆU VÀ HỆ THỐNG. Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4 Khoa Vật L - Vật Lý Kỹ Thuật, Bộ Môn Vật Lý Điện Tử Phân Tích Và Xử Lý Tín Hiệu Số (DSP) BÀI 1: CÁC TÍN HIỆU CƠ BẢN 1.1 Định nghĩa: Tín hiệu

Ngày đăng: 04/06/2015, 16:57

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w