- 20
- 0
- 约1.64千字
- 约 4页
- 2020-12-20 发布于山东
- 举报
1、实验内容
给定连续时间信号x(t) e
实验 4 时间抽样定理
1000 t
以足够小的时间间隔,在足够长的时间内画出信号时域图形。
X ( j )
。以足够小的频率间隔,在足够大的
2. 用公式计算信号的频谱
频率范围内,画出其频谱图,估计信号的带宽。
以抽样频率 3000Hz 对 x(t) 抽样,得到离散时间信号 x(n) ,画出
其图形,标明坐标轴。
1)
X (e j )
,画出频谱图形, 标明坐标轴。
用 DTFT计算 x(n)
的频谱
?
2)
由 1 )得到原信号
X ( j )
,在模拟频域上考察
x(t) 的频谱的估计
对原信号频谱的逼近程度,计算均方误差。
x(n) 理想内插后得到原信号的估计,从连续时间域上考察信号
的恢复程度,计算均方误差。
抽样频率为 800 samples/second ,重做 3。
对比和分析,验证时域抽样定理。
2、编程原理、思路和公式
对 x(t )进行等间隔采样,得到 x( n),T=1/fs 。采样信号的频
谱函数是原模拟信号频谱的周期延拓,延拓周期是 2*pi*fs 。对频带
限于 fc 的模拟信号,只有当 fs2fc 时,采样后频谱才不会发生频谱
混叠失真。
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’构成的列向量 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、仿真结果、图形
运行后
(均方误差结果 )
运行:
5、结果分析和结论
由不同 fs 条件下的频谱图可以看出:当 f2000Hz 时,频谱幅度
的值很小。所以,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 本身就是其频
带宽带,也可以证明该点。
内插定理理解不透彻,导致算法理解费力,最终还是实现了预期
结果。
原创力文档

文档评论(0)