我是靠谱客的博主 大胆皮带,这篇文章主要介绍2. 采样定理及 ZOH 频率特性,现在分享给大家,希望可以做个参考。

2.3.1 采样定理

e1(t)=sin(2pt)e2(t)=sin(18pt+180°) e 1 ( t ) = s i n ( 2 p t ) 、 e 2 ( t ) = s i n ( 18 p t + 180 ° ) e3(t)=sin(22pt) e 3 ( t ) = s i n ( 22 p t ) 三种连续时间信号,用采样频率 10Hz 进行周期采样,
  • 试用 MATLAB 画出 t=0 到 1 秒的采样信号。分析发生了什么现象及原因?
  • 画出所有连续时间信号。
  • 如果采样周期变为 20Hz、30Hz 时,重复完成上述要求,并从频域解释产生 上述现象的原因,可定性分析,也可通过画出信号的频谱进行分析。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
f=1;fs=100; t=0:1/fs:1; y1=sin(2*pi*f*t); subplot(3,1,1); stem(t,y1);grid on title('e1 100Hz'); f=1;fs=20; t=0:1/fs:1; y1=sin(2*pi*f*t); subplot(3,1,2); stem(t,y1);grid on title('e1 20Hz'); f=1;fs=30; t=0:1/fs:1; y1=sin(2*pi*f*t); subplot(3,1,3); stem(t,y1);grid on title('e1 30Hz'); figure(2); f=1;fs=100; t=0:1/fs:1; y1=sin(2*pi*f*t); subplot(3,1,1); plot(t,y1);grid on title('e1 100Hz'); f=9;fs=100; t=0:1/fs:1; y2=sin(2*pi*f*t+180); subplot(3,1,2); plot(t,y2);grid on title('e2 100Hz'); f=11;fs=100; t=0:1/fs:1; y3=sin(2*pi*f*t); subplot(3,1,3); plot(t,y3);grid on title('e3 100Hz');

2.3.2 零阶保持器

试画出零阶保持器的幅值谱和相位谱,和已知的学习结果比较,并进行分析 (采样频率 10Hz,请计算出 0 频率处的幅值谱)。
复制代码
1
2
3
4
5
6
7
8
fs = 10; w = 0:400; T = 1/fs; g = (1-exp(-T*1i*w))./(1i*w); subplot(2,1,1); plot(w,abs(g)); subplot(2,1,2); plot(w,angle(g));

2.3.3 采样及零阶保持

一周期信号 e1(t)=sin(2pt) e 1 ( t ) = s i n ( 2 p t ) 用采样频率10Hz进行周期采样,后通过零阶保持 器,试画出

  1. 周期信号e1(t)=sin(2pt)的幅值谱;
  2. 周期信号e1(t)=sin(2pt)被周期采样后,离散信号的幅值谱;(注意离散信号频谱的幅值)
  3. 通过ZOH后输出信号的幅值谱和相位谱.(信号经过传递函数;预估一下幅值谱什么样子?)
  4. 步骤c输出信号频谱中前5个非零频率分量对应的时间信号,并画出5个时间域信号求和后的信号。
  5. 在同一张图上画出:采样信号e1(kT)=sin(2pkT)、T=0.1s、k≥0 经过零阶保持器的输出信号(stair命令),并与前述求和信号进行对比。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
fs = 10;%采样频率为10Hz t = 0:1/fs:0.9;%时间区间 e2 = sin(2*pi*t);%采样后的时间域信号 N = size(e2,2);%%FFT的数据长度 y = fft(e2,N);%信号的Fourier变换 f = (0:N-1)*fs/N;%真实频率 mag=abs(y);%求取幅值 subplot(5,1,1); plot(f,mag);%做出幅频图 %如果期望绘制的幅频图的频率范围为0~fs,则无需运行fftshift变换,正频率对应在[0, fs/2], %实信号fft的结果前半部分对应[0, fs/2]是正频率的结果,后半部分对应[ -fs/2, 0]是负频率的结果。 %大于fs/2的部分的频谱实际上是实信号的负频率加fs的结果。 %故要得到正确的结果,只需将视在频率减去fs即可得到频谱对应的真实负频率 %如果要让实信号fft的结果与[-fs/2, fs/2]对应,则要fft后fftshift一下即可 s_y = fftshift(y);%将fft结果以fs/2为中心左右互换 s_f = (0:N-1)*fs/N-fs/2;%将真实频率减去fs/2 subplot(5,1,2); plot(s_f,abs(s_y)); xlabel('频率/Hz'); ylabel('幅值'); title('周期信号幅值谱') size(y)%[10个] %离散时间信号的幅值谱 Y = [abs(y),abs(y),abs(y)]*fs; %[30个] subplot(5,1,3); plot(0:1:29,Y); xlabel('频率/Hz'); ylabel('幅值'); title('被周期采样后,离散信号的幅值谱') T =1/fs; ff = 0:1:29; %连续时间信号的幅值谱和相位谱 Gh0 = (1-exp(-T*1i*2*pi*ff)./(1i*2*pi*ff));%零阶保持器 %离散时间信号的幅值谱和相位谱 YY=[y,y,y]*fs; FINAL = YY.*Gh0; subplot(5,1,4); plot(ff,abs(FINAL)) xlabel('频率/Hz'); ylabel('幅值'); title('通过ZOH后输出信号的幅值谱') subplot(5,1,5); plot(ff,angle(FINAL)) xlabel('频率/Hz'); ylabel('幅值'); title('通过ZOH后输出信号的相位谱') %时间域的正弦信号与频率域还原成正弦信号与真实信号的不同。 figure(2) A=abs(FINAL); B=angle(FINAL); mag0 = [A(2) A(10) A(12) A(20) A(22) A(30)];%取出步骤c输出信号频谱中前5个非零频率分量 ang0 = [B(2) B(10) B(12) B(20) B(22) B(30)]; %信号1 t1=0:pi/100:2*pi; sig1=2*mag0(1)*cos(2*pi*t1+ang0(1)); subplot(6,1,1); plot(t1,sig1) title('第一个时间域信号'); %信号2 sig2=2*mag0(2)*cos(2*pi*t1+ang0(2)); subplot(6,1,2); plot(t1,sig2) title('第二个时间域信号'); %信号3 sig3=2*mag0(3)*cos(2*pi*t1+ang0(3)); subplot(6,1,3); plot(t1,sig3) title('第三个时间域信号'); %信号4 sig4=2*mag0(4)*cos(2*pi*t1+ang0(4)); subplot(6,1,4); plot(t1,sig4) title('第四个时间域信号'); %信号5 sig5=2*mag0(5)*cos(2*pi*t1+ang0(5)); subplot(6,1,5); plot(t1,sig5) title('第五个时间域信号'); sig=sig1+sig2+sig3+sig4+sig5; %求和信号 subplot(6,1,6); plot(t1,sig) title('5个时间域信号求和后的信号');

对信号fft,得到一个数组,其中数组的元素下标和物理意义上的频率是有关联的,因此有了转换关系式:

f=kfs/N f = k ∗ f s / N

k k 是数组下标,fs是采样频率, N N 是你信号的长度

因为实信号以fs为采样速率的信号在 s/2 s / 2 处混叠,所以实信号 fft的结果中前半部分对应[0, fs/2],后半部分对应[ -fs/2, 0]
  • 实信号fft的结果前半部分对应 [0,fs/2] [ 0 , f s / 2 ] 正频率的结果,后半部分对应 [fs/2,0] [ − f s / 2 , 0 ] 负频率的结果。大于 fs/2 f s / 2 的部分的频谱实际上是实信号的负频率加fs的结果。故要得到正确的结果,只需将视在频率减去fs即可得到频谱对应的真实负频率
  • 如果要让实信号fft的结果与 [fs/2,fs/2] [ − f s / 2 , f s / 2 ] 对应,则要fftfftshift一下即可,fftshift的操作是将fft结果以 fs/2 f s / 2 为中心左右互换
  • 如果实信号fft的绘图频率f从 [fs/2,fs/2] [ − f s / 2 , f s / 2 ] ,并且没有fftshift,则fft正频谱对应f在[0,fs/2]的结果将混叠到(f - fs/2)的位置;
  • fft负频谱对应f在[-fs/2, 0]的结果混叠到 f+fsfs/2 f + f s − f s / 2 的位置,注意这里f为负值,也就是说此种情况下fft负频谱对应的视在频率减去fs/2即可得到频谱对应的真实负频率

fftshift用法
fft用法

最后

以上就是大胆皮带最近收集整理的关于2. 采样定理及 ZOH 频率特性的全部内容,更多相关2.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(129)

评论列表共有 0 条评论

立即
投稿
返回
顶部