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)

62 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 62
Dung lượng 6,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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ố DSPBÀI 1: CÁC TÍN HIỆU CƠ BẢN 1.1 Định

Trang 1

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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:

Trang 2

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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

Trang 3

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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ị

Để biểu diễn tín hiệu bậc đơn vị có dạng tổng quát

Với n1n0 n2 , ta dùng hàm Matlab có cú pháp sau:

Trang 4

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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)

Phép cộng được thực hiện bởi hàm Matlab sau

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épcộ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

Trang 5

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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)

Trang 6

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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 90o

3>Vẽ tín hiệu sin phức x[n]=e (-0.1+j0.3)n với 10 n 10 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) x1(n)=2x(n-5)-3x(n+4)

b) x2(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

Trang 7

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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ạilọ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 FIRLọ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

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:

Trang 8

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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

Trang

8

Trang 9

Trường Đại Học Khoa Học Tự Nhiên Giáo Trình Thực Tập Chuyên Đề 4Khoa 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)

Nếu a1x1[n]+a2x2[n] a1y1[n]+a2y2[n], a1 và a2 là hằng số thì hệ thống là tuyến tính, nếu không hệ thống là phi tuyến

Trang 9

Trang 10

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:

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

ứ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]

Trang 11

với tín hiệu vào x[n]=0.3cos(0.2πn)-2cos(0.8πn)

Trang 12

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ổngtuyệ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ảisuy 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

Trang 14

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)

Trang 15

Để tính nhân chập cho 2 tín hiệu có gốc n=0 tại 1 giá trị bất kỳ ta dùng hàm Matlab sau

Để giải nhân chập,hay là việc chia một đa thức cho một đa thức người ta sử dụng cú pháp trong Matlab

[p r]=deconv(b,a) Lệnh này thực hiện việc tính toán chia đa thức b cho đa thức a được kết quả là đa

Trang 16

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

Trang 17

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 như thế nào để từ các mẫu người ta có thể 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ự)

3.1.2 Lấy mẫu tín hiệu hình sin

Vì Matlab không thể phát ra tín hiệu thời gian liên tục đúng nghĩa của nó được, nên ta sẽ phát ra dãy {xa[nT]} từ xa(t) bằng cách lấy mẫu nó với tần số rất cao sao cho các mẫu lấy rất sát nhau giống như

tín hiệu thời gian liên tục.: xa(t)= sin(2πft)

xlabel( 'Thoi gian' );

ylabel( 'Tin hieu thoi gian lien tuc' );

xlabel( 'Chi so thoi gian' );

ylabel( 'Tin hieu thoi gian roi rac' );

axis([0 length(n)-1 -1.2 1.2])

Trang 18

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ờigian để 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

tự để Xa(jΩ) ≈0 thì ta tìm được tần số tối đa là 2π(2000).Ω) ≈0 thì ta tìm được tần số tối đa là 2π(2000).) ≈0 thì ta tìm được tần số tối đa là 2π(2000)

Tín hiệu được vẽ theo chương trình sau:

xlabel( 't in msec.' ); ylabel( 'xa(t)' )

title( 'Analog Signal' )

subplot(2,1,2);plot(W/(2*pi*1000),Xa*1000);

xlabel( 'Frequency in KHz' ); ylabel( 'Xa(jW)*1000' )

title( 'Continuous-time Fourier Transform' )

Trang 19

3.2 Hiện tượng biệt danh (chồng phổ)

Khi tín hiệu được lấy mẫu dưới mức, tức lấy mẫu ở tần số chậm hơn tốc độ Nyquist, thì khi tái lập tín hiệu bằng cách lọc thì thành phần tần số cao của phổ lặp sẽ lẫn vào thành phần tần số cao củaphổ trung tâm, và như vậy tín hiệu được tái

lập sẽ không đúng.Về mặt thời gian, người ta

gọi

hiện tượng này là biệt danh (tên giả).Còn về

mặt tần số người ta gọi hiện tượng này là

chồng phổ

Để khắc phục hiện 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

xlabel( 't in msec.' ); ylabel( 'xa(t)' )

title( 'Discrete Signal' ); hold on

stem(n*Ts*1000,x); hold off

subplot(2,1,2);plot(w/pi,X);

xlabel( 'Frequency in pi units' ); ylabel( 'X(w)' )

title( 'Discrete-time Fourier Transform' )

b) Fs=1000Hz, tín hiệu rời rạc thu được là x2(n)

Fs < 2FM nên tín hiệu được lấy mẫu dưới mức và xảy ra hiện tượng chồng phổ trong miền tần sốChương trình

Dt = 0.00005;

t = -0.005:Dt:0.005;

Trang 20

xlabel( 't in msec.' ); ylabel( 'xa(t)' )

title( 'Discrete Signal' ); hold on

stem(n*Ts*1000,x); hold off

subplot(2,1,2);plot(w/pi,X);

xlabel( 'Frequency in pi units' ); ylabel( 'X(w)' )

title( 'Discrete-time Fourier Transform' )

3.3 Khôi phục tín hiệu

Chuyển từ dạng tín hiệu rời rạc x(nT) sang dạng tín hiệu tương tự x(t) Quá trình khôi phục tínhiệu bao gồm 2 bước ;

- Bước 1: các mẫu được chuyển đổi thành chuỗi các xung trọng số

- Bước 2: Chuỗi xung được lọc thông qua một lọc thông thấp lý tưởng có băng thông giới hạn

từ [-Fs/2 Fs/2 ]

Trang 21

Hai quá trình này được thực hiện bằng cách sử dụng công thức toán học sau

Với sinc(x)=sinπx/πx

Hình ảnh minh hoạ cho qúa trình khôi phục tín hiệu

Thực hiện các lệnh trong Matlab trong trường hợp tổng quát như sau:

n=n1:n2;t=t1:t2;Fs=1/Ts;nTs=n*Ts;

xa=x*sinc(Fs*(ones(length(n),1)*t-nTs'*ones(1,length(t))));

Trang 22

Ví dụ: Khôi phục tín hiệu x1(n) và x2(n) thành tín hiệu xa(t) từ ví dụ trên dùng hàm sinc(x)

xlabel( 't in msec.' ); ylabel( 'xa(t)' )

title( 'Reconstructed Signal from x1(n) using sinc function' ); hold on

stem(n*Ts*1000,x); hold off

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ỗitrường hợp

Trang 23

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 rời rạc thời gian DTFT

Dùng cho các tín hiệu không tuần hoàn và x(n) hiện hữu ở mọi thời gian

Biến đổi DTFT thuận và nghịch

Biến đổi Fourier hiện hữu nếu chuỗi hội tụ, tức

Ví dụ 1: Xác định DTFT của tín hiệu x(n)=(0.5)nu(n) Vẽ tín hiệu X(ejΩ) ≈0 thì ta tìm được tần số tối đa là 2π(2000).ω) với 501 điểm trong khoảng[0,∏ ] với 4 thành phần: phổ biên độ, phổ pha, phần thực và phần ảo

Chương trình

w = [0:1:500]*pi/500;

X = exp(j*w) / (exp(j*w) - 0.5*ones(1,501));

magX = abs(X); angX = angle(X);

realX = real(X); imagX = imag(X);

subplot(2,2,1); plot(w/pi,magX); grid

xlabel( 'frequency in pi units' ); title( 'Magnitude Part' ); ylabel( 'Magnitude' )

subplot(2,2,3); plot(w/pi,angX); grid

xlabel( 'frequency in pi units' ); title( 'Angle Part' ); ylabel( 'Radians' )

subplot(2,2,2); plot(w/pi,realX); grid

xlabel( 'frequency in pi units' ); title( 'Real Part' ); ylabel( 'Real' )

subplot(2,2,4); plot(w/pi,imagX); grid

xlabel( 'frequency in pi units' ); title( 'Imaginary Part' ); ylabel( 'Imaginary' )

 Nếu x(n) là một chuỗi xác định N giá trị trong khoảng [n1,n2] thì DTFT trong Matlab được viết như sau:

Trang 24

Ví dụ 2: xác định và vẽ DTFT cho tín hiệu sau: x(n)=[1 2 3 4 5] với 501 điểm trong khoảng [0,∏ ] Chương trình

n = -1:3; x = 1:5;

k = 0:500; w = (pi/500)*k;

X = x * (exp(-j*pi/500)) ^ (n'*k);

magX = abs(X); angX = angle(X);

realX = real(X); imagX = imag(X);

subplot(2,2,1); plot(w/pi,magX); grid

xlabel( 'frequency in pi units' ); title( 'Magnitude Part' ); ylabel( 'Magnitude' )

subplot(2,2,3); plot(w/pi,angX); grid

xlabel( 'frequency in pi units' ); title( 'Angle Part' ); ylabel( 'Radians' )

subplot(2,2,2); plot(w/pi,realX); grid

xlabel( 'frequency in pi units' ); title( 'Real Part' ); ylabel( 'Real' )

subplot(2,2,4); plot(w/pi,imagX); grid

xlabel( 'frequency in pi units' ); title( 'Imaginary Part' ); ylabel( 'Imaginary' )

Kết quả ví dụ 1 Kết quả ví dụ 2

4.2 Đáp ứng tần số của hệ thống LTI

Nếu hệ thống LTI có đáp ứng xung h[n], thì đáp ứng tần số của nó được xác định bằng DTFT h[n]

Trang 26

H(ejΩ) ≈0 thì ta tìm được tần số tối đa là 2π(2000).ω) là một hàm phức của ω tuần hoàn với chu kỳ 2π nên có thể biểu diễn dưới dạng

Trang 27

Trong đó, |H(Ω) ≈0 thì ta tìm được tần số tối đa là 2π(2000).)| được gọi là đáp ứng biên độ,Φ(Ω) ≈0 thì ta tìm được tần số tối đa là 2π(2000).) gọi là đáp ứng pha.

Đáp ứng tần số của hệ thống có thể được viết từ phương trình sai phân tuyến tính hệ số hằng mô tả mô

tả quan hệ vào/ra của hệ thống đó và được biểu diễn dưới dạng các hệ số của lọc

Trang 28

Đáp ứng tần số được tính bằng lệnh có cú pháp h=freqz(b,a,w).

Trong đó a,b là các hệ số của phương trình trên và w là khảong giá trị tần số tính đáp ứng

Trang 29

Ví dụ: Tính đáp ứng tần số và đáp ứng pha của hệ thống LTI có biểu thức sau:

Trang 30

4.3.2 Biến đổi z ngược

Biến đổi z ngược được định nghĩa như sau

Trong đó C là vòng tròn kín bao quanh gốc toạ độ nằm trong vùng hội tụ của X(z)

Phép biến đổi z cho phép chúng ta phục hồi lại dãy tín hiệu rời rạc x(n) khi biết biến đổi z của nó Phépbiến đổi z ngược thường được sử dụng để tìm đáp ứng xung của lọc số

Để tính biến đổi z ngược bằng phương pháp thặng dư, ta sử dụng hàm residuez để khai triển X(z) thành

các phân thức riêng sau đó dùng bảng biến đổi z để biến đổi z ngược cho mỗi phân thức riêng

Khi dùng hàm residuez, X(z) phải được viết dưới dạng hữu tỷ trong đó tử số và mẫu số là những đa

thức viết theo luỹ thừa tăng dần của z-1

Cú pháp hàm trong Matlab như sau: [R,p,C]=residuez (b,a)

Với b,a là hai vecto chứa hệ số của hai đa thức B(z) và A(z)

Vecto R chứa giá trị thặng dư, vecto p chưa các giá trị cực và vecto C chứa các số hạng trực tiếp

Ví dụ: Thực hiện khai triển từng phần cho biểu thức sau

Trang 31

C = []

Trang 32

Trong đó G là thừa số độ lợi

z1,z2, ,zN là các không của X(z), N là bậc của đa thức tử số

p1,p2, ,pM là các cực của X(z), M là bậc của đa thức mẫu số

Vị trí các cực và các không trong mặt phẳng z được gọi là giản đồ cực-không, hay phân bố cực-không

Trong Matlab, giản đồ cực-không được vẽ bằng lệnh zplane Hàm này có 2 cách gọi:

- Nếu X(z) có dạng hàm chuyển thì sư dụng lệnh zplane(num,den) với num, den là hệ số

của các đa thức ở từ số và mẫu số

- Nếu các điểm không và điểm cực của hệ thống đã được cho thì dùng lệnh

zplane(zeros,poles) với zeros,planes là các vecto chứa các điểm không và cực.

Trong Matlab, việc xác định các điểm cực, không của hệ thống có hàm truyền hữu tỷ được thực

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

HÌNH ẢNH LIÊN QUAN

Hình ảnh minh hoạ cho qúa trình khôi phục tín hiệu - Giáo trình thực tập chuyên đề phân tích và xử lý tín hiệu số (DSP)
nh ảnh minh hoạ cho qúa trình khôi phục tín hiệu (Trang 21)

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

🧩 Sản phẩm bạn có thể quan tâm

w