文章目录
时域离散信号的产生
1.单位抽样信号 δ ( n ) \delta(n) δ(n)
生成 δ ( n ) \delta(n) δ(n):
n = -10:10;
delta = zeros(size(n)); % 创建一个与时间索引相同大小的零向量
delta(n == 0) = 1; % 将delta函数的第一个元素设置为1
stem(n,delta,"filled");
axis([-10,10,-1,2]);
grid on;
生成 δ ( n + m ) \delta(n+m) δ(n+m)
n = -10:10;
num_samples = 4; % 要生成的单位抽样序列的数量
delta = zeros(num_samples, length(n)); % 创建一个2D矩阵,每行包含一个单位抽样序列
delta(1, n == 0) = 1;
delta(2, n == 1) = 1;
delta(3, n == 2) = 1;
delta(4, n == -1) = 1;
% 绘制多个单位抽样序列
figure('color','white');
for count=1:num_samples
subplot(2,2,count);
stem(n,delta(count,:),"filled");
title(['\delta_', num2str(count), '(n)']);
axis([-10, 10, -1, 2]);
grid on;
end
2.单位阶跃序列 u ( n ) u(n) u(n)
生成 u ( n ) u(n) u(n)
n = -10:10;
u = zeros(size(n)); % 创建一个与时间索引相同大小的零向量
u(n >= 0) = 1; % 将u函数的非负时间索引的值设置为1
stem(n,u,"filled");
axis([-10,10,-1,2]);
stem(n,u,"filled");
生成 u ( n + m ) u(n+m) u(n+m)
n = -10:10;
u1 = zeros(size(n));
u2 = zeros(size(n));
u3 = zeros(size(n));
u1(n >= 0) = 1;
u2(n >= 3) = 1;
u3(n >= -2) = 1;
figure('color','white');
subplot(311)
stem(n,u1,"filled");
axis([-10,10,-1,2]);
subplot(312)
stem(n,u2,"filled");
axis([-10,10,-1,2]);
subplot(313)
stem(n,u3,"filled");
axis([-10,10,-1,2]);
3.实指数序列
生成 a n a^{n} an
n = -5:5;
a = 2;b = 0.5;
x1 = a.^(n);
x2 = b.^(n);
figure('color','w');
subplot(121)
stem(n,x1,"filled");
title('2^{n}');
subplot(122)
stem(n,x2,"filled");
title('0.5^{n}');
生成 a n u ( n ) a^{n}u(n) anu(n)
n = -5:5;
a = 2;b = 0.5;
u=zeros(size(n));
u(n>=0)=1;
x1 = a.^(n).*u;
x2 = b.^(n).*u;
figure('color','w');
subplot(121)
stem(n,x1,"filled");
title('2^{n}u(n)');
subplot(122)
stem(n,x2,"filled");
title('0.5^{n}u(n)');
4. 复指数信号
x ( n ) = e ( σ + j ω ) n = c o s ( σ n ) + j s i n ( ω n ) x(n)=e^{(\sigma+j\omega)n}=cos(\sigma n)+jsin(\omega n) x(n)=e(σ+jω)n=cos(σn)+jsin(ωn)
n = -10:100; % 生成时间索引
sigma = 0.05; % 实部的σ值
omega = 0.6; % 虚部的ω值
x = exp((sigma + 1i * omega) * n);
figure('color', 'w')
subplot(2, 1, 1);
stem(n, real(x), 'filled');
title('实部');
subplot(2, 1, 2);
stem(n, imag(x), 'filled');
title('虚部');
5. 余弦信号 A c o s ( ω n + φ ) Acos(\omega n+\varphi) Acos(ωn+φ)t
奈奎斯特采样定律(Nyquist Sampling Theorem)
阐述了在对连续信号进行离散采样时,必须以不小于信号的最高频率的两倍的采样率来进行采样,以便完整地还原原始信号。奈奎斯特采样定律通常用数学公式表示如下:
如果连续信号的最高频率成分为 ( F max ) (F_{\text{max}}) (Fmax),那么采样频率 ( F s ) (F_{\text{s}}) (Fs) 必须满足以下条件:
F s ≥ 2 ⋅ F max F_{\text{s}} \geq 2 \cdot F_{\text{max}} Fs≥2⋅Fmax
这个条件确保了在离散采样中不会丢失信号的信息,以便在后续的重建中完整还原原始信号。如果采样频率低于
2
F
max
2 F_{\text{max}}
2Fmax,那么就会发生混叠现象,信号的高频成分会折叠到采样频率以下的频率范围内,导致信息丢失。
采样公式,对于余弦函数为例,可以表示为:
x S a m p l e ( n ) = x c ( n T S a m p l e ) = A c o s ( ω c n T S a m p l e + φ ) x_{Sample}(n) = x_{c}(nT_{Sample}) = A cos(\omega_{c} nT_{Sample} + \varphi) xSample(n)=xc(nTSample)=Acos(ωcnTSample+φ)
生成采样信号
t = -10:0.001:10; % 连续时间范围
n = -10:10;
A = 7;
omega_c = 1;
T_c = (2 * pi )/ omega_c;
F_c = 1 / T_c;
phi = 0;
% 连续信号
xt = A * cos(omega_c * t + phi);
% 采样信号1
F_s1 = 2 * F_c+1 ; % F_s1 > 2 * F_c;
T_s1 = 1 / F_s1;
xn1 = A * cos(omega_c * n * T_s1 + phi);
% 采样信号2
F_s2 = 1.2* F_c ; % F_s2 < 2 * F_c
T_s2 = 1 / F_s2;
xn2 = A * cos(omega_c * n * T_s2 + phi);
subplot(311)
plot(t, xt);
% 使用 line 函数绘制 x 轴的直线
line([min(t), max(t)], [0, 0], 'Color', 'k', 'LineStyle', '-');
subplot(312)
stem(n, xn1);
subplot(313)
stem(n, xn2);
6. 矩形窗函数
n=-10:10;
x=square(n);
stem(n,x);
axis([-10,10,-2,2]);
包络函数 S a ( n ) Sa(n) Sa(n)
n=-20:20;
x=sinc(n/3);
stem(n,x);
axis([-20,20,-0.5,1.5]);