笔记部分在知乎,连接放这里https://zhuanlan.zhihu.com/p/669831633?https://zhuanlan.zhihu.com/p/669831633?
目录
实验1:MATLAB语言上机操作实践
P4 练习题
请在同一图形窗口用2×2子图轴系描绘下列函数波形:
- (1)
- (2)
- (3)
- (4)
注意:上述练习题中出现的乘除运算是数组运算还是矩阵运算?应使用什么运算符?
%%% Copyright(C) 2023
%%% Signals and Systems Homework
%%% @test 1: MATLAB语言上机操作实践
%%% @Institution: Department of Applied Geophysics, Sgip CSU
%%% @data: 2023/11/25 14:33
% clear
clc;
clear;
% definition
t1 = 0: 0.2: 4;
f1 = 4 .* exp(-2 .* t1);
t2 = 0: 0.05: 3;
f2 = exp(-t2) .* cos(2 .* pi .* t2);
t3 = 0: 1: 10;
f3 = t3;
t4 = 0: 0.2: 10;
f4 = t4 .* sin(t4);
% 应该使用元素乘法
% plot
figure('WindowState','maximized');
subplot(2, 2, 1);
plot(t1, f1);
xlabel('t');ylabel('f1(t)');
subplot(2, 2, 2);
plot(t2, f2);
xlabel('t');ylabel('f2(t)');
subplot(2, 2, 3);
plot(t3, f3);
xlabel('t');ylabel('f3(t)');
subplot(2, 2, 4);
plot(t4, f4);
xlabel('t');ylabel('f4(t)');
实验2:时域离散信号的产生
P17
编写程序,产生下列离散序列(用同一图形窗口):
- (1)
- (2)
- (3)(分实部和虚部做图)
- (4)
- (5)
%%% Copyright(C) 2023
%%% Signals and Systems Homework
%%% @test 2: 时域离散信号的产生
%%% @Institution: Department of Applied Geophysics, Sgip CSU
%%% @data: 2023/11/29 15:31
% clear
clc;
clear;
% definition
n1 = -3: 4;
f1 = [zeros(1,3) 1 zeros(1,4)];
n2 = -5: 5;
f2 = [zeros(1,5) ones(1,6)];
n3 = 0: 16;
f3 = 0.1 .* exp((0.1 + 1i .* 0.6 .* pi) .* n3);
n4 = 0: 20;
f4 = 3 .* sin(1 ./ 4 .* pi .* n4);
n5 = -20: 20;
f5 = sin(n5 ./ 5) ./ n5 .* 5;
% plot
figure('WindowState','maximized');
subplot(2, 3, 1);
stem(n1,f1);
xlabel('n');ylabel('f1[n]');
subplot(2, 3, 2);
stem(n2, f2);
xlabel('n');ylabel('f2[n]');
subplot(2, 3, 3);
stem(n3, real(f3));
xlabel('n');ylabel('real f3[n]');
subplot(2, 3, 4);
stem(n3, imag(f3));
xlabel('n');ylabel('imag f3[n]');
subplot(2, 3, 5);
stem(n4, f4);
xlabel('n');ylabel('f4[n]');
subplot(2, 3, 6);
stem(n5, f5);
xlabel('n');ylabel('f5[n]');
实验3:离散序列的基本运算
P26
四、实验任务
(2)用MATLAB实现下列信号序列
③已知x(n)=3cos(2πn/10),试显示x(n-3)和x(n+3)在0<n<20区间的波形。
④已知x1=e-n/16,x2(n)=5sin(2πn/10),试显示x1(n)×x2(n)在0<n<24区间的波形。
%%% Copyright(C) 2023
%%% Signals and Systems Homework
%%% @test 3: 离散序列的基本运算
%%% @Institution: Department of Applied Geophysics, Sgip CSU
%%% @data: 2023/11/29 15:51
% clear
clc;
clear;
% definition
n1 = 0: 20;
x = 3 .* cos(2 .* pi .* n1 ./ 10);
x1 = 3 .* cos(2 .* pi .* (n1 + 3) ./ 10);
x2 = 3 .* cos(2 .* pi .* (n1 - 3) ./ 10);
n2 = 0: 24;
x3 = exp(n2 ./ 16);
x4 = 5 .* sin(2 .* pi .* n2 ./ 10);
x5 = x3 .* x4;
% plot
figure('WindowState','maximized');
subplot(2, 3, 1);
stem(n1, x1);
xlabel('n');ylabel('x[n+3]');
subplot(2, 3, 2);
stem(n1, x2);
xlabel('n');ylabel('x[n-3]');
subplot(2, 3, 3);
stem(n2, x5);
xlabel('n');ylabel('x1[n] × x2[n]');
实验5:卷积的原理及应用
P39
四、实验任务
(2)编写MATLAB程序,输出下列信号序列的卷积波形。
①f1(n)=d(n-1),f2(n)=u(n-2),(0≤n<10)
②f1(n)=u(n),f2(n)=e0.2nu(n),(0≤n<10)
③x(n)=sin(n/2),h(n)=(0.5)n,(-3≤n≤4π)
%%% Copyright(C) 2023
%%% Signals and Systems Homework
%%% @test 3: 卷积的原理及应用
%%% @Institution: Department of Applied Geophysics, Sgip CSU
%%% @data: 2023/11/29 15:51
% clear
clc;
clear;
% definition
n1 = 0: 10;
f1 = [0 1 zeros(1,9)];
f2 = [zeros(1,2) ones(1,8)];
F1 = conv(f1, f2);
n2 = 0: 10;
f3 = [ones(1,11)];
f4 = exp(0.2 .* n2) .* f3;
F2 = conv(f4, f3);
n3 = -3: 4 * pi;
f5 = sin(n3 ./ 2);
h = 0.5 .^ n3;
F3 = conv(f5, h);
% plot
figure('WindowState','maximized');
subplot(2, 3, 1);
stem(F1);
xlabel('n');ylabel('f1[n] * f2[n]');
subplot(2, 3, 2);
stem(F2);
xlabel('n');ylabel('f1[n] * f2[n]');
subplot(2, 3, 3);
stem(F3);
xlabel('n');ylabel('f[n] * h[n]');
实验11:离散傅里叶级数(DFS)
P91
四 实验任务
(2)已知一个信号序列的主值为x(n)=[0,1,2,3,2,1,0],显示2个周期的信号序列波形。要求:
①用傅里叶级数变换求信号的幅度频谱和相位频谱,用图形表示。
②求傅里叶级数逆变换的图形,并与原信号图形进行比较。
(3)已知一个信号序列的主值为x(n)=R2(n),。要求:
①显示x(n)和x'(n)图形。
②用傅里叶级数变换求x'(n) 的幅度和相位角,并显示图形。
%%% Copyright(C) 2023
%%% Signals and Systems Homework
%%% @test 3: 离散傅里叶级数
%%% @Institution: Department of Applied Geophysics, Sgip CSU
%%% @data: 2023/12/03 23:43
% clear
clc;
clear;
% definition
% question 1 %
xn = [0 1 2 3 2 1];
xxn = [xn xn];
X = fft(xxn);
absX = abs(X);
angleX = angle(X);
ix = ifft(X);
% question 2 %
N2 = 4;
xn2 = [1 1 0 0];
xn2 = [xn2 xn2];
n2 = 0: 2 * N2-1;
k2 = 0: 2 * N2-1;
Xk2 = xn2 .* exp(-1i * 2 * pi ./ N2) .^ (n2 .* k2);
x2 = (Xk2 .* exp(1i * 2 * pi ./ N2) .^ (n2 .* k2)) ./ N2;
% plot
figure('WindowState','maximized');
subplot(2, 4, 1);
stem(xxn);
xlabel('n');ylabel('x[n]');
subplot(2, 4, 2);
plot(absX);
xlabel('omega');ylabel('|X(omega)|');
subplot(2, 4, 3);
plot(angleX);
xlabel('omega');ylabel('∠X(omega)')
subplot(2, 4, 4);
stem(ix);
xlabel('n');ylabel('x[n](IFFT)');
subplot(2, 4, 5);
stem(n2,xn2);
xlabel('n');ylabel('x[n]');
subplot(2, 4, 6);
stem(n2,abs(x2));
subplot(2, 4, 7);
stem(k2,abs(Xk2));
xlabel('omega');ylabel('|X(omega)|');
subplot(2, 4, 8);
stem(k2,angle(Xk2));
xlabel('omega');ylabel('∠X(omega)')