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

BÀI 1: LÀM QUEN VỚI MATLAB ppt

62 652 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Bài 1: Làm Quen Với MATLAB ppt
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Khoa học Máy tính
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 62
Dung lượng 790,79 KB

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

Nội dung

II- NHẬN XÉT VÀ KẾT LUẬNBài thực hành giúp ta bước đầu làm quen với matlab, nhờ đó mà ta co thể dễ dàng tạo các ma trận các hàm va thưc hiện tinh toán nó, vẽ đượ các đồ thị đơn giản tron

Trang 1

BÀI 1: LÀM QUEN VỚI MATLAB

I- Lý thuyết và thực hành

1- mở 1 hàm m-file và thực hiện yêu cầu sau:

a- tạo ma trận có chiều dài n x m:

b- cộng trừ nhân chia hai ma trận vừa tạo( đưa ra kết quả)

c- trích ra đường chéo của 2 ma trận ban đầu sau đó ghép lại thành 1 ma trận mớid- trích 2 dòng đầu của ma trận 1 và 2 dòng cuối của ma trận 2 sau đó ghép chúng thành ma trận mới

e- trích cột cuối của ma trận thứ nhất và cột đầu của ma trận 2 sau đó ghép với ma trận 1 để tạo ma trận mới

Trang 2

2.1- trong không gian 2D:

mở 1 hàm m-file và vẽ đồ thị của các hàm sau(vẽ trên cùng 1 của sổ)hàm f(x) : f(x)= -x.sin(x)

đạo hàm của f(x) : f’(x)=-x.cosx-sinx

subplot(2,2,1); % chia o trong do thi

grid

title('ham sin'); %tao tieu de cho do thi

xlabel('truc x' ); %tao nhan cho truc x

ylabel('truc y'); %tao nhan cho truc y

%ham dao ham;

y1=-x.*cos(x)-sin(x);

subplot(2,2,2);

plot(x,y1)

title('ham dao ham');

xlabel('truc x');

Trang 3

%ket qua chuong trinh

2.2-trong không gian 3D:

mở 1 hàm m-file và vẽ đồ thị của các hàm sau(vẽ trên từng cửa sổ)a- z1=f(x,y)=sinx.siny, với x,y=[0, π]

b- z2=f(x,y)=x - x3 + y 2 + 1, với x,y=[-3,3]

Trang 4

title(' Do thi ham so z3 = sin((sqrt(x.^2+y.^2)./sqrt((x.^2+y.^2).*x))');

% ket qua chuong trinh

Trang 6

II- NHẬN XÉT VÀ KẾT LUẬN

Bài thực hành giúp ta bước đầu làm quen với matlab, nhờ đó mà ta co thể dễ dàng tạo các ma trận các hàm va thưc hiện tinh toán nó, vẽ đượ các đồ thị đơn giản trong không gian 2d và 3d

Bài thực hành còn giúp ta hiểu rõ chức năng của các lệnh trong matlab

BÀI 2:MÔ PHỎNG VÀ TẠO TÍN HIỆU1-Tóm tắt lý thuyết

Một tín hiệu thời gian rời rạc được biểu diễn như 1 dãy số hay còn gọi là 1 dãy mẫu,được kí hiệu là {x[n]}; trong đó đối số là những số nguyên chạy từ -∞ đến +∞, đặc trưng cho thời gian Giá trị của dãy mẫu tại thời điểm n là x[n] vì thế để tiện lợi,tín hiệu thời gian rời rạc bất kỳ thường được ký hiệu là x[n]

• tín hiệu thời gian rời rạc có thể là 1 dãy mẫu có chiều dài vô hạn hoặc hữu hạn dãy có chiều dày hữu hạn là dãy có giá trị khác 0 trong 1 khoảng thời gian hữu hạn từ thời điểm N1 đến N2: N1≤n≤N2 Với N2≥N1 Dãy này

có chiều dài N=N2-N1+1 mẫu

• dãy thỏa mãn điều kiện [ ]x n% =x n kN%[ + ] được gọi là dãy tuần hoàn với chu kỳ cơ bản N là 1 số nguyên dương và k là 1 số nguyên bất kỳ

• năng lượng của dảy x[n] dược xác định bằng công thức | [ ] |2

• công suất trung bình của 1 dãy không tuần hoàn x[n] được xác định bằng

K K

Trang 7

• Công suất trung bình của 1 dãy tuần hoàn [ ]x n% với chu kỳ N được cho

• Dãy sin phức được biểu thị bằng hệ thức : x n[ ] | || |= A α n e jw n0 +Φ

• Dãy sin thực có biên độ là hằng số được biểu thị bằng

x n =A w n+ Φ trong đó A , w0, Φ là những số thực được gọi là biên độ, tần số góc và pha ban đầu của dãy số sin x[n], còn 0

02

w f

• Nhân dãy x[n] với hằng số a dược thực hiện bằng hệ thức : y[n]=a.x[n]

• Ngược thời gian hay còn gọi là đổi chiều tín hiệu của 1 dãy có chiều dài

vô hạn dượ thực hiện bằng hệ thức : y[n]= x[-n]

• Làm trễ dãy x[n] có chiều dài vô hạn 1 lượng M sẽ thu được dãy y[n] có chiều dài vô hạn và được thực hiện nhờ biểu thức: y[n]=x[n-M] trong đó

M là 1 số nguyên dương đây cũng chính là 1 phép dịch dãy x[n] về phía phải trục thời gian M mẫu và được kí hiệu là z-M trường hợp M=1 thì được gọi là trễ đơn vị và kí hiệu z-1 nếu M lấy dấu âm thì được gọi là sớm tương đương với việc dịch dãy về phía trái M mẫu trên trục thời gian

II- THỰC HÀNH

1- dãy xung đơn vị [ ]δ n

a- tạo dãy xung đơn vị [ ]δ n có chiều dài N mẫu:

b- tạo dãy xung đơn vị [ ]δ n có chiều dài N mẫu bị trễ M mẫu (M<N)

c- tạo dãy nhảy bậc đơn vị u[n] dài N mẫu

d- tạo dãy nhảy bậc đơn vị u[n] dài N mẫu bị trễ M mẫu (M<N)

e- chương trình phát dãy xung

Trang 8

%day xung don vi chieu dai N tre M mau

title('day xung don vi chieu dai N tre M mau')

%tao day nhay bac dai N mau

u=[ones(1,n)];

subplot(5,1,3);

stem(u)

title('day nhay bac dai N mau')

%tao day nhau bac dai N bi tre M mau

m=4;

u1=[ones(1,n-m)];

subplot(5,1,4);

stem(u1)

title('day nhau bac dai N bi tre M mau')

%chuong trinh phat day xung

title('day xung don vi')

axis([10 20 0 1.5]) %tao kich thuoc truc do thi

% ket qua chuong trinh

Trang 9

Nhận xét: nhìn vào đồ thị ta thấy các tín hiệu được biểu diễn dưới dạng rời rạc nấc đơn vị (biên độ =1),đồ thị thể hiện rõ các đặc điểm của dãy xung đơn vị , tính chất trễ , dãy nhảy bậc đơn vị… phù hợp với lý thuyết đã học

2- biểu diễn tín hiệu sin phức và sin thực

dãy sin phức mô tả bằng phương trình:

w f

π

= là tần số

Trang 10

xlabel('chi so thoi gian');

ylabel('bien do');

title('phan ao');

% ket qua chuong trinh

Nhận xét : kết quả thu được la đồ thị biểu diễn tín hiệu phần thực và phần ảo dưới dạng rời rạc nấc đơn vị trên trục thực và trục ảo nhờ hàm stem Tín hiệu biểu diễn dần tiến về không

3- các tín hiệu thời gian rời rạc sin thực

để tạo tín hiệu sin thực trong matlab ta sử dụng các hàm sin và cos

%chuong trinh tin hieu thoi gian roi rac sin thuc

title(' day tin hieu sin');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

% ket qua chuong trinh

Trang 11

Nhận xét : kết quả thu được cũng là đồ thị dạng rời rạc hình sin có biên độ là 1,5, chu kỳ là 10 biến thiên liên tục theo thời gian

4- các tín hiệu ngẫu nhiên rời rạc

tín hiệu ngẫu nhiên thời gian rời rạc có chiều dài n mẫu phân bố đều đặn trong khoảng [0,1] được tạo bởi lệnh trong matlab là x=rand(1,N)

tạo 1 tín hiệu ngẫu nhiên dạng gauss có giá trị trung bình bằng 0 và phương sai bằng đơn vị , dùng lệnh x=rand(1,N)

Trang 12

1- biểu diễn tín hiệu sin thực có tần số 0,9 và 1,1

%chuong trinh biểu diễn tín hiệu sin thực có tần số 0,9n=0:40;

title(' day tin hieu sin');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

% ket qua chuong trinh

%chuong trinh biểu diễn tín hiệu sin thực có tần số 1,1n=0:40;

title(' day tin hieu sin');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

% ket qua chuong trinh

Trang 13

So sánh 2 dãy này với dãy trong chương trình 2.3 (f=0,1) ta nhận thấy : ở tần

số là 0,9 thì chu kỳ sẽ là 9 dạng xung ra được mô phỏng gần như tần số là 0,1-ở tần số 1,1 ta thấy so với f=0,1 thì đồ thị là dạng đường thẳng do giá trị max của hàm sin là 1 và ở day giá trị là 1,1 nên đồ thị sẽ có dạng dường thẳng ( dạt giá trị =0)

2- biểu diễn tín hiệu sin thực có chiều dài 50 mẫu, tấn số 0,08, biên độ 2,5 và

title(' day tin hieu sin bd bang lenh stem');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

subplot(3,1,2);

plot(n,x);

title(' day tin hieu sin bd bang lenh plot');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

subplot(3,1,3);

Trang 14

title(' day tin hieu sin bd bang lenh stairs');

xlabel(' chi so thoi gian n');

ylabel(' bien do');

% ket qua chuong trinh

Nhận xét: đồ thị mà ta thu được sau khi chạy chương trình thể hiện dúng các thông số của bài toán

Khi ta sủ dụng các lệnh để vẽ đồ thị khác nhau thì sẽ cho ra các dạng đồ thị khác nhau Lệnh plot để vẽ đồ thị dưới dạng sóng liên tuc ,lệnh stem để vẽ đồ thị sóng dạng rời rạc , lệt stairs vẽ đồ thị dạng sóng bậc thang

3- biểu diễn 1 tín hiệu dạng lũy thùa thực x[n]=0,2.1,2n biểu diễn bằng các lệnh stem,plot,stairs và nhận xét

title('tin hieu dang luy thua bd bang lenh plot')

xlabel('chi so thoi gian')

ylabel(' bien do')

subplot(3,1,2)

stem(x);

grid

title('tin hieu dang luy thua bd bang lenh stem')

xlabel('chi so thoi gian')

ylabel(' bien do')

subplot(3,1,3)

Trang 15

grid

title('tin hieu dang luy thua bd bang lenh stairs')

xlabel('chi so thoi gian')

ylabel(' bien do')

% ket qua chuong trinh

Nhận xét: tín hiệu lũy thừa được biểu diễn bằng 3 lệnh plot, stem và stairs cho

ra 3 dạng sóng khác nhau rời rạc, liên tục, bậc thang Ta nhận thấyTín hiệu dược biểu diễn đi từ 0 và bắt đầu tăng dần lên khi gần tới 20 và đạt tới giá trị đỉnh là >40 phù hợp với lý thuyết đã học

hệ thống rời rạc tuyến tính và bất biến với thời gian đơn giản và nghiên cứu các tính chất của chúng trên lĩnh vực thời gian Các hệ thống này được đặc trưng bởi đáp ứng xung h[n] và được mô hình hóa trên hình 3.1

Trang 16

hệ thống ghép nối tiếp nhau sao cho : 1[ ]* 2[ ]h n h n =δ[ ]n thì hệ thống LTI

có đáp ứng xung h2[n] được gọi là nghịch đảo của hệ thống LTI có đáp ứng xung h1[n] và ngược lại

• 1 hệ thống LTI được gọi là ổn định theo nghĩa BIBO nếu đáp ứng xung xủa nó thỏa mãn điều kiện: | [ ] |2

• Hệ thống có đáp ứng xung hữu hạn được gọi là hệ thống FIR nếu phương trình sai phân có ak=0 với k>0 vậy hệ thống FIR nhân quả có phương trình

0 0

M m m

• Hệ thống đượ gọi là bất biến đối với thời gian nếu y1[n] là đáp ứng đối với tín hiệu lối vào x1[n], thì đáp ứng đối với phiên bản trễ của tín hiệu lối vào x[n]=x1[n-n0] sẽ là y[n]=y1[n-n0], ở đây n0 là số nguyên dương hoặc âm

Trang 17

Nếu hệ thức không thỏa mãn thì hệ thống thay đổi đối với thời gian Hệ thống vừa thỏa mãn tính tuyến tính vừa bất biến với thời gian gọi là hệ thống LTI

• Trong matlab dể mô phỏng các hệ thống thời gian rời rạc LTI nhân quả có phương trình sai phân trên ta có thể dùng lệnh filter y=filter(num,den,x)

• Tín hiệu lối ra y[n] của hệ thống LTI có đáp ứng xung đơn vị h[n] với lối vào x[n] cũng được xác định bằng lệnh conv(h,x)

• đáp ứng xung đơn vị h[n] của 1 hệ thống dược xác dịnh bằng lệnh

h=inpz(num,den,N+1)

1- các hệ thống tuyến tính và phi tuyến tính

Nghiên cứu tính chất tuyến tính của hệ thống

num=[2.2403 2.4908 2.2403]; %tao ma tran tu so

den=[ 1 -0.4 0.75]; % tao ma tran mau so

y1=filter(num,den,x1); % ham filter thuc hien bo loc matran tu, mau cua ham x1y2=filter(num,den,x2); % thuc hien bo loc matran tu, mau cua ham x2

y=filter(num,den,x);

yt=a*y1+b*y2;

d=y-yt

subplot(3,1,1);stem(n,y);title('tin hieu loi ra theo x')

axis([0 40 -50 50]) %chia truc cua do thi truc x tu 0-40, truc y tu -50-50

subplot(3,1,2);stem(n,yt);title('tin hieu loi ra theo y')

axis([0 40 -50 50])

subplot(3,1,3);stem(n,d);title('tin hieu sai so d')

%ket qua chay chuong trinh

Trang 18

Nhận xét: nhìn vào dồ thị tha thấy tín hiệu lối ra theo x(y[n]), tín hiệu lối ra theo y(yt[n]) là giống nhau vì thế hai hệ thống này là tuyến tính vì y[n]=yt[n]

2- xác định đáp ứng xung đơn vị của hệ thống LTI

Phép tính và vẽ đáp ứng xung của phương trình sai phân sau:

Trang 19

Nhận xét: kết quả thu được là dang tín hiệu được biểu diễn dưới dạng rời rạc và tiến dần

về 0

3- các hệ thống bất biến với thời gian

Mô phỏng hệ thống có phương trình sai phân sau

Trang 20

Nhận xét: tín hiệu lối ra y[n] giảm dần, tín hiệu lối ra theo y[n-n0] bị trễ đi 10 mẫu so với tín hiệu y[n] hai tín hiệu này cơ bản là giống nhau nhưng thời điểm bắt đầu của tín hiệu là khác nhau

Vì tín hiệu ra là 0 nên không đáp ứng với tín hiệu lối vào nên hệ thống không bất biến với thời gian

Trang 21

xlabel('chi so thoi gian n');

Trang 22

title('dap ung xung don vi');

%In gia tri tuyet doi cua h(k)

Trang 23

title('tin hieu sai so d')

Vì tín hiệu lối ra theo x giống tín hiệu lối ra theo y nên hệ thống là tuyến tính2- xác định đáp ứng xung đơn vị của hệ thống LTI Tính ổn dịnh của hệ thốngCho hệ thống LTI có phương trình sai phân

Trang 24

n=0:N;

stem(n,h);

xlabel('chi so thoi gian n');

ylabel('bien do');

title('dap ung xung don vi');

%In gia tri tuyet doi cua h(k)

title('dap ung xung don vi');

%In gia tri tuyet doi cua h(k)

td=abs(h(k))

Trang 25

Nhận xét: dựa vào đồ thị ta thấy hệ thống không ổn định vì nó biến thiên liên tuc theo dạng sóng sin

3-các hệ thống bất biến với thời gian

Cho hệ thống LTI có phương trình sai phân

)+2sin(0,2 nπ ) Hệ thống có bất biến với thời gian không?

%he thong dap ung xung bat bien theo thoi gian

Trang 26

Nhận xét : dựa vào đồ thị ta nhận thấy hệ thống không bất biến với thời gian

4-Ghép nối tiếp các hệ thống LTI

Viết chương trình tính và vẽ các tín hiệu lối ra y1[n] và y2[n] thỏa mãn phương trình sai phân sau:

Trang 27

Tín hiệu ra phản ánh rõ tính chất và vấn đề của bài toán phù hợp với lý thuyết đã họcBÀI 4:PHỔ TẦN SỐ CỦA TÍN HIỆU-BIẾN ĐỔI FORIER THỜI GIAN RỜI RẠCI-LÝ THUYẾT

1-Biến đổi forier thời gian rời rạc

2- Biến đổi forier thời gian rời rạc nghịch đảo (IDTFT)

3-các tính chất của DTFT

• Tính chất dịch thời gian

• Dịch về tần số

• Tính chất nhân chập

Trang 28

e e

Trang 29

Nhận xét: bài toán này hiển thị DTFT của dãy X(e-jw) dựa vào hàm freqz và vẽ đồ thị của nó

Hàm abs lấy biên độ

Hàm angle lấy pha

Trang 30

h2=freqz([zeros(1,D) x],1,w);subplot(2,2,1)

Trang 31

Thông số đặc trưng cho sự dịch chuyển thời gian là h1 ,h2( xác định đáp ứng tần số của hệ thống)

Trang 32

Nhận xét: thông số đặc trưng cho sự dịch chuyển tần số là h1,h2,x1,x2, trong đó x2=exp(wo*i*n).*x1;

Trang 34

Nhận xét : lệnh cho tính chất ngược thời gian là h1,h2,h3 trong đó

h2=freqz(fliplr(x),1,w) là lệnh đặc trưng nhất ( fliplr là hàm ta ma trận ngược với ma trận x): xác định đáp ứng tần số của ma trận ngược với x

III-ÁP DỤNG

Trang 36

• NX: điểm nhảy trong phổ pha chính là khoảng thời gian tín hiệu nhảy sang trạng thái khác

2-khảo sát tính chất của DTFT

Trang 37

a-dịch chuyển về thời gian với hai dãy có chiều dài thay đổi và hai độ dịch thời khác nhau

%bai 4.2 Tinh chat dich chuyen thoi gian

Trang 38

% ket qua

b-dịch chuyển về tần số với hai dãy có chiều dài thây đổi và hai độ dịch tần khác nhau

% tinh chat dich chuyen tan so

Trang 40

c-ngược thời gian với hai dãy có chiều dài thay đổi

%tinh chat nguoc thoi gian

Trang 42

IV-NHẬN XÉT VÀ KẾT LUẬN

Bài thực hành này giúp ta tìm hiểu về biến đổi DTFT (biến đổi fourier thời gian rời rạc) và các tính chất của DTFT ,các thuật toán và các hàm, ý nghĩa của các hàm

BIẾN ĐỔI ZI-LÝ THUYẾT

1-trong phần này sẽ dùng MATLAB để nghiên cứu biến đổi z của dãy x[n].Trước tiên nghiên cứu biến đổi z của dãy x[n] được biển diễn bằng phân thức hữu tỉ của hai đa thức với biến số phức z-1 dạng:

z z b

Nếu đánh giá X(z) trên vòng tròn đơn vị z=ejw thì sẽ thu được X(ejw) là biến đổi FOURIER rời rạc của dãy x[n] Trong MATLAB để đánh giá biến đổi z trên vòng tròn đơn vị sử dụng hàm FREQZ

2-Phân tích biến đổi z

Trang 43

Biến đổi z của 1 dãy thời gian rời rạc x[n] được định nghĩa theo công thức:

1

( )

1

N K

3-giản đồ điểm cực/điểm không

4-xác định các điểm cục và điểm không

II-THỰC HÀNH

1-khai triển biến đổi z thành thừa số

% chuong trinh ve gian do cuc khong

Trang 44

2-biến đổi z ngược

% chuong trinh tim bien doi z nguoc cua ham truyen co dang phuong trinh(*) num=[2 5 9 5 3];

Trang 45

Nx: hàm impz: xác định đáp ứng xung của hệ thống

3-biểu diễn hàm truyền theo biến số trạng thái

% tim ma tran trang thai cua ham truyen

1-viết chương trình matlab để tính và hiển thị các điểm cực và điểm không, vẽ giản

đồ điểm cực và điểm không của 1 biến đổi z có dạng phân thức hữu tỷ của z-1.dùng

Trang 46

chương trình đó để phân tích biến đổi z của hệ thống có hàm truyền sau:

Trang 47

Hãy viết chương trình matlab để tính và hiển thị biến đổi z của các điểm 0: z1=0,3; z2=2,5; z3=-0,2+j0,4; z4=-0,2-j0,4

Trang 48

% ket qua chuong trinh

Trang 49

%thiet ke bo loc elliptic

title('mach loc IIR elliptic');

%thiet ke mach loc

Trang 50

Nx: để thiết kế bộ lọc IIR ta can ước lượng bậc của bộ lọc , xác định bậc và xác định đáp ứng tần số của bộ lọc

• thiết kế bộ lọc thông dải sử dụng phép biến đổi song song tuyến tính để thiết

kế bộ lọc chebychev loại 1 bậc 5, dải thông 0,1-0,5hz tần số lấy mẫu 2hz Các tần số cắt là 1

title('dap ung bien do');

kết quả chay chương trình

Trang 51

2-thiết kế bộ lọc FIR

• thiết kế bộ lọc FIR bằng phương pháp cửa sổ

%thiet ke bo loc fir

Trang 53

• thiết kế bộ lọc nhiều dải tần:

%tk bo loc FIR nhieu dai tann=129;

f=[0 0.3 0.5 0.7 0.9 1];

a=[0 0.5 0 1 0];

up=[0.00 0.51 0.03 1.02 0.05];lo=[-0.005 0.49 -0.03 0.98 -0.05];b=fircls(n,f,a,up,lo);

Ngày đăng: 29/06/2014, 11:20

TỪ KHÓA LIÊN QUAN

w