Professional Documents
Culture Documents
THC HNH X L TN
HIU S
Bin son:
ThS. Phm Hng Kim Khnh
www.hutech.edu.vn
MC LC
MC LC
MC LC ................................................................................................................... 1
HNG DN .............................................................................................................. 3
HNG DN
II
I
HNG DN
M T MN HC
Thc hnh x l tn hiu s l mn hc h tr cho mn X l tn hiu s ca chuyn
ngnh K thut in t Truyn thng. Mn hc ny da trn MATLAB kim chng
cc l thuyt hc trong mn X l tn hiu s.
NI DUNG MN HC
Bi 2: Tn hiu ri rc theo thi gian: cch biu din tn hiu v h thng ri rc theo
thi gian, cc tnh cht v p ng xung ca h LTI.
Bi 3: Bin i z v z ngc: chuyn tn hiu t min thi gian sang min z, cc tnh
cht ca bin i z v chuyn tn hiu hu t trn min z sang min thi gian.
Bi 4: Bin i Fourier ri rc: chuyn tn hiu ri rc trn min thi gian sang min
tn s, dng cc thut ton FFT xc nh bin i Fourier ri rc.
YU CU MN HC
Ngi hc phi d hc y cc bui ln lp v lm bi tp y .
PHNG PHP NH GI MN HC
Mn hc c nh gi gm:
BI 1: PHN MM MATLAB
BI 1: PHN MM MATLAB
Sau khi hc xong bi ny, ngi hc c th:
BI 1: PHN MM MATLAB
Ca s lm vic ca MATLAB:
Th mc
hin hnh
Workspace: cc
bin trong b nh
hin c trong th
mc hin hnh
Ca s lnh
Nt Start: cha
Cc lnh
cc toolbox
thc hin
BI 1: PHN MM MATLAB
Gii thch on chng trnh trn: Dng 1 l dng ch thch, cc chui pha sau du
% s khng c dch. Dng 2 nh ngha vector x trong khong t 0 n 2 v mi gi
tr cch nhau mt khong /6. Dng 3 gn bin y = sin(x) v dng 4 v th trong
x l trc honh v y l trc tung.
Ca s Command History:
Cc dng nhp trong Command window (cc dng ny c th l dng nhp bin,
c th l dng lnh) c gi li trong ca s Command History v ca s ny cho php
ta s dng li nhng lnh bng cch nhp p chut ln cc lnh hay bin
Ca s Workspace:
BI 1: PHN MM MATLAB
Nt Start:
Ca s Edit:
L ca s dng son tho chng trnh ng dng, c khi ng bng lnh edit
trong Command Window. Chng trnh son tho trong ca s edit c 2 dng:
+ Dng Script file : tp hp cc cu lnh vit di dng lit k, khng c bin d liu
vo v bin ra.
+ Dng function: c bin d liu vo v bin ra.
1.2 CC VN C BN
1.2.1 Cc php ton v ton t
hip).
Cc ton t quan h : < , <= , > , >= , == , ~=
Cc ton t logic : & , | (or) , ~ (not)
Cc hng:
pi
3.14159265
BI 1: PHN MM MATLAB
i, j
s o
eps
sai s 2-52
realmin
realmax
inf
v cng ln
NaN
Not a number
Ch :
+ Cc lnh kt thc bng du chm phy, MATLAB s khng th hin kt qu
trn mn hnh.
+ Cc ch thch c t pha sau du %.
+ Trong qu trnh nhp nu cc phn t trn mt hng di qu ta c th
xung dng bng ton t ba chm (. . .)
10
BI 1: PHN MM MATLAB
1.3.2 Switch
C php ca switch nh sau:
switch <biu thc>
case n1
<lnh 1>
case n2
<lnh 2>
. . . . . . . . . . . . . . .
case nn
<lnh n>
Otherwise
<lnh n+1>
end
1.3.3 While
Vng lp while dng khi khng bit trc s ln lp. C php ca n nh sau:
while <biu thc>
<pht biu>
end
BI 1: PHN MM MATLAB
11
1.3.4 For
Vng lp for dng khi bit trc s ln lp. C php nh sau:
for <ch s>=<gi tr u>:<mc tng>:<gi tr cui>
1.3.5 Break:
Pht biu break kt thc vng lp for hay while m khng quan tm n iu kin
kt thc vng lp tho mn hay cha.
1.4 MA TRN
1.4.1 Cc thao tc trn ma trn
1.4.1.1 Nhp ma trn
Ma trn l mt mng c m hng v n ct. Trng hp ma trn ch c mt phn t
(ma trn 1x1) ta c mt s. Ma trn ch c mt ct hay mt hng c gi l mt vector.
Ta c th nhp ma trn vo MATLAB bng nhiu cch:
Nhp mt danh sch cc phn t t bn phm.
Np ma trn t file.
To ma trn nh cc hm c sn trong MATLAB.
To ma trn nh hm t to.
Khi nhp ma trn t bn phm ta phi tun theo cc quy nh sau:
Ngn cch cc phn t ca ma trn bng du , hay khong trng.
Dng du ; kt thc mt hng.
Bao cc phn t ca ma trn bng cp du ngoc vung [ ].
1.4.1.2 Ch s
Phn t hng i ct j ca ma trn c k hiu l A(i,j). Tuy nhin, ta cng c th tham
chiu ti phn t ca mng nh mt ch s, v d A(k). Trong trng hp ny, ma trn
c xem l mt ct di to t cc ct ca ma trn ban u.
Nh vy vit A(8) c ngha l tham chiu phn t A(4, 2) (nu ma trn c 4 hng).
Lu rng cc ch s ca ma trn thng bt u t 1.
1.4.1.3 Ton t :
12
BI 1: PHN MM MATLAB
Ton t : l mt ton t quan trng ca MATLAB. N xut hin nhiu dng khc
nhau. Biu thc 1:10 l mt vector hng cha 10 s nguyn t 1 n 10.
>>1:10
>>100:7:50 %to dy s t 100 n 51, cch u nhau 7
>>0: pi/4: pi %to mt dy s t 0 n , cch u nhau /4
Cc biu thc ch s c th tham chiu ti mt phn ca ma trn. A(1:k,j) xc nh k
phn t u tin ca ct j. Ngoi ra ton t : tham chiu ti tt c cc phn t ca mt
hng hay mt ct.
>>A(:,3)
>>A(3, :)
>>B = A(:, [1 3 2 4]) %to ma trn B t ma trn A bng cch i
th t cc ct t [1 2 3 4] thnh [1 3 2 4]
BI 1: PHN MM MATLAB
13
>>eye(3,4)
1.4.1.5 Ni ma trn
Ta c th ni cc ma trn c sn thnh mt ma trn mi. V d:
>>a = ones(3, 3);
>>b = 5*ones(3, 3);
>>c = [a+2; b]
1.4.1.6 Xo hng v ct
Ta c th xo hng v ct t ma trn bng dng du [].
>>b(:, 2) = [] ; %xo ct th 2
>>b(1:2:5) = []; % xo cc phn t bt u t 1 n 5 v cch 2
(1,3,5) ri sp xp li ma trn.
14
BI 1: PHN MM MATLAB
>> size(A)
truy xut n tng phn t ca ma trn ta dng ch s phn t tng ng. V d,
phn t hng th 2, ct th 3 ca A l A(2,3).
>> A(2,3)
Bi 1.1. Cho ma trn A = [2 4 1; 6 7 2; 3 5 9], sinh vin dng cc lnh cn thit :
a. Ly dng u tin ca ma trn A.
b. To ma trn B bng 2 dng cui cng ca A.
c. Tnh tng cc phn t trn cc ct ca A. (gi : tnh tng cc phn t trn ct 1:
sum(A(:,1))).
d. Tnh tng cc phn t trn cc dng ca A.
Bi 1.2. Cho ma trn A = [2 7 9 7; 3 1 5 6; 8 1 2 5], sinh vin gii thch kt qu ca
cc lnh sau:
a. A'
b. A(:,[1 4])
c. A([2 3],[3 1])
d. reshape(A,2,6)
e. A(:)
f. [A;A(end,:)]
g. A(1:3,:)
h. [A ; A(1:2,:)]
i. sum(A)
j. sum(A')
k. [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ]
Bi 1.3. Gii h phng trnh sau:
2x1 + 4x2 + 6x3 2x4 = 0
x1 + 2x2 + x3 + 2x4 = 1
2x2 + 4x3 + 2x4 = 2
3x1 - x2 + 10x4 = 10.
Gi : A.X = B X = inv(A).B
BI 1: PHN MM MATLAB
15
1.4.2 Vector
Vector thc cht l ma trn c kch thc n x 1 hay 1 x n, nn ta c th to ra vector
nh cch to ra ma trn. Ngoi ra, c th dng mt s cch sau:
>>x=0:0.1:1
>>y=linspace(1, 10, 20) % vector 20 phan tu cach deu nhau tu 1
den 10
>>z=rand(10,1) ; to 10 s ngu nhin phn b u
Bi 1.5. Cho vector x = [3 1 5 7 9 2 6], gii thch kt qu ca cc lnh sau:
a. x(3)
b. x(1:7)
c. x(1:end)
d. x(1:end-1)
e. x(6:-2:1)
f. x([1 6 2 1 1])
g. sum(x)
Bi 1.6. To mt vector x c 100 phn t, sao cho: x(n) = (-1)n+1/(2n+1) vi n = 0
99.
1.4.3 a thc
Cc a thc trong MATLAB c m t bng cc vector hng vi cc phn t ca
vector chnh l cc h s ca a thc, xp theo th t s m gim dn. V d, a thc m
= s4-s3+4s2-5s-1 c biu din l:
>>m=[1 -1 4 -5 -1]
xc nh gi tr ca a thc, ta dng hm polyval. V d, xc nh gi tr ca a
thc ti im s=2:
16
BI 1: PHN MM MATLAB
>>polyval(m,2)
xc nh nghim ca a thc, ta dng hm roots. V d:
>>roots(m)
Bi 1.7. Cho phng trnh ax2+bx+c=0, gii phng trnh dng hm roots.
>>m=[a b c];
>>x=roots(m)
Thay i cc gi tr khc nhau ca a, b v c tng ng trong 2 cch gii trn.
Bi 1.8. Gii phng trnh x3- 2x2+4x+5=0. Kim chng kt qu thu c bng hm
polyval. Sinh vin c nhn xt g v kt qu kim chng.
Bi 1.9. Lp li bi 1.8 cho phng trnh x7-2=0.
1.5 HO
1.5.1 Cc lnh v
MATLAB cung cp mt lot hm v biu din cc vector cng nh gii thch v in
cc ng cong ny.
plot: ha 2-D vi s liu 2 trc v hng v tuyn tnh
plot3: ha 3-D vi s liu 2 trc v hng v tuyn tnh
loglog: ho vi cc trc x, y dng logarit
semilogx: ho vi trc x logarit v trc y tuyn tnh
semilogy: ho vi trc y logarit v trc x tuyn tnh
1.5.2 To hnh v
Hm plot c cc dng khc nhau ph thuc vo cc i s a vo. V d nu y l
mt vector th plot(y) to ra mt ng quan h gia cc gi tr ca y v ch s ca n.
Nu ta c 2 vector x v y th plot(x,y) to ra th quan h gia x v y.
>>t = [0:pi/100:2*pi];
>>y = sin(t);
>>plot(t,y); % V hnh sin t 0->2
>>grid on
1.5.3 Kiu ng v
Ta c th dng cc kiu ng v khc nhau khi v hnh.
>>t = [0:pi/100:2*pi];
BI 1: PHN MM MATLAB
17
>>y = sin(t);
>>plot(t,y,.) % v bng ng chm chm
xc nh mu v kch thc ng v, ta dng cc tham s sau:
LineWidth
MarkerEdgeColor
: mu ca cc cnh ca khi nh du
MarkerFaceColor
: mu ca khi nh du
MarkerSize
Mu c xc nh bng cc tham s:
r: red
m magenta
b: blue
k: black
g: green
y: yellow
c: cyan
w: white
-- ng t nt
: ng chm chm
-. ng chm gch
Cc dng im nh du xc nh bng:
+ du cng
. im
o vng trn
s hnh vung
d ht kim cng
x ch thp
* du sao
h lc gic
p ng gic
18
BI 1: PHN MM MATLAB
>>b = 0.005;
>>a = 0.005;
>>z2 = sin(b*t);
>>z1 = A*exp(-a*t);
>>[haxes, hline1, hline2] = plotyy(t,z1,t,z2,semilogy,plot);
BI 1: PHN MM MATLAB
19
>>title(Ham y = 2e^{-x}sinx);
>>subplot(224);
>>plot(x1,y4);
>>title(Ham
$${sin
\pi
\over
\pi
x}$$','interpreter','latex');
20
BI 1: PHN MM MATLAB
BI 1: PHN MM MATLAB
21
22
BI 1: PHN MM MATLAB
cos(\omega_0\tau)
sin(\omega_0\tau)')
Kt qu: 0 = cos(0 ) + (0 )
thm cc cng thc ton hc, ta dng dng LaTeX. Mt s v d:
>>text('units','inch', 'position',[.2 5], ...
'fontsize',14, 'interpreter', 'latex', 'string' ,...
['$$\hbox {magic(3) is } \left( {\matrix{ 8 & 1 & 6 \cr'...
'3 & 5 & 7 \cr 4 & 9 & 2 } } \right)$$']);
>>text('units','inch', 'position',[.2 4], ...
'fontsize',14, 'interpreter','latex', 'string',...
['$$\left[ {\matrix{\cos(\phi) & -\sin(\phi) \cr'...
'\sin(\phi) & \cos(\phi) \cr}} \right]'...
'\left[ \matrix{x \cr y} \right]$$']);
>>text('units','inch', 'position',[.2 3], ...
'fontsize',14, 'interpreter','latex', 'string',...
['$$L\{f(t)\} \equiv F(s) = \int_0^\infty\!\!{e^{-st}'...
'f(t)dt}$$']);
>>text('units','inch', 'position',[.2 2], ...
'fontsize',14, 'interpreter','latex', 'string',...
'$$e = \sum_{k=0}^\infty {1 \over {k!} } $$');
>>text('units','inch', 'position',[.2 1], ...
BI 1: PHN MM MATLAB
23
x^2
e^{-x^2}
dx
\frac{\sqrt{\pi}}{4}$$');
Cc khai bo c th tham kho ti: http://www.latex-project.org/
1.5.8 ho c bit
1.5.8.1 Khi v vng
ho khi v vng biu din s liu l vector hay ma trn. MATLAB cung cp cc
hm ho khi v vng:
bar hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar.
barh hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar nm
ngang.
bar3 hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D.
bar3h hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D
nm ngang.
Mc nh, mi phn t ca ma trn c biu din bng mt bar.
>>y = [5 2 1
6 7 3
8 6 3
5 5 5
1 5 8];
>>bar(y)
Sau nhp lnh bar3(y) ta c th 3D.
1.5.8.2 Xp chng th
Ta c th xp chng s liu trn th thanh bng cch to ra mt trc khc trn
cng mt v tr v nh vy ta c mt trc y c lp vi b s liu khc.
24
BI 1: PHN MM MATLAB
1.5.8.3 ho vng
Hm area hin th ng cong to t mt vector hay t mt ct ca ma trn. N v
cc gi tr ca mt ct ca ma trn thnh mt ng cong ring v t y vng khng
gian gia cc ng cong v trc x.
>>Y = [5 1 2
8 3 7
9 6 8
5 5 5
4 2 3];
>>area(Y)
BI 1: PHN MM MATLAB
25
1.5.8.4 th pie
th pie hin th theo t l phn trm ca mt phn t ca mt vector hay mt ma
trn so vi tng cc phn t. pie v pie3 to ra th 2D v 3D.
>>X = [19.3 22.1 51.6;
34.2 70.3 82.4;
61.4 82.9 90.8;
50.5 54.9 59.1;
29.4 36.3 47.0];
>>x = sum(X);
>>explode = zeros(size(x));
>>[c,offset] = max(x);
>>explode(offset) = 1;
>>h = pie(x,explode);
>>h = pie3(x,explode);
1.5.9 ho 3D
1.5.9.1 Cc hm c bn
Hm mesh v surf to ra mt 3D t ma trn d liu. Gi ma trn d liu l z m mi
phn t ca n z(i,j) xc nh tung ca mt th mesh(z) to ra mt li c mu th
hin mt z cn surf(z) to ra mt mt c mu z.
26
BI 1: PHN MM MATLAB
2 +2
BI 1: PHN MM MATLAB
+
2 + 1
27
sin(( ))
()
=1
= [ 2
3
-
2
3
3
]
2
28
BI 1: PHN MM MATLAB
>> title('waterfall(z)')
Bi 1.19. Nhn xt v cc hm v trn.
Bi 1.20. V mt =
( 2 + 2 )
2( 2 + 2 )
1.6 CC FILE V HM
1.6.1 Script file (file kch bn)
Kch bn l Mfile n gin nht, khng c i s. N dng khi thi hnh mt lot lnh
MATLAB theo mt trnh t nht nh. Ta xt v d to ra cc s Fibonacci nh hn 1000.
f = [1 1];
i = 1;
while(f(i)+f(i+1))<1000
f(i + 2)= f(i) +f(i+1);
i = i + 1;
end
plot(f)
Ta lu on m lnh ny vo mt file tn l fibo.m. y chnh l mt script file.
thc hin cc m cha trong file fibo.m t ca s lnh ta nhp:
>>fibo
V nhn enter. Kt qu MATLAB s v ra th ca chui Fibonacci.
1.6.2 File hm
Hm l M-file c cha cc i s. Ta c mt v d v hm:
function y = tb(x)
%Tinh tri trung binh cua cac phan tu
[m,n] = size(x);
if m == 1
m = n;
end
y = sum(x)/m;
T v d trn ta thy mt hm M-file gm cc phn c bn sau :
BI 1: PHN MM MATLAB
29
1.6.3 Cc hm ton hc c bn
exp(x) hm m c s e
sqrt(x) cn bc hai ca x
log(x) logarit c s e
log10(x) logarit c s 10
abs(x) module ca s phc x (gi tr tuyt i ca s thc)
angle(x) argument ca s phc a
conj(x) s phc lin hp ca x
imag(x) phn o ca x
real(x) phn thc ca x
30
BI 1: PHN MM MATLAB
sign(x) du ca x
cos(x) tnh cos
sin(x) tnh sin
tan(x) tnh tang
acos(x) tnh cos-1
asin(x) tnh sin-1
atan(x) tnh tang-1
cosh(x) tnh
+
2
( ) =
2
1
+ 2
1
+1 +2
BI 1: PHN MM MATLAB
31
b. V th ca hm
Hm fplot v th hm ton hc gia cc gi tr cho.
>>fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1])
c. Tm cc tiu ca hm
Cho mt hm ton hc mt bin, ta c th dng hm fminbnd ca MATLAB tm
cc tiu a phng ca hm trong khong cho.
>>f=inline(1./((x0.3).^2+0.01)+1./(x.^2+0.04)6);
>>x = fminbnd(f,0.3,1)
Hm fminsearch tng t hm fminbnd dng tm cc tiu a phng ca hm
nhiu bin.
Ta c hm three_var.m:
function b = three_var(v)
x = v(1);
y = v(2);
z = v(3);
b = x.^2 + 2.5*sin(y) z^2*x^2*y^2;
V by gi tm cc tiu i vi hm ny bt u t x = -0.6, y = -1.2; z = 0.135
>>v = [-0.6 -1.2 0.135];
>>a = fminsearch(three_var,v)
d. Tm im zero
Hm fzero dng tm im khng ca hm mt bin. V d tm gi tr khng ca
hm ln cn gi tr -0.2, ta vit:
>>f=inline(1./((x0.3).^2+0.01)+1./(x.^2+0.04)6);
>>a = fzero(f,-0.2)
32
BI 1: PHN MM MATLAB
BI 1: PHN MM MATLAB
33
1.6.5.3 Xy dng hm
Xy dng hm cng c thc hin tng t nh script file. Tuy nhin, i vi hm
ta cn quan tm n cc tham s truyn cho hm v cc kt qu tr v sau khi thc
hin. C 3 im cn lu :
- Tn hm phi c t trng vi tn file lu tr.
- Phi c t kha function dng u tin.
- Trong mt hm c th xy dng nhiu hm con (iu ny khng c trong script file).
function [out1,out2,]=tenham(in1,in2,)
34
BI 1: PHN MM MATLAB
% Cc hm con (nu c)
function [subout1,subout2,]=tenhamcon(subin1,subin2,)
<Cc cu lnh ca hm con>
Bi 1.21. Xy dng hm gptb2 gii phng trnh bc hai ax2+bx+c=0. Ni dung
hm nh sau:
function [x1,x2]=gptb2(a,b,c)
% Giai phuong trinh bac hai ax^2+bx+c=0
% [x1,x2]=gptb2(a,b,c)
% Trong do: x1,x2 la nghiem
% a, b, c la 3 he so cua phuong trinh
if nargin<3
error('Error! Nhap 3 he so cua phuong trinh')
elseif a==0
x1=-c/b;
x2=[];
else
delta = b^2 - 4*a*c;
x1 = (-b+sqrt(delta))/(2*a);
x2 = (-b-sqrt(delta))/(2*a);
end
Lu tn file l gptb2.m v kim tra kt qu:
BI 1: PHN MM MATLAB
35
>>help gptb2
>>[x1,x2]=gptb2(1,6,-7)
>>[x1,x2]=gptb2(2,7,14)
>>[x1,x2]=gptb2(0,4,3)
>>[x1,x2]=gptb2(1,6)
Bi 1.22. Cho bit ngha ca t kha nargin?
Bi 1.23. Vit li hm ny kt qu ch tr v nghim s thc.
Bi 1.24. Xy dng hm vdcongdb(a,m,method) v mt s ng cong trong
h ta cc, vi a l bn knh v m l s ng cong v trn cng trc ta . Trng
hp ny hm khng tr v gi tr.
Tu theo gi tr ca tham s method m ta v th tng ng:
Nu method = Becnulli: V ng Becnulli: = |22 |
Nu method = Astroit: V ng Astroit: = |1
3
4
36
BI 1: PHN MM MATLAB
case 'BECNULLI'
r=a*sqrt(abs(2*cos(2*theta)));
case 'ASTROIT'
r=a*sqrt(abs(1-sin(3*theta)/4));
case 'XOANOC'
r=a*cos(theta)+1;
otherwise
error('Chon: ''Becnuli'', ''Astroit'' hoac ''Xoanoc''')
end % end of switch
% ve do thi
close all; figure('Color','w');
for k=1:m
hold on
r1=r*k;
mau=[rand(1,1) rand(1,1) rand(1,1)];
h=polar(theta,r1);
set(h,'color',mau,'LineWidth',2);
axis equal;
end % end of for
hold off;
axis off
end % end of if
Kim tra li hot ng ca hm, v d:
>>help vdcongdb
>>vdcongdb(1,5,Becnulli)
>>vdcongdb(1,5, Astroit)
>>vdcongdb(1,5,Xoanoc)
>> vdcongdb(1,5,saikieu)
>> vdcongdb(5,becnulli)
BI 1: PHN MM MATLAB
37
38
BI 2: TN HIU RI RC THEO
THI GIAN
Sau khi hc xong bi ny, ngi hc c th:
2.1 CC TN HIU S CP
Hm xung n v:
( ) = {
1
0
=0
0
>>n = -10:10;
>>delta=[zeros(1,10) 1 zeros(1,10)];
>>stem(n,delta);
Bi 2.1. Vit chng trnh v v dng tn hiu hm bc n v u(n).
Hm bc n v:
( ) = {
1
0
0
<0
( ) = {
0
= ()
<0
Bi 2.3. Tnh nng lng tn hiu x(n) = (1/2)nu(n) trong khong (-10,10); (0,1000);
(0,1e6).
39
Bi 2.4. Tnh nng lng v cng sut tn hiu x(n) = (1 - 2n)u(n) trong khong (10,10); (0,1000); (0,1e6).
Nng lng ca tn hiu trong khong [-N,N]:
= | ()|2
=
= lim
2 + 1
= lim
40
h1(n)
h2(n)
y(n)
x(n)
h2(n)
h1(n)
y(n)
Tnh kt hp:
x(n)
h1(n)
h2(n)
y(n)
x(n)
h1(n) * h2(n)
y(n)
h1(n)
y(n)
x(n)
h2(n)
41
>>clear all
>>clf
>>n = -10:10;
>>x1 = randn(size(n)); %Tn hiu x1 ngu nhin
>>x2 = randn(size(n)); %Tn hiu x2 ngu nhin
>>a1 = 3; a2 = -2; %a1, a2 ty
>>y1 = n.*x1;
>>y2 = n.*x2;
>>y = n.*(a1*x1 + a2*x2);
>>subplot(211), stem(n,a1*y1+a2*y2);
>>title(a_1y_1(n)+a_2y_2(n));
>>subplot(212), stem(n,y);
>>title(H[a_1x_1(n)+a_2x_2(n)]);
Kt lun v tnh cht tuyn tnh ca y(n) = nx(n).
Bi 2.11. Xc nh tnh cht tuyn tnh ca h thng c phng trnh y(n) = x2(n) v
y(n) = x(n2)
2.4 H LTI
Phng trnh sai phn:
() = ( ) + ( )
=1
=0
42
>>y = conv(x,h);
>>subplot(311),stem(x);
>>subplot(312),stem(h);
>>subplot(313),stem(y);
Bi 2.13. Kim tra tnh giao hon v kt hp:
>>h1 = [1 2 -2 -3]; H thng 1
>>h2 = [-2 0 3 1]; H thng 2
>>h = conv(h1,h2);
>>N = 30;
>>x = randn(1,N);
>>y11 = conv(x,h1);
>>y1 = conv(y11,h2);
>>y21 = conv(x,h2);
>>y2 = conv(y21,h1);
>>y = conv(x,h);
>>subplot(311),stem(y1);
>>title(y(n) = (x*h_1(n))*h_2(n));
>>subplot(312),stem(y2);
>>title(y(n) = (x*h_2(n))*h_1(n));
>>subplot(313),stem(y);
>>title(y(n) = x*(h_1(n)*h_2(n));
Bi 2.14. Kim tra tnh giao hon v kt hp ca hai h thng ghp lin tng sau:
H thng 1: y(n) = 2x(n) 0.5x(n 1) + 0.5x(n 3) + 0.1y(n 1)
H thng 2: y(n) = 0.3x(n) + 0.2x(n 2) - 0.1y(n 2)
Bi 2.15. Xc nh ng ra ca h thng sau:
43
h4(n)
y(n)
h3(n)
h1 = {1,0,-1,3}; h2 = {2,-2,1}; h3 = {3,4,-1,1}; h4 = {-3,5,6,-1,1}
44
BI 3: BIN I Z
BI 3: BIN I Z
Sau khi hc xong bi ny, ngi hc c th:
Bit cch chuyn i tn hiu trn min thi gian ri rc sang min z.
3.1 CC IM CC V IM KHNG
Bin i z ca tn hiu ri rc x(n):
() = ()
=
X(z) l hm hu t:
()
=0
( ) =
=
()
=0
Gi s a0 0 v b0 0:
1 1
+ +
() 0 + 0
0
( ) =
=
() 0 + 1 1 + +
0
0
Do N(z) v D(z) l cc a thc theo z nn c th biu din nh sau:
() =
=1( )
=1( )
BI 3: BIN I Z
45
( ) =
2 + 5 1 + 4 2 + 5 3 + 3 4
5 + 45 1 + 2 2 + 3 + 4
1 ()
1
=
+ +
1
() 1 1
1 1
Bi 3.4. Xc nh cc h s ca biu thc bin i z bng hm residuez:
>>num = [1 2 3]; % T s
>>den = [2 4 7]; % Mu s
46
BI 3: BIN I Z
>>[A,p,k] = residuez(num,den);
Ta cng c th dng hm residuez xc nh li t s v mu s:
>>[num,den] = residuez(A,p,k);
Ghi li cng thc bin i v so snh vi kt qu ban u.
Bi 3.5. Phn tch biu thc sau dng phng php thng d:
( ) =
1 4.2 1 + 0.8 2
1 2.5 1 + 3 2 3
() =
1 + 1
(1 + 2 1 )2 (1 1 )
() = ( ) + ( )
=1
=0
Hm h thng ca h LTI biu din bng phng trnh sai phn h s hng:
()
=0
( ) =
=
() 1 +
=1
Bin i z ngc:
()
1 ()
( ) =
= +
()
()
=0
(Nu bc ca t s nh hn bc ca mu s)
( )
=0
=0
tnh thnh phn cn li, ta phn tch thnh cc tha s theo phng php thng
d:
BI 3: BIN I Z
47
1 ()
1
=
+
+
() 1 1 1
1 1
Nu cc gi tr pj = = pm th chuyn cc s hng t Aj n Am thnh:
+1
+1
+
+
+
(1 1 )
1 1 (1 1 )2
p dng kt qu:
(), : || > ||
1
1
48
BI 3: BIN I Z
>>syms F z
>>F = 2*z^(-1)/(1-3*z^(-1));
>>iztrans(F)
Bi 3.13. Xc nh bin i z ngc ca cc hm sau:
() =
() =
1 + 2
2
1
(1 + 2 1 ) (1 + 2 1 )
2 1
(3 + 4 1 + 2 )(1 + 1 )
BI 4: BIN I FOURIER RI RC
49
BI 4: BIN I FOURIER RI
RC
Sau khi hc xong bi ny, ngi hc c th:
Chuyn tn hiu ri rc trn min thi gian sang min tn s bng cch dng bin
i Fourier ri rc.
( ) = () = | ( )| ()
=
( ) =
1 + 2 2
1 + 0.5
50
BI 4: BIN I FOURIER RI RC
( )
( )
Bi 4.4. Kho st tnh cht dch thi gian: Tnh v v DTFT trong khong [-,] ca
x(n - 3) vi x(n) cho nh bi 4.3.
Tnh cht dch tn s:
0 ()
( (0) )
Bi 4.5. Kho st tnh cht dch tn s: Tnh v v DTFT trong khong [-,] ca
x(n)e-j3n vi x(n) cho nh bi 4.3.
Tnh cht o thi gian:
()
( )
Bi 4.6. Kho st tnh cht o thi gian: Tnh v v DTFT trong khong [-,] ca
x(-n) vi x(n) cho nh bi 4.3. Dng hm fliplr chuyn x(n) thnh x(-n) v nhn
thm h s ej(L-1) khi bin i.
Bi 4.7. Thc hin li t 4.3 n 4.6 vi x(n) cho nh bi 4.2.
BI 4: BIN I FOURIER RI RC
51
>>subplot(321),stem(abs(x));
>>title(x(n));xlabel(n);
>>subplot(323),stem(abs(y));
>>title([FFT(n, N )]);xlabel(k);ylabel(Bien do);
>>subplot(324),stem(angle(y));
>>title([FFT(n, N )]); xlabel(k);ylabel(Pha);
>>subplot(325),stem(abs(x1));
>>title([IFFT(FFT(n, N ))]);
>>xlabel(k);ylabel(Bien do);
>>subplot(326),stem(angle(x1));
>>title([IFFT(FFT(n, N ))]);
>>xlabel(k);ylabel(Pha);
Bi 4.9. Xc nh v v FFT 16 im ca x(n) cho ty .
Bi 4.10. To function cshift dch vng mt chui m gi tr:
function out = cshift(x,m)
m0 = m;
if abs(m0) > length(x)
m0 = rem(m0,length(x));
end
while (m0<0)
m0 = m0 + length(x);
end
52
BI 4: BIN I FOURIER RI RC
>>y1 = fft(x1,N);
>>k = 0:N-1;
>>y2 = exp(-j*2*pi*k*m/N).*y;
>>subplot(221),stem(abs(y));title(y1);
>>subplot(222),stem(angle(y)); title(y1);
>>subplot(223),stem(abs(y2));title(y2);
>>subplot(224),stem(angle(y2)); title(y2);
Bi 4.11. Vit chng trnh kho st tnh cht dch vng trn min tn s.
Bi 4.12. Vit chng trnh kho st tnh cht chp vng. Dng hm cconv tnh
tch chp vng.
Bi 4.13. Vit chng trnh kho st tnh cht o trn min thi gian.
53
BI 5: B LC S FIR
BI 5: B LC S FIR
Sau khi hc xong bi ny, ngi hc c th:
5.1 CC LOI B LC
iu kin i xng v phn i xng ca mch lc:
h(n) = h(M 1 n)
Da trn tnh cht i xng hay phn i xng ca chui p ng xung v chiu di N
ca chui p ng xung, ngi ta phn loi b lc FIR lm 4 loi sau:
B lc FIR loi 1: h(n) i xng, M l, = 0, = (M 1)/2
B lc FIR loi 2: h(n) i xng, M chn, = 0, = (M 1)/2
B lc FIR loi 3: h(n) phn i xng, M l, = /2, = (M 1)/2
B lc FIR loi 4: h(n) phn i xng, M chn, = /2, = (M 1)/2
p ng tn s ca FIR cho tng loi:
Loi 1:
1
2
(M1)
(0) = (
1
2
vi {
1
1
() = 2 (
) 1
2
Loi 2:
(M1)
2
H() = [=1
b()cos (n )] ej
vi () = 2 ( ) 1
Loi 3:
1
2
(M1)
)
2
vi () = 2 (
1
2
) 1
1
2
Loi 4:
(M1)
)
2
vi () = 2 ( ) 1
54
BI 5: B LC S FIR
BI 5: B LC S FIR
55
b. Cc h s ca b lc:
>>[a,w,L,Hr] = FIR_t1(h);
>>subplot(222);stem(0:L,a);
>>title(Cac he so a(n));xlabel(n);ylabel(a(n));
c. p ng tn s:
>>w = linspace(0,2*pi,100)';
>>subplot(223);plot(w,Hr);
>>title(Dap ung tan so);xlabel(\omega);ylabel(H(\omega));
d. Phn b cc - khng:
>>subplot(224); zplane(h,1);
>>title(Bieu do cuc khong);xlabel(Thuc);ylabel(Ao);
Bi 5.6. Thc hin li bi 5.5 vi p ng xung h = [-1 2 1.3 -2.2 0.6 3 3 0.6 -2.2 1.3
2 -1].
Bi 5.7. Thc hin li bi 5.5 vi p ng xung h = [-1 2 1.3 -2.2 0.6 3 -0.6 2.2 -1.3 -2
1].
Bi 5.8. Thc hin li bi 5.5 vi p ng xung h = [-1 2 1.3 -2.2 0.6 3 -3 -0.6 2.2 -1.3
-2 1].
56
BI 5: B LC S FIR
p
s
B rng di qu
gn sng di thng
gn sng di chn
R p = 20
1
1+
BI 5: B LC S FIR
57
A = 20
1+
58
BI 5: B LC S FIR
H() = 1
=0 ()
Ta ch nh mt tp tn s nh sau:
= 0, 1, ,
k =
( + ), = 0, 1, ,
{
1
2
= 0
1
2
Khi :
2
H(k + ) = H(
(+)
( + )) = 1
=0 ()
BI 5: B LC S FIR
59
[ones(1,7),0.5925,0.1099,zeros(1,43),
0.1099,
ones(1,6)];
% Dap ung tan so mau ly tuong
>>Hdr = [1,1,0,0]; wdl = [0,0.2,0.3,1];
% Dap ung tan so ly tuong de bieu dien do thi
>>k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1;
>>angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)];
>>H = Hk.*exp(j*angH);
>>h = real(ifft(H,M));
>>[db,mag,pha,grd,w] = freqz_m(h,1);
>>[a,ww,L,Hr] = FIR_t2(h);
a. Chui mu tn s:
>>subplot(221); plot(wl(1:31)/pi,Hk(1:31),'o',wdl,Hdr);
>>axis([0,1,-0.1,1.1]);
>>title('Cac mau tan so: M=60, T2 = 0.5925, T1 = 0.1099');
>>xlabel(f[*\pi]'); ylabel('Hr(k)');
b. p ng xung ca b lc thc t:
>>subplot(222); stem(L,h);
0.5925,
60
BI 5: B LC S FIR
>>axis([-1,M,-0.1,0.3]);
>>title('Dap ung xung');
>>xlabel('n'); ylabel('h(n)');
c. Bin ca p ng tn s:
>>subplot(223); plot(ww/pi,Hr,wl(1:31)/pi,Hk(1:31),'o');
>>axis([0,1,-0.2,1.2]);
>>title('Bien do cua dap ung tan so');
>>xlabel('f[*\pi]'); ylabel('Hr(w)');
d. Bin ca p ng tn s theo dB:
>>subplot(224); plot(w/pi,db);
>>axis([0,1,-100,10]); grid
>>title('Bien do cua dap ung tan so ');
>>xlabel('f[*\pi]'); ylabel('dB');
Bi 5.14. Thit k b lc thng di theo phng php ly mu tn s vi cc tham s
nh sau:
s1 = 0.2; p1 = 0.35; p2 = 0.65; s2 = 0.8; Rp = 1 dB; As = 60 dB
Chn p ng xung c chiu di 40 ng vi 40 mu tn s trong khong [0,2). Di
thng c rng l 0.3 tng ng vi 7 mu nhn gi tr 1. Gi s qu trnh ti u ho
ch ra nn chn di chuyn tip 2 mu nhn cc gi tr T1 = 0. 109021 v T2 = 0.59417456.
Mu cc tn s c cho nh sau:
H(k) = [0,0,0,0,0,T1,T2,1,1,1,1,1,1,1,T2,T1,0,,0,T1,T2,1,1,1,1,1,1,1,T2,T1,0,0,0,0]
(9 s 0)
Qu trnh thc hin tng t bi 5.13.
BI 5: B LC S FIR
61
()
()]
()
Ta nh ngha:
() = ()()
() =
()
()
Khi :
()[
() ()]
() =
Parks v McClellan a ra gii php s dng thut ton Remez tm ra p ng
xung ca b lc ti u, tc l gn ng theo ngha Chebyshev i vi mt b lc l tng,
cho gi tr M l chiu di ca chui p ng xung vi cc iu kin rng buc v gn
sng di thng v di chn nh sau:
1. Xc nh loi b lc, tnh gi tr R v xy dng cc hm W(), Q().
Loi b lc
FIR loi 1
R
1
2
P()
Q()
1
()
=0
FIR loi 2
1
2
()
cos(/2)
=0
FIR loi 3
1
1
2
sin
()
=0
FIR loi 4
1
2
()
sin(/2)
=0
(), ().
2. Xy dng bi ton gn ng bng cch xc nh cc hm
3. S dng thut ton trao i Remez tm ra hm ti u P().
Chn ly R+2 im ri rc, gi s l cc cc tr ca hm sai s.
Trn c s ti R+2 im ri rc ni trn, hm E() lun phin i du v c tr
tuyt i bng mt gi tr no , tnh ni suy li gi tr v hm P(), t tnh ra
hm sai s E(), tnh c cc tr thc ca hm sai s.
62
BI 5: B LC S FIR
201 2 13
=
14.6
2
BI 5: B LC S FIR
h = firpm(M-1,f,m,weights);
[db,mag,pha,grd,w] = freqz_m(h,[1]);
Asd = -max(db(wsi:1:501))
while Asd<As
M = M+1
[h,ERR,RES] = firpm(M-1,f,m,weights);
[db,mag,pha,grd,w] = freqz_m(h,[1]);
Asd = -max(db(wsi:1:501))
end
n = [0:1:M-1];
subplot(221); stem(n,h);
axis([0,M-1,-0.1,0.3]);
title('Dap ung xung');
xlabel('n'); ylabel('h(n)');
63
64
BI 5: B LC S FIR
BI 6: B LC S IIR
65
BI 6: B LC S IIR
Sau khi hc xong bi ny, ngi hc c th:
1
| ()| 1, ||
1 + 2
1
0 | ()| 2 , ||
1
1010 1
=
1 + 2
66
BI 6: B LC S IIR
= 10
1
2
= 1020
2
1
1
=
=
1 +
1
1 + 2
1 +
1
= =
1 +
BI 6: B LC S IIR
67
1 + 2 2 ( )
log( + 2 1
Vi:
2 1
= 2
=
68
BI 6: B LC S IIR
% [b,a] = u_chb1ap(N,Rp,Omegac)
% b = cac he so da thuc tu so cua Ha(s)
% a = cac he so da thuc mau so cua Ha(s)
% N = Bac cua bo loc Chebyshev-I
% Rp = Do gon dai thong theo don vi dB; Rp > 0
% Omegac = tan so cat theo don vi radians/sec
[z,p,k] = cheb1ap(N,Rp);
a = real(poly(p));
aNn = a(N+1);
p = p*Omegac;
a = real(poly(p));
aNu = a(N+1);
k = k*aNu/aNn;
B = real(poly(z));
b0 = k;
b = k*B;
Hm s m t trn tr v hm truyn vi bc N cho trc. Bc ca b lc c th la
chn cho ph hp ti u vi cc ch tiu k thut yu cu u vo.
Bi 6.3. To hm afd_chb1 tr v thit k b lc thng thp tng t, nh dng
Chebyshev c bc ti u:
function [b,a] = afd_chb1(Wp,Ws,Rp,As)
% Analog Lowpass Filter Design: Chebyshev-1
% [b,a] = afd_chb1(Wp,Ws,Rp,As)
% b = cac he so da thuc tu so cua Ha(s)
% a = cac he so da thuc mau so cua Ha(s)
% Wp = tan so cat dai thong theo don vi rad/sec; Wp >0
% Ws = tan so cat dai chan theo don vi rad/sec; Ws>Wp >0
% Rp = Do gon dai thong theo don vi dB; (Rp > 0)
% As = Do suy giam dai chan theo don vi +dB; (Ap > 0)
if Wp <= 0
BI 6: B LC S IIR
69
ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-
1)));
fprintf('\n*** Bac cua bo loc Chebyshev-1 = %2.0f\n',N);
[b,a] = u_chb1ap(N,Rp,OmegaC);
Bi 6.4. Thit k b lc thng thp tng t, nh dng Chebyshev-I vi cc tham
s u vo nh sau:
p = 0.2; s = 0.3; Rp = 1 dB; As = 16 dB
Vit chng trnh tnh v biu din trn th:
a. ln ca p ng tn s
b. p ng pha ca b lc
c. ln tng i tnh theo dB ca p ng tn s
d. p ng xung ca b lc tng t
6.2 THIT K B LC S
Bin i song tuyn tnh l php nh x t mt phng s sang mt phng z nh ngha
nh sau:
70
BI 6: B LC S IIR
2 1 1
1 + 1
2 1 1
)
1 + 1
() = (
BI 6: B LC S IIR
71
c. Hm p ng pha:
subplot(223); plot(w/pi,pha/pi);
axis([0,1,-1,1]); grid
title('Dap ung pha');
xlabel('f[*\pi]'); ylabel('Angle(H_r(\omega))');
d. Tr nhm theo tn s:
subplot(224); plot(w/pi,grd);
axis([0,1,0,15]); grid
title('Group Delay');
xlabel(' f[*\pi]'); ylabel('Samples');
G lnh:
>>bai605
ti ca s lnh kim tra kt qu.
Phng php bt bin xung thc hin ly mu b lc tng t to ra b lc s:
h(n) = ha(nT)
p ng tn s ca b lc s c quan h vi p ng tn s ca b lc tng t nh
sau:
( 2)
1
() =
[
]
Bi 6.6. Thc hin yu cu ca bi 6.5 theo phng php bt bin xung, dng hm
impinvar ca MATLAB. So snh kt qu thu c vi cu trn.
Bi 6.7. To hm zmapping thc hin vic chuyn i bng tn s, tr v hm
truyn ca b lc mi vi tham s u vo l hm truyn t ca b lc thng thp, hm
a thc th hin php i bin s c lp:
% function [bz,az] = zmapping(bZ,aZ,Nz,Dz)
bzord = (length(bZ)-1)*(length(Nz)-1);
azord = (length(aZ)-1)*(length(Dz)-1);
bz = zeros(1,bzord+1);
for k = 0:bzord
pln = [1];
72
BI 6: B LC S IIR
for l = 0:k-1
pln = conv(pln,Nz);
end
pld = [1];
for l = 0:bzord-k-1
pld = conv(pld,Dz);
end
bz = bz+bZ(k+1)*conv(pln,pld);
end
az = zeros(1,azord+1);
for k = 0:azord
pln = [1];
for l = 0:k-1
pln = conv(pln,Nz);
end
pld = [1];
for l = 0:azord-k-1
pld = conv(pld,Dz);
end
az = az+aZ(k+1)*conv(pln,pld);
end
az1 = az(1); az = az/az1; bz=bz/az1;
Bi 6.8. Vit chng trnh chuyn i t b lc thng thp theo thit k ca bi 6.5
sang b lc thng cao c tn s ct c=0.6. Tnh v biu din trn th:
a. ln ca p ng tn s
b. Hm p ng pha ca b lc
c. Hm ln tng i tnh theo dB ca p ng tn s
d. Tr nhm theo tn s.