时间抽样定理实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4 时间抽样定理
1、实验内容
给定连续时间信号 1. 以足够小的时间间隔,在足够长的时间内画出信号时域图形。
2. 用公式计算信号的频谱 。以足够小的频率间隔,在足够大的频率范围内,画出其频谱图,估计信号的带宽。
3. 以抽样频率3000Hz 对x(t)抽样,得到离散时间信号x(n),画出其图形,标明坐标轴。
1) 用DTFT 计算x(n)的频谱 ,画出频谱图形,标明坐标轴。
2) 由 1)得到原信号x(t)的频谱的估计 ,在模拟频域上考察对原信号频谱的逼近程度,计算均方误差。
3) x(n)理想内插后得到原信号的估计,从连续时间域上考察信号的恢复程度,计算均方误差。
4. 抽样频率为800 samples/second ,重做3。
5. 对比和分析,验证时域抽样定理。
2、编程原理、思路和公式
对x (t )进行等间隔采样,得到x (n ),T=1/fs 。采样信号的频谱函数是原模拟信号频谱的周期延拓,延拓周期是2*pi*fs 。对频带限于fc 的模拟信号,只有当fs>2fc 时,采样后频谱才不会发生频谱混叠失真。
Matlab 中无法计算连续函数。但是可以让fs 足够大,频谱混叠可以忽略不计,从而可以对采样序列进行傅里叶变换,这里使用之前编好的子程序dtft 。
程序分别设定了3种采样频谱,10000Hz 、3000Hz 、800Hz 分别对应题目1、3、4。采样时间区间均为0.1s 。同时,画的是幅度归一化的频谱图,便于比较。
在网上查到一种内插函数的算法:理想内插运用内插公式xa (t )=x (n )g (t-nT )求和。其中g (t )=sinc (Fs*t ),编程时,设定一个ti 值求xa (ti ),一个行向量x (n )和一个等长的由n ’构1000()t
x t e -=()X j Ω()j X e ωˆ()
X j Ω
成的列向量g(ti-n’T)相乘。构成一个行数与n同长而列数与t同长的矩阵,因此要把两项分别扩展成这样的序列。这只要把t右乘列向量ones(length(n),1),把n’T左乘行向量ones(1,length (t))即可。
设t向量长为M,n=1:N-1,就可生成t-n’T的矩阵,把它命名为TNM,则TNM=ones(length(n),1)-n’T*ones(1,length(t))。
3、程序脚本,并注释
4、仿真结果、图形
运行后
连续时间信号
00.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
频谱图
采样序列x1(fs1=3kHz )
x1的幅度频谱
采样序列x2(fs1=800Hz)1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
x2的幅度频谱
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
(均方误差结果)运行:
00.0010.0020.0030.0040.0050.0060.0070.0080.0090.01
Fs=3000Hz 的采样序列x(n)重构的信
号
00.0010.0020.0030.0040.0050.0060.0070.0080.0090.01
Fs=800Hz 的采样序列x(n)重构的信号
5、结果分析和结论
由不同fs 条件下的频谱图可以看出:当f>2000Hz 时,频谱幅度的值很小。所以,Fs=3000Hz 的采样序列的频谱混叠很小;而fs=800Hz 时,频谱混叠较大。
以奈奎斯特采样频率Fs/2处的频谱幅度来比较其混叠,可以看出采样频率减小,混叠现象越大。 由计算出的均方误差也可以看出,采样频率越大,频率的逼近程度越大。
内插结果如图的连续曲线所示,图中的离散序列是原始模拟信号的采样真值。图和均方误差中容易看出,Fs=3000Hz的采样序列内插重构的信号误差比Fs=400Hz时小得多。可见,误差主要由频率混叠失真引起。当然,采样序列的样本较少也会引起误差增大。
另外,xa(t)的变化程度越大处误差也越大。
我自行设置内插函数g(t)的采样间隔dt为x(n)的采样间隔T的1/3,所以,误差数组xa-xo 每隔两点就出现一次零。这与时域内插定理也是相符的。
6、遇到的问题、解决方法及收获
采样定理以占有带宽来换取传输质量,一直在频谱图中体现fs大时,所占的带宽也大,但是最终也没有实现。但是fs本身就是其频带宽带,也可以证明该点。
内插定理理解不透彻,导致算法理解费力,最终还是实现了预期结果。