我是靠谱客的博主 大胆皮带,最近开发中收集的这篇文章主要介绍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 时,重复完成上述要求,并从频域解释产生 上述现象的原因,可定性分析,也可通过画出信号的频谱进行分析。
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 频率处的幅值谱)。
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命令),并与前述求和信号进行对比。
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. 采样定理及 ZOH 频率特性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部