Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Lab 4_1

% Program p1_4
% generation of a sinusoidal sequence
n = 0:40;
f= 0.1;
phase = 0 ;
A = 1.55;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
stem(n,x);
axis([0 40 -2 2]);
grid;
title('sinusoidal senquece');
xlabel('time index n');
ylabel('amplitude');
Câu hỏi :
1: trả lời :tần số là f= 0.1 ,pha là phase = 0, biên độ là A= 1.55
Tính chu kì : K/N = 1/10
2 : trả lời : chiều dài của chuỗi là 41 vì n = 0:40 và thay đổi bằng
cách thay đổi n
3 : trả lời: Lệnh axis được sử dụng để đặt giới hạn trục x và y
của đồ thị.Lệnh grid dùng để hiển thị hoặc ẩn lưới trên đồ thị
5 : trả lời:
% Program p1_4
% generation of a sinusoidal sequence
n = 0:40;
f = 0.9; % Thay đổi f thành 0.9
phase = 0;
A = 1.55;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
stem(n,x);
axis([0 40 -2 2]);
grid;
title('sinusoidal senquece (f = 0.9)'); % Đổi tiêu đề
xlabel('time index n');
ylabel('amplitude');

không có sự thay đổi

Vi 0,9 la k=9, n=10


6: trả lời:
% Program p1_4
% generation of a sinusoidal sequence
n = 0:50; % Thay ??i chi?u dài c?a chu?i thành 50
f = 0.08; % Thay ??i t?n s? thành 0.08
phase = pi/2; % D?ch pha 90 ?? (pi/2 radians)
A = 2.5; % Biên ??
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
stem(n,x);
axis([0 50 -2 2]); % ?i?u ch?nh gi?i h?n tr?c x và y
grid;
title('sinusoidal sequence (f = 0.08, phase = 90
degrees)');
xlabel('time index n');
ylabel('amplitude');
Câu 7:
% Program p1_4
% generation of a sinusoidal sequence
n = 0:40;
f = 0.1;
phase = 0;
A = 1.55;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
plot(n, x); % Thay th? l?nh stem b?ng l?nh plot
axis([0 40 -2 2]);
grid;
title('sinusoidal sequence');
xlabel('time index n');
ylabel('amplitude');
Câu 8:
% Program p1_4
% generation of a sinusoidal sequence
n = 0:40;
f = 0.1;
phase = 0;
A = 1.55;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
stairs(n, x); % Thay th? l?nh stem b?ng l?nh stairs
axis([0 40 -2 2]);
grid;
title('sinusoidal senquece');
xlabel('time index n');
ylabel('amplitude');
LAB4_2
Câu 1: cho chương trình chạy
% Program P1_5
% Signal Smoothing by Averaging
clf;
R = 51;
d =0.8* (rand(R,1) - 0.5);
m=0:R-1;
s = 2*m.*(0.9.^m);
x = s + d';
subplot(2,1,1);
plot(m,d', 'r', m,s,'g',m,x, 'b-.');
xlabel('Time index n');ylabel('Amplitude');
legend('d[n] ','s[n] ','x[n] ');
x1 = [0 0 x];
x2=[0 x 0];
x3= [x 0 0];
y=(x1 + x2 + x3)/3;
subplot (2,1,2);
plot (m,y (2:R+1),'r-',m,s,'g--');
legend('y [n] ','s[n] ');
xlabel('Time index n');ylabel('Amplitude');
Câu 2: Có thể dùng công thức x=s +d dể tạo ra tín hiệu nhiễu không? Nếu không
hay giải thích?
Không. Vì để tạo ra tín hiệu bị nhiễu, thường cần sử dụng các kỹ thuật xử lý
tín hiệu như thêm nhiễu ngẫu nhiên, nhiễu từ môi trường, hoặc nhiễu từ quá
trình đo lường. Đối với tình huống này, tín hiệu nhiễu d đã được tạo ra ngẫu
nhiên bằng cách sử dụng hàm rand trong đoạn mã đã được cung cấp, và sau
đó được thêm vào tín hiệu gốc s để tạo ra tín hiệu kết quả x.
Câu 3: Nêu mối quan hệ giữa các tín hiệu x1, x2, x3, với tín hiệu x.
Tín hiệu x1: Được tạo ra bằng cách thêm hai giá trị 0 vào phía trước của tín
hiệu x, tạo thành một mảng có độ dài bằng với tín hiệu x, nhưng phần tử đầu
tiên và thứ hai đều bằng 0.
Tín hiệu x2: Tạo ra bằng cách dịch tín hiệu x sang phải một vị trí. Phần tử
cuối cùng của tín hiệu x2 cũng được thay thế bằng 0.
Tín hiệu x3: Tạo ra bằng cách dịch tín hiệu x sang trái một vị trí. Phần tử
đầu tiên của tín hiệu x3 cũng được thay thế bằng 0.
Tín hiệu x1, x2, x3 và x là x1, x2 và x3 đều được sử dụng để tạo ra tín hiệu x
thông qua phép toán trung bình.
Câu 4: nêu công thức của lệnh legend.
lệnh "legend" được sử dụng để đặt chú thích cho các đường trong
biểu đồ, bao gồm "d[n]", "s[n]" và "x[n]". giúp biết được mỗi
đường tương ứng với tín hiệu nào trong biểu đồ.
lệnh "legend" được sử dụng để đặt chú thích cho các đường trong
biểu đồ, bao gồm "y[n]" và "s[n]". điều này giúp được tín hiệu y
được tạo ra từ tín hiệu s và quá trình làm mịn tín hiệu.
LAB4_3
% Program P1_2
% Generation of a complex exponential sequence
clf;
c = -(1/12)+(pi/6)*i;
K = 2;
n = 0:40;
x = K*exp (c*n) ;
subplot (2,1,1) ;
stem (n, real (x));
xlabel ('Time index n'); ylabel ('Amplitude');
title ?'Real part');
%axis ( [0 40 -5 5]);
subplot(2,1,2) ;
stem (n, imag (x)) ;
xlabel ('Time index n'); ylabel ('Amplitude');
title ('Imaginary part');
Câu 1: trong chương trình P1_2 tham số nào điều khiển
độ tăng hay giảm của chuỗi, tham số nào điều khiển biên
độ của chuỗi?
Tham số C tăng hay giảm của biên độ của chuỗi
Tham số K. Điều khiển của chuỗi

Câu 2: Nếu c= (1/12)+ (pi/6)*i thì đồ thị của chuỗi có gì


thay đổi?
Khi c= (1/12)+ (pi/6)*i, chuỗi số phức x sẽ có tính chất khác biệt so với
khi c= (1/12)+ (pi/6)*i. Trong trường hợp này, phần thực và phần ảo của
chuỗi số phức 𝑥 sẽ thay đổi theo cách không giống nhau. Để biết chính
xác sự thay đổi này, ta có thể chạy chương trình với giá trị mới của c và
vẽ lại đồ thị tương ứng của phần thực và phần ảo của chuỗi số phức x.
Câu 3: nêu công dụng của các toán tử real và imag.
real và imag được sử dụng để trích xuất phần thực và
phần ảo của chuỗi số phức 𝑥, sau đó vẽ biểu đồ của phần
thực và phần ảo đó theo thời gian.
Câu 4: nêu công dụng của lệnh subplot.
Công dụng chính của lệnh subplot là chia màn hình
hiển thị thành nhiều phần nhỏ và hiển thị biểu đồ hoặc
hình ảnh khác nhau trong từng phần
subplot(2,1,1): Tạo một lưới 2 hàng, 1 cột và chọn ô
thứ nhất. Điều này đặt ô hiện tại làm ô trên cùng
trong lưới và sẽ vẽ biểu đồ trong ô này.
subplot(2,1,2): Tạo một lưới 2 hàng, 1 cột và chọn ô
thứ hai. Điều này đặt ô hiện tại làm ô dưới cùng trong
lưới và sẽ vẽ biểu đồ trong ô này.

Lab5_a
n = -2:10
x = [1:7,6:-1:1]
[x11,n11] = sigshift(x,n,5) % x(n-5)
[x12,n12] = sigshift(x,n,-4) % x(n+4)
[x1,n1] = sigadd(2*x11,n11,-3*x12,n12)
subplot(2,1,1)
stem(n1,x1)
title ('Sequence in example a')
xlabel('n'); ylabel('x1(n)')
Lab5_b
n = -2:10;
x = [1:7, 6:-1:1];
% D?ch chuy?n sequence x theo yêu c?u
[x21, n21] = sigshift(x, n, 3); % x(n-3)
[x22, n22] = sigshift(x, n, -2); % x(n+2)
% L?t ng??c sequence x21 và x22
[x21, n21] = sigfold(x21, n21); % x(3-n)
[x22, n22] = sigfold(x22, n22); % x(n-2)
% Tính toán sequence k?t qu? x2(n)
[x2, n2] = sigadd(x21, n21, x22, n22);
subplot(2, 1, 1);
stem(n2, x2);
title('Sequence in example x2(n)');
xlabel('n');
ylabel('x2(n)');

You might also like