实验一采样率对信号频谱的影响Word文件下载.docx
《实验一采样率对信号频谱的影响Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验一采样率对信号频谱的影响Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
之间的关系,来讨论采样不失真的条件
(7-16)
上式表明,一个连续信号经过理想采样后,其频谱将以采样频率Ωs=2π/Ts为间隔周期延拓,其频谱的幅度与原模拟信号频谱的幅度相差一个常数因子1/Ts。
只要各延拓分量与原频谱分量之间不发生频率上的交叠,则可以完全恢复原来的模拟信号。
根据式(7-16)可知,要保证各延拓分量与原频谱分量之间不发生频率上的交叠,则必须满足Ωs≥2Ω。
这就是奈奎斯特采样定理:
要想连续信号采样后能够不失真地还原原信号,采样频率必须大于或等于被采样信号最高频率的两倍
,或者
(7-17)
即对于最高频率的信号一个周期内至少要采样两点,式中Ωh、fs、Th分别为被采样模拟信号的最高角频率、频率和最小周期。
在对正弦信号采样时,采样频率要大于这一最低的采样频率,或小于这一最大的采样间隔才能不失真地恢复信号。
对正弦信号采样时,一般要求在一个周期至少采样3个点,即采样频率
3.实验内容
(1)采样率的确定
在本实验中要用到正弦信号、余弦信号和矩形波:
正弦信号:
sin(20πt);
余弦信号:
cos(20πt);
矩形波:
频率为50Hz、占空比为1的矩形波
(2)计算采样后所得序列的频谱
①正弦信号在采样率为15Hz、20Hz和50Hz时采样所得序列的频谱;
②余弦信号在采样率为15Hz、20Hz和50Hz时采样所得序列的频谱;
③矩形波在采样率为100Hz、400Hz和800Hz时采样所得序列的频谱;
(3)分析不同信号在不同采样率下频谱的特点
4.实验步骤
(1)复习并理解时域采样定理;
(2)编写Matlab程序计算不同采样率下信号的频谱;
(3)调试程序,排除程序中的错误;
(4)分析程序运行结果,检验是否与理论一致。
5.实验报告要求
(1)阐明实验的目的、原理和内容;
(2)打印主要程序并粘贴在实验报告中;
(3)打印实验结果并粘贴在实验报告中;
(4)针对实验结果加以分析和总结。
6.思考题
(1)对相同频率的正弦和余弦信号,均采用信号频率2倍的采样率采样时所得序列的频谱有何不同?
为什么?
(2)50Hz的矩形波的采样率为何不能为100Hz?
(3)对矩形波,要完全不失真采样率应为多少?
一般采样率为信号频率的多少倍时就可近似认为没有失真?
例3-5-1试求信号x(t)=sin(100πt)用采样率为80Hz、100Hz、101Hz、150Hz时采样所得序列的频谱,要求频率分辨率为0.5Hz。
解:
频率分辨率为0.5Hz,则频域采样点数分别为160、200、202和300。
程序如下:
deltf=0.5;
%频率分辨率
Fs1=80;
Fs2=100;
Fs3=101;
Fs4=150;
%采样率
N1=Fs1/deltf;
N2=Fs2/deltf;
N3=Fs3/deltf;
N4=Fs4/deltf;
%采样点数
n1=0:
N1-1;
n2=0:
N2-1;
n3=0:
N3-1;
n4=0:
N4-1;
%采样点
x1=sin(100*pi*n1/Fs1);
x2=sin(100*pi*n2/Fs2);
%采样
x3=sin(100*pi*n3/Fs3);
x4=sin(100*pi*n4/Fs4);
y1=fft(x1);
y2=fft(x2);
y3=fft(x3);
y4=fft(x4);
%快速傅里叶变换
y1=y1.*conj(y1)/N1^2;
y2=y2.*conj(y2)/N2^2;
%计算功率
y3=y3.*conj(y3)/N3^2;
y4=y4.*conj(y4)/N4^2;
subplot(2,2,1);
plot((0:
49)/Fs1,x1(1:
50));
xlabel('
时间/s'
);
ylabel('
幅度'
axis([00.6-11.5]);
text(0.02,1.2,'
采样率为80Hz的时域波形'
subplot(2,2,2);
plot(n1*Fs1/N1,y1);
频率/Hz'
幅度(功率)'
text(10,0.32,'
采样率为80Hz的频谱'
%下面显示波形的程序省略
程序运行结果如图3-15所示,信号实际频率为50Hz,现分析如下:
①在采样率为80Hz时,频谱中有两个冲激,分别对应30Hz和50Hz,50Hz的冲激与理论一致,30Hz的冲激为采样率(80Hz)与信号实际频率(50Hz)之差,即30Hz冲激其实是下一周期负频率对应的冲激,表明频谱前后周期之间出现了重叠,即混叠;
②采样率为100Hz时,时域波形和频谱幅度均极小,近似为0,时域波形杂乱无章,频谱也无规律可言,原因在于,采样率刚好为频率的2倍,所以采样点刚好落在了幅值为0处,故几乎无信号;
③采样率为101Hz时,时域波形幅度由0逐渐递增直至达到1,频谱中有两个冲激,一个对应50Hz,一个对应51Hz(两个冲激距离很近),从时域来看出现了失真,从频域来看,基本没有混叠;
④采样率为150Hz时,时域波形与理论波形变化规律一致,但幅度没达到最大理论值1,频谱中有两个冲激,一个对应50Hz,一个对应100Hz,两者关于中心点N/2对称,根据前面的分析可知,100Hz的冲激其实对应于下一周期的负频率的冲激,由于数字频率一般取-π~π(对应于-N/2~N/2),故100Hz的冲激没有影响。
因此,对于正弦信号,采样率低于2fh时将出现频谱混叠。
图3-15x(t)=sin(100πt)不同采样率的时域波形和频谱
例3-5-2试求频率为50Hz的矩形波用采样率为400Hz、500Hz、600Hz、1000Hz时采样所得序列的频谱,要求频率分辨率为0.5Hz。
矩形波是由基频的奇次谐波构成,最高频率为∞,因此无论如何都将产生频谱的混叠。
但是随着频率的升高,其幅度衰减很快,因此,只要采样频率达到一定程度,就认为没有失真。
在实际处理一些波形时也常采用这一近似。
Fs1=400;
Fs2=500;
Fs3=600;
Fs4=1000;
x1=square(100*pi*n1/Fs1);
x2=square(100*pi*n2/Fs2);
x3=square(100*pi*n3/Fs3);
x4=square(100*pi*n4/Fs4);
y1=abs(y1);
y2=abs(y2);
%计算绝对值
y3=abs(y3);
y4=abs(y4);
figure
(1)
stem((0:
399)/Fs1,x1(1:
400));
axis([00.1-1.51.5]);
text(0,1.25,'
采样率为400Hz的时域波形'
幅度(绝对值)'
text(8,550,'
采样率为400Hz的频谱'
subplot(2,2,3);
499)/Fs2,x2(1:
500));
采样率为500Hz的时域波形'
subplot(2,2,4);
plot(n2*Fs2/N2,y2);
text(8,750,'
采样率为500Hz的频谱'
figure
(2)
599)/Fs3,x3(1:
600));
axis([00.08-1.51.5]);
采样率为600Hz的时域波形'
plot(n3*Fs3/N3,y3);
采样率为600Hz的频谱'
999)/Fs4,x4(1:
1000));
axis([00.06-1.51.5]);
采样率为1000Hz的时域波形'
plot(n4*Fs4/N4,y4);
text(10,1300,'
采样率为1000Hz的频谱'
现分析如下:
①在采样频率为400Hz时,频谱图中出现了比较明显的4个冲激,频率分别对应于50Hz、150Hz、250Hz和350Hz。
50Hz为基频,150Hz为3次谐波,250Hz和350Hz对应于下一周期的3次谐波和基频的负频率。
显然没有5次谐波及以上的冲激,因为5次谐波频率为250Hz,采样率400Hz小于其2倍,出现了混叠失真;
②在采样率为500Hz时,频谱与采样率为400Hz时类似,3次谐波的冲激更加明显,采样率刚好为5次谐波的2倍,但还是没有5次谐波的冲激;
③在采样率为600Hz时,与采样率为500Hz时类似,但是在250Hz处出现了冲激(相对幅度较小),对应于5次谐波;
④在采样率为1000Hz时,基频、3次谐波、5次谐波和7次谐波(350Hz)的冲激均很明显,9次谐波(450Hz)并不明显,说明矩形波在7次谐波以上的谐波可以忽略不计了。
图3-16矩形波在不同采样率的时域波形和频谱
在实际中有一些典型的采样率,数字电话中的采样率为8KHz,高保真语音采样率为44.1KHz,一般在对语音进行处理时,22.05KHz的采样率和11.025KHz的采样率也经常用到。
Fs1=15;
Fs2=20;
Fs3=50;
%采样率
N2=Fs2/deltf;
N3=Fs3/deltf;
%采样点数
n2=0:
n3=0:
%采样点
x1=sin(20*pi*n1/Fs1);
x2=sin(20*pi*n2/Fs2);
%采样
x3=sin(20*pi*n3/Fs3);
y1=fft(x1);
y2=fft(x2);
y3=fft(x3);
%快速傅里叶变换
%计算功率
ylabel('
axis([00.6-11.5]);
text(0.02,1.2,'
采样率为15Hz的时域波形'
subplot(2,2,2);
plot(n1*Fs1/N1,y1);
text(10,0.32,'
采样率为15Hz的频谱'
49)/Fs2,x2(1:
采样率为20Hz的时域波形'
plot(n1*Fs2/N2,y2);
ylabel('
采样率为20Hz的频谱'
)