1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI PHÚC TRÌNH BÀI 4. MÔ PHỎNG CÁC TÍN HIỆU CƠ BẢN BẰNG MATLAB

11 2 0

Đ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 11
Dung lượng 675,5 KB

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

Nội dung

MÔ PHỎNG CÁC TÍN HIỆU CƠ BẢN BẰNG MATLAB Nhóm: Tiểu nhóm: Thứ: 5, ngày 12 tháng 09 năm 2019 Cam đoan: Chúng tôi ký tên ở trên đây cam đoan rằng nội dung của bài báo cáo này bao gồm các

Trang 1

BÀI PHÚC TRÌNH

BÀI 4 MÔ PHỎNG CÁC TÍN HIỆU

CƠ BẢN BẰNG MATLAB

Nhóm: Tiểu nhóm:

Thứ: 5, ngày 12 tháng 09 năm 2019

Cam đoan: Chúng tôi ký tên ở trên đây cam đoan rằng nội dung của bài báo cáo này (bao

gồm các đoạn code, đồ thị) là các kết quả do chính chúng tôi thực hiện, không phải là kết

quả sao chép từ bài báo cáo của tác giả khác Chúng tôi chấp nhận mọi hình thức kỷ luật do

Bộ môn/Giảng viên phụ trách học phần đưa ra nếu vi phạm điều nêu trên.

-Câu 1 Chương trình sau đây mô phỏng hàm bước nhảy đơn vị u(t)

**Yêu cầu

a Hãy gõ lại chương trình này trong file soạn thảo của Matlab và lưu lại với tên step.m

b Hãy ghi lời chú thích vào sau các dấu % của một số dòng lệnh (một số dòng đã được

làm mẫu).

c Vẽ lại đồ thị của bài tập này lên hình 4.1.

clear; % xóa tất cả các biến trong bộ nhớ Matlab

clf;

t=-10:0.001:10;

u=heaviside(t);

plot(t,u);

title('Ham buoc nhay don vi u(t)'); %tên tiêu đề của đồ thị

xlabel('Thoi gian lien tuc t'); %chú thích trục x

ylabel('Bien do'); %chú thích trục y

axis([-10 10 0 1.2]);

grid on; %hiễn thị lưới cho đồ thị

Trang 2

Hình 4.1

Thoi gian lien tuc t 0

0.2

0.4

0.6

0.8

1

d Hãy sửa lại chương trình Matlab mô phỏng hàm bước nhảy đơn vị u(t) để thực hiện các

yêu cầu sau đây:

- Mô phỏng hàm bước nhảy đơn vị khi dịch chuyển về phía trái 3 đơn vị.

- Mô phỏng hàm bước nhảy đơn vị u(t – t0), u(t + t0) với t0 được nhập từ bàn phím

Hàm bước đơn vị u(t – t0)

clear; %xóa tất cả các biến trong bộ

nhớ Matlab

clf; %xóa đồ thị hiện tại

t0=input('nhap vao t');

t=-10:0.001:10; %tạo vector thời gian

u=heaviside(t-t0); %tạo ra hàm bước

nhảy đơn vị

plot(t,u);

title('Ham buoc nhay don vi u(t)');%

tên tiêu đề của đồ thị

Hàm bước đơn vị u(t + t0)

clear; % xóa tất cả các biến trong bộ nhớ Matlab

clf; %xóa đồ thị hiện tại t0=input('nhap vao t') t=-10:0.001:10; % tạo vector thời gian

u=heaviside(t+t0); % t?o ra hàm bước nhảy đơn vị?

plot(t,u);

title('Ham buoc nhay don vi u(t)');

-2-clear; %xóa tất cả các biến trong

bộ nhớ Matlab clf; %xóa đồ thị hiện tại t=-10:0.001:10; %tạo vector thời gian

u=heaviside(t+3); % tạo ra hàm bước nhảy đơn vị?

plot(t,u);

title('Ham buoc nhay don vi u(t)'); tiêu đề của đồ thị

Trang 3

Hình 4.2

xlabel('Thoi gian lien tuc t'); %giải

thích trục x

ylabel('Bien do'); %giải thích trục y

axis([-10 10 0 1.2]);

grid on;

xlabel('Thoi gian lien tuc t'); %giải thích trục x

ylabel('Bien do'); %giải thích trục y axis([-10 10 0 1.2]);

grid on;

Câu 2 Cho đoạn lệnh sau đây:

**Yêu cầu

a Hãy gõ đoạn lệnh trên vào cửa sổ Command Window và ghi lại kết quả.

Kết quả: (t*(sign(t) + 1))/2

b Viết chương trình Matlab mô phỏng hàm dốc đơn vị r(t) với tỉ lệ thời gian như hình 4.2

và vẽ lại đồ thị của hàm này lên hình 4.2.

clear; %xóa tất cả các biến

trong bộ nhớ Matlab

clf; %xóa đồ thị hiện tại

t=-10:0.001:10; %tạo vector

thời gian

r=t.*heaviside(t);

plot(t,r);

title('Ham doc don vi r(t)');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

Thoi gian lien tuc t 0

1 2 3 4 5 6 7 8 9

c Hãy sửa lại chương trình Matlab mô phỏng hàm dốc đơn vị r(t) để thực hiện các yêu cầu

sau đây:

- Thay đổi màu đồ thị thành màu đỏ và đường vẽ là đường chấm chấm

- Mô phỏng hàm dốc đơn vị r(t – t0), r(t + t0) với t0 được nhập từ bàn phím.

Hàm dốc đơn vị r(t – t0)

clear; %xóa tất cả các biến trong bộ

Hàm dốc đơn vị r(t + t0)

clear; %xóa tất cả các biến trong bộ

>> syms t

>> u=heaviside(t);

>> int(u,t)

clear; %xóa tất cả các biến trong bộ nhớ Matlab

clf; %xóa đồ thị hiện tại

t=-10:0.001:10; %tạo vector thời gian

r=t.*heaviside(t); %tạo ra hàm đơn vị?

plot(t,r,'r:');

title('Ham doc don vi r(t)'); %tên tiêu đề của đồ thị?

xlabel('Thoi gian lien tuc t'); %giải thích cho trục x

ylabel('Bien do'); %giải thích cho trục y

grid on;

Trang 4

Hình 4.3

nhớ Matlab

clf; %xóa đồ thị hiện tại

t0=input('nhap vao t0');

t=-10:0.001:10; %tạo vector thời gian

r=(t-t0).*heaviside(t-t0); %tạo ra

hàm doc don vi?

plot(t,r);

title('Ham doc don vi r(t)'); %tên

tiêu de cua do thi?

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

nhớ Matlab clf; %xóa đồ thị hiện tại t0=input('nhap vao t0') t=-10:0.001:10; %tạo vector thoi gian r=(t+t0).*heaviside(t+t0); %tao ra hàm doc don vi?

plot(t,r);

title('Ham doc don vi r(t)');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Câu 3 Cho đoạn lệnh sau đây:

**Yêu cầu

a Hãy gõ đoạn lệnh trên vào cửa sổ Command Window và ghi lại kết quả.

Kết quả: dirac(t)

b Viết chương trình Matlab mô phỏng hàm phân bố Delta δ(t) với tỉ lệ thời gian như hình 4.3 và vẽ lại đồ thị của hàm này lên hình 4.3.

clear; %xóa tất cả các biến trong bộ nhớ

Matlab

clf; %xóa do thi hien thi

t=-10:1:10; %tao vector thoi gian

delta =dirac(t) %tao ra hàm phân bo dirac

plot(t,delta);

title('Ham doc don vi r(t)'); %tên tiêu de

cua do thi?

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Thoi gian lien tuc t

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8

c Hãy sửa lại chương trình Matlab mô phỏng hàm phân bố Delta δ(t)để thực hiện các yêu cầu sau đây:

- Độ rộng cho đường thẳng vẽ đồ thị là 2 point

- Mô phỏng hàm phân bố Delta δ(t- t0),δ(t t0) với t0 được nhập từ bàn phím

-4-clear;

clf;

t=-10:1:10; %tao ra vector thoi gian

delta =dirac(t) %tao ra ham phan bo dirac

plot(t,delta,'linewidth',2);

title('Ham doc don vi r(t)');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

>> syms t

>> u=heaviside(t);

>> diff(u,t)

Trang 5

Hàm xung Delta δ(t- t0)

clear;

clf;

t0=input('nhap vao t0')

t=-10:1:10; %tạo vector thời gian

delta =dirac(t-t0); %tạo ra hàm phân

bo dirac

plot(t,delta,'linewidth',2);

title('Ham doc don vi r(t)'); %tên

tiêu đề của đồ thị?

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

Hàm xung Delta δ(t t0)

clear;

clf;

t0=input('nhap vao t0') t=-10:1:10;

delta =dirac(t+t0);

plot(t,delta,'linewidth',2);

title('Ham doc don vi r(t)'); %tên tiêu đề của đồ thị

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

Câu 4

a Viết chương trình Matlab mô phỏng tín hiệu xung vuông và xung tam giác cơ bản trên

cùng một đồ thị

b Vẽ lại đồ thị của các xung này với tỉ lệ thời gian như hình 4.4

Thoi gian lien tuc t

0

0.5

Thoi gian lien tuc t

0

0.5

clear;

clf;

t=-2:0.001:2; % tạo vector thoi gian

x=1*rectpuls(t,1)

y=1*tripuls(t,2)

subplot(2,1,1)

plot(t,x)

title('Xung vuong co ban');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

subplot(2,1,2)

plot(t,y)

title('Xung tam giac co ban');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Trang 6

c Hãy sửa lại chương trình Matlab trên để mô phỏng tín hiệu xung vuông và xung tam giác

cơ bản cùng dịch chuyển về phía trái 1 đơn vị.

Câu 5.

a Viết chương trình Matlab mô phỏng hàm Gausse với tỉ lệ thời gian như hình 4.4 và

vẽ lại đồ thị của hàm này lên hình 4.5.

clear;

clf;

t=-5:0.001:5;

x=gaussmf(t,[0.5,0])

plot(t,x)

title('Ham Gausse');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

-5 -4 -3 -2 -1 0 1 2 3 4 5

Thoi gian lien tuc t

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

1 Ham Gausse

b Hãy sửa lại chương trình Matlab mô phỏng hàm Gausse để thực hiện các yêu cầu sau

đây:

- Mô phỏng hàm Gausse khi dịch chuyển về phía phải 3 đơn vị và độ rộng xung giảm còn một nửa.

-6-Hình 4.5

clear;

clf;

t=-5:0.001:5;

x=gaussmf(t,[0.25,3]);

plot(t,x);

title('Ham Gausse');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Hình 4.4

clear;

clf;

t=-2:0.001:2;

x=1*rectpuls(t+1,1)

y=1*tripuls(t+1,2)

subplot(2,1,1)

plot(t,x)

title('Xung vuong co ban');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

subplot(2,1,2)

plot(t,y)

title('Xung tam giac co ban');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Trang 7

- Mô phỏng hàm Gausse dịch chuyển về phía phải 2 đơn vị và hàm Gausse dịch chuyển

về phía trái 3 đơn vị trên cùng một đồ thị.

Câu 6.

a Viết một chương trình Matlab để tạo ra tín hiệu điều hòa x(t) = Asin(0t + φ) và vẽ tín hiệu này bằng hàm plot Các thông số sau đây được nhập từ bàn phím: biên độ (A), tần số góc (ω0), pha ban đầu (φ) Với điều kiện 0 ≤ ω0 ≤ π và 0 ≤ φ ≤ 2π

Lưu ý: Nếu tần số góc và pha ban đầu nhập vào không thỏa mãn điều kiện thì chương trình

sẽ báo lỗi

clear;

clf;

t=-5:0.001:5;

A=input('Nhap vao bien do A=')

omega=input('Nhap vao omega=')

pha=input('Nhap vao pha ban dau =')

if((omega<0)| (omega>pi)), error('Tan so goc khong hop le');

end;

if ((pha<0)|(pha>2*pi)), error('Pha ban dau khong hop le');

end;

x=A*sin(omega*t+pha)

plot(t,x)

title('Tin hieu dieu hoa');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

b Hãy ghi lời chú thích vào sau các dấu % cho tất cả các dòng lệnh trong đoạn lệnh trên.

clear;

clf;

t=(-5:0.001:5);

x=gaussmf(t,[0.5,2])

y=gaussmf(t,[0.5,(-3)])

plot(t,[x y])

title('Ham Gausse');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

Trang 8

clf;

t=-5:0.001:5;

A=input('Nhap vao bien do A=')

omega=input('Nhap vao omega=')

pha=input('Nhap vao pha ban dau =')

if((omega<0)| (omega>pi)), error('Tan so goc khong hop le');

end;

if ((pha<0)|(pha>2*pi)), error('Pha ban dau khong hop le');

end

x=A*sin(omega*t+pha)

plot(t,x)

title('Tin hieu dieu hoa');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

grid on;

c Vẽ lại đồ thị của tín hiệu này lên hình 4.6 với A = 1, ω0 = π và φ = 0

Thoi gian lien tuc t

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Câu 7.

a Viết một chương trình Matlab dùng các hàm square và sawtooth để tạo ra các dãy xung

vuông, dãy xung răng cưa Các thông s ố sau đây có thể thay đổi bởi người lập trình: tần số (f), biên độ (A)

-8-Hình 4.6

Trang 9

clf;

t=-0.05:0.0001:0.05;

f=input('Nhap tan so f=')

A=input('Nhap bien do A=')

x=A*square(2*pi*f*t)

y=A*sawtooth(2*pi*f*t)

subplot(2,1,1)

plot(t,x)

title('Xung Vuong');

xlabel('Thoi gian lien tuc t')

ylabel('Bien do')

subplot(2,1,2)

plot(t,y)

title('Xung rang cua');

xlabel('Thoi gian lien tuc t')

ylabel('Bien do')

grid on;

b Hãy ghi lời chú thích vào sau các dấu % cho tất cả các dòng lệnh trong đoạn lệnh trên.

c Vẽ lại đồ thị của các dãy xung này lên hình 4.7 với f = 50Hz và A = 1.

clear;

clf;

t=-0.05:0.0001:0.05;

f=input('Nhap tan so f=');

A=input('Nhap bien do A=');

x=A*square(2*pi*f*t); %Tao xung Vuong

y=A*sawtooth(2*pi*f*t); % Tao Xung Rang Cua

subplot(2,1,1);

plot(t,x);

title('Xung Vuong');

xlabel('Thoi gian lien tuc t');

ylabel('Bien do');

subplot(2,1,2);

plot(t,y);

title('Xung rang cua'); % ten tieu de cua tin hieu

xlabel('Thoi gian lien tuc t'); % giai thich cho truc x

ylabel('Bien do'); %giai thich cho truc y

grid on;

Trang 10

-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05

Thoi gian lien tuc t

-1

-0.5

0

0.5

-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05

Thoi gian lien tuc t

-1

-0.5

0

0.5

Câu 8

a Viết chương trình Matlab mô phỏng tín hiệu có phương trình tổng hợp sau đây:

f(t)t(u(t) u(t 2))(6 2t)(u(t 2) u(t 3)) Với  1t5

b Vẽ lại đồ thị của phương trình tổng hợp này lên hình 4.8.

-10-Hình 4.7

clear; % xoa tat ca cac bien trong bo nho Matlab

clf;

t=-1:0.001:5;

ft=t.*(heaviside(t)-heaviside(t-2))+(6-2*t).*(heaviside(t-2)-heaviside(t-3)) plot(t,ft)

title('Tin hieu F(t)'); % ten tieu de cua tin hieu

xlabel('Thoi gian lien tuc t') %truc x

ylabel('Bien do') %truc y

grid on;

Trang 11

-1 0 1 2 3 4 5

Thoi gian lien tuc t

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

Hình 4.8

Ngày đăng: 13/12/2022, 17:00

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