Tải bản đầy đủ (.doc) (6 trang)

đề tài môn xử lý tín hiệu số - các phương pháp tính tích chập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (132.42 KB, 6 trang )

B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
®Ò tµi 1
Các phương pháp tính tính chập
Nội dung :
1. Lý thuyết về tích chập
2. Các phương pháp tính tích chập
3. Ví dụ minh họa
1. Lý thuyết về tích chập
1.1 Định nghĩa phép tích chập:
Định nghĩa tích chập tuyến tính :
Tích chập tuyến tính giữa hai dãy x
1
(n) và x
2
(n) là dãy y(n) được xác định
và ký hiệu theo biểu thức sau :
)(*)()().()(
2121
nxnxnxxny
k
kk
=−=


−∞=
[1]
Tích chập tuyến tính thường được gọi ngắn gọn tích chập
1.2 Các tính chất của tích chập:
a. Tính giao hoán :
)(*)()(*)(
1221


nxnxnxnx
=
[2]
Chứng minh : Theo công thức định nghĩa tích chập [1.2-20] có


−∞=
−=
k
kk
nxxnxnx )().()(*)(
2121
Đổi biến cho biểu thức ở vế phải, đặt m = n - k ⇒ k = n - m
Khi k → - ∞ thì m → ∞ và khi k

∞ thì m → - ∞ , ta được :
∑∑
−∞
∞=

−∞=
−=−
mk
mxmnxnxx
kk
)().()().(
2121

Đảo cận và đổi biến m trở về k đối với biểu thức ở vế phải, ta được :
∑∑


−∞=

−∞=
−=−
kk
kkkk
nxxnxx )().()().(
1221
Đây chính là biểu thức [1.2-21] :
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH
B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
)(*)()(*)(
1221
nxnxnxnx =
b. Tính kết hợp :
[ ]
)(*)](*)([)(*)(*)(
321321
nxnxnxnxnxnx
=
[3]
Chứng minh : áp dụng tính giao hoán cho vế trái của [1.2-22] :

[ ]
==
)(*)](*)([)(*)(*)(
132321
nxnxnxnxnxnx
=−







−=
∑ ∑

−∞=

−∞=
)(.)(.)(
132
kkk
nxnxx
k k
=−






−=
∑ ∑

− ∞=

− ∞=

)(.)(.)(
312
kkk
nxnxx
k k
)(*)](*)([
321
nxnxnx
Đây chính là biểu thức ở vế phải của [3]
c. Tính phân phối :

[ ]
)(*)()(*)()()(*)(
3121321
nxnxnxnxnxnxnx
+=+
[4]
Chứng minh : Viết vế trái của [1.2-23] theo công thức tích chập [1.2-20] :
[ ]


− ∞=
−+−=+
k
kkk
nxnxxnxnxnx )]()().[()()(*)(
321321

[ ]
∑∑


− ∞=

− ∞=
−+−=+
kk
kkkk
nxxnxxnxnxnx )().()().()()(*)(
2121321
Vậy :
[ ]
)(*)()(*)()()(*)(
3121321
nxnxnxnxnxnxnx
+=+
Đây chính là biểu thức ở vế phải của [4].
2. Các phương pháp tính tích chập
2.1. Phương pháp giải tích tính tích chập
Tính tích chập bằng phương pháp giải tích chỉ thực hiện
được nếu x(n) hoặc h(n) có độ dài hữu hạn, và phải tính
từng giá trị của y(n).
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH
B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
Xét trường hợp tác động x(n) và đặc tính xung h(n) đều là
dãy nhân quả và có độ dài hữu hạn. Giả sử x(n) có độ dài
M, và h(n) có độ dài L , khi đó có thể dùng [1.5-18] hoặc
[1.5-19]. Nếu sử dụng [1.5-18] thì :
∑∑

=


=
−=−=
1
00
)()()()()(
M
kk
kkkk
nhxnhxny
[1.6-1]
Vì y(n) là dãy nhân quả, nên chỉ cần tính từ y(0). Do
0
)(
=−
k
nh
với mọi
0
)( <−
k
n

)()(
1
−>−
Lk
n
, theo [1.6-1] tính được :
)().( )().()().()().()(

0011000
1
0
hxhxhxhxy
M
k
kk
=++=−=



=
∑∑
=

=
−=+−++=−=
1
0
1
0
)().( )().()().()().()().()(
112011011
kk
kkkk
hxhxhxhxhxy
M




=
−−=−
1
0
)().()(
11
M
k
kLkL
hxy
∑∑∑

=

=

=
−=−+=−=
1
1
1
1
1
0
)().()().()().()().()(
0
MMM
kkk
kLkkLkLkLkL
hxhxhxhxy

∑∑

=

=
−+=−+=+
1
2
1
0
)().()().()(
111
MM
kk
kLkkLkL
hxhxy

∑∑

−=

=
−−+=−−+=−+
1
2
1
0
)().()().()(
333
M

M
M
kk
kMLkkMLkML
hxhxy
)().()().()(
1122
1
0
−−=−−+=−+


=
LMkMLkML
hxhxy
M
k
0111
)().()().()(
1
0
=−=−−+=−+


=
LMkMLkML
hxhxy
M
k
0

)(
=
ny
với mọi
)(
1
−+≥
ML
n
.
Như vậy : Nếu hệ xử lý số TTBBNQ có đặc tính xung h(n) hữu hạn với độ
dài L , và tác động x(n) hữu hạn có độ dài M, thì phản ứng y(n) có độ dài hữu
hạn N = (L + M – 1).
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH
B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
2.2. Thuật toán tính tích chập
Xét trường hợp tác động x(n) và
đặc tính xung h(n) đều có độ dài hữu
hạn. Giả sử x(n) có độ dài M, và h(n)
có độ dài L. Khi đó phản ứng y(n) có
độ dài N = (L + M -1). Mẫu y(n
0
) của
phản ứng được xác định theo [1.6-1] :


=
−=
1
0

00
)().()(
M
k
kk nhxny
[1.6-2]
Theo [1.6-2], trước hết xác định
dãy biến đảo h(-k) ứng với n
0
= 0. Sau
đó, tại mỗi điểm n
0
, tính tổng [1.6-2],
dịch phải dãy h(n
0
- k), rồi tăng n
0
lên
một.
Lặp lại các bước trên cho tới khi
n
0
= (N - 1) = (L + M - 2) , sẽ nhận
được N mẫu của phản ứng y(n).
Theo các bước như trên, xây dựng
được lưu đồ thuật toán tính tích chập
[1.6-1] trên hình 1.27.
Hình 1.27 : Thuật toán tính
tích chập [1.6-1].
2.3. Tính tích chập bằng cách lập bảng số liệu

Theo thuật toán trên hình 1.27, có thể tính tích chập [1.6-1] bằng cách lập
bảng số liệu các dãy x(k) , h(k), và h(-k), sau đó lần lượt dịch phải dãy h(-
k) để nhận được h(n
0
- k). Cuối cùng, dựa vào bảng số liệu đã có, tính các
mẫu y(n
0
) của phản ứng theo biểu thức [1.6-1] .
2.4. Tính tích chập bằng đồ thị
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH
Tạo dãy y(n)
N
= 0
Lấy đối xứng h(k)
M

,
nhận được h(-k)
M
Bắt đầu
Tạo dãy x(k)
L
= x(n)
L
và dãy h(k)
M
= h(n)
M
N = (L + M - 1)
N

0
= 0
n
0
= n
0

+ 1
Đúng
Kết thúc
Sai
n
0
= (N-
1)?


=
−=
1
0
00
)().()(
M
k
kk
nhxny
Dịch phải dãy
h(k - n
0

)
M
một mẫu
B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
Phương pháp đồ thị để tính tích chập [1.6-1] được thực hiện theo thứ
tự sau : Vẽ các đồ thị x(k), h(-k), sau đó lần lượt dịch phải đồ thị h(-k) để
nhận được các đồ thị h(n
0
- k). Dựa vào các đồ thị h(n
0
- k) , x(k) và theo
biểu thức [1.6-1], tính các mẫu y(n
0
) của phản ứng.
3. Ví dụ minh họa
Cài đặt thử nghiệm
• Input: x1(k),x2(l)( số mẫu mỗi tín hiệu <=50)
• Output: Y(ny)=x1(k)*x2(l)
Ngôn ngữ lập trình: Pascal.
******************** Chương trình *********************
program nhanchap;
var
st1,st2:string;
tam,y,x1,x2:array[-15 40] of real;
tg:real;
k,l,i,j,m,n,ny,t1,t2,vtc1,vtc2:integer;
{===================kiem tra xau==============}
procedure ktra(x:string;var vtd,dod:integer);
var ch,cht:string[1];
xauso:string;

len,i1,l1,dem,co2,vtk:integer;
doiso:real;
begin
ch:=copy(x,1,1);
len:=length(x);
if ch='{' then
begin
dem:=1;
xauso:='';
for i1:=2 to (len) do
begin
cht:=copy(x,i1,1);
if ((cht <> (',')) and (cht <> ('*')) and (cht<>'}')) then
xauso:=xauso+cht
else
if ((cht=',') or (cht='}')) then
begin
val(xauso,doiso,co2);
tam[dem]:=doiso;
xauso:='';
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH
B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “
if cht=',' then dem:=dem+1;
end

else vtk:=dem;
end;
vtd:=1-vtk;
dod:=dem;
end;

end;
{==============chuong trinh chinh===============}
begin
writeln('neu day tin hieu thi vi tri 0 thi nhap * phia sau so do');
Writeln('nhap tin hieu so huu han x1(n) ');readln(st1);
Writeln('nhap tin hieu so huu han x2(n) ');readln(st2);
ktra(st1,k,m);
for i:=1 to m do x1[k-1+i]:=tam[i];
ktra(st2,l,n);
for i:=1 to n do x2[l-1+i]:=tam[i];
if k<l then t1:=k else t1:=l;
t2:=t1;
for i:=k to m-1+k do
begin
ny:=t2;
for j:=l to n-1+l do
begin
tg:=x1[i]*x2[j];
y[ny]:=y[ny]+tg;
ny:=ny+1;
end;
t2:=t2+1;
end;
writeln;
for i:=t1 to ny-1 do write(y[i]:4:2,' ');
readln;
end.
Khoa cntt - trƯỜNG ĐẠI HỌC SPKT VINH

×