DAC输出波形的最大频率是多少?
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAC输出波形的最大频率是多少?相关的知识,希望对你有一定的参考价值。
§01 DAC输出信号的最大频率
1、提问:
卓老师您好!抱歉这么晚打扰您,我想问一道关于采样的问题,如果您明天什么时候有空的话能麻烦您看一下吗?非常感谢!
如果正弦信号 x 0 ( t ) = cos ( 50 t ) x_0 \\left( t \\right) = \\cos \\left( {50t} \\right) x0(t)=cos(50t)被采样,采样角频率为 ω s = 30 \\omega _s = 30 ωs=30 rad/s。采样后的数据才经过 DAC( 数模转换)被张让日晷模拟信号。DAC的转换速率越是 30 rad/s。那么转换后的重构正弦信号的频率为 10 rad/s 。
是这样的一道题,我的做法是画频谱搬移的过程,我的问题是为什么最后重构的信号里没有50hz和110hz的分量呢?
▲ 图1.1 频谱搬移过程
好的谢谢老师!
2、回复:
这个题目所涉及到的信号采样是一个欠采样问题,也就是采样频率比信号的采样定理所需要的频率小,所以会引起频率混叠现象。
下面是将采样后时间离散信号的频谱进行周期延拓,延拓的频率间隔为30 rad/s,对应的 一些所产生的频谱。
▲ 图1.2 采样后的正弦波的频谱
注意,实际的频谱远不止以上的谱线,上述谱线只是将低频部分进行绘制。特别是在30rad/s之内的谱线。
由于使用DAC将信号进行输出,实际输出信号的最大频率小于DAC输出信号频率的一半,也就是15rad/s。 因此从上述频谱中只有 10rad/s的频谱最终包含在输出信号中。
3、信号仿真
(1)采集数据点
下图展示了50rad/s的正弦信号以及被 30rad/s频率所采集到的数据点序列(红色点)。
▲ 图1.3 振荡信号以及对应的采样数据点
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2021-06-20
#
# Note:
#============================================================
from headm import *
fm = 3
t = linspace(-fm, fm, 2000)
cost = cos(50*t)
ts = array(range(1+int(fm/(2*pi/30)))) * 2*pi/30
tsn = ts[-1:0:-1]*(-1)
tsl = list(tsn)
tsl.extend(list(ts))
tsall = array(tsl)
sample = cos(tsall*50)
printf(tsall)
plt.plot(t, cost, linewidth=1, linestyle = '--', label='cos(50t)')
plt.scatter(tsall, sample, color='red')
plt.xlabel("Time(s)")
plt.ylabel("cost")
plt.legend(loc='upperright')
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
(2)数据点DAC一阶保持输出
通常情况下,DAC的输出都是使用“零阶保持”输出,也就是当前的数据输出电压一直保持到下一个数据到来的时候。
▲ 图1.5 一阶保持DAC输出波形
以上是关于DAC输出波形的最大频率是多少?的主要内容,如果未能解决你的问题,请参考以下文章