基于dsp的正弦波信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自本4班 14号王文亮基于DSP的正弦信号发生器
引言
随着计算机技术的飞速发展,对信号发生器波形的要求越来越高。目前,常用信号发生器大部分是由模拟电路构成,当这种模拟信号发生器用于低频输出时,由于需要较大的RC值,导致参数准确度难以保证,且造成体积和功耗偏大,而数字式波形发生器,因其输出幅值稳定、输出频率连续可调的优点,已逐渐取代了模拟电路信号发生器。由于其运算速度高,系统集成度强的优势,可以设计基于DSP的正弦信号发生器,该发生器实时性强、可扩展性好、波形精度高、可调节频率和幅度、稳定性好、用途广泛,各方面均优于模拟信号发生器和数字信号发生器。
而利用DSP产生正弦波的方法主要有采样回放法产生正弦波,查表法产生正弦波,查表结合插值法产生正弦波,泰勒级数法产生正弦波,迭代法产生正弦波,通过比较各种方法的优缺点,本次设计采用泰勒级数展开法得到设定参数的正弦波形输出,达到设计目的。
关键词:数字信号处理器;信号发生器;泰勒级数法
1 信号发生器的原理
利用DS P产生正弦波的方法主要有以下几种:
1.1 采样回放法
该方法很容易实现,只需对已有的标准正弦信号源进行采样,得到数据后直接回放或进行变频变幅处理后回放。该方法关键在于采用高性能的A/D、D/A 芯片并合理设计硬件电路,使信号处理过程中保证波形良好,以保证采样数据的精准性。进行数字变频及变幅处理时,要清楚数据的格式并保证回放数据的点数满足奈奎斯特定理,防止频谱混迭。
1.2 查表法产生正弦波
查表法是使用比较普遍的方法,首先自己生成正弦数据表,再进行查表、D/A 转换后,得到所需要的波形。优点是处理速度快,调频调相容易,较采样回放法,避免了数据的单一,增加了精度。如果存储空间足够大,那么就可以通过制作较大的查找表来得到较高的精度。如建立一个200 个数据点的正弦数据表,具体过程如下,采用查表法来实现对某一正弦波的频率及幅值的设定,在程序里要建立一张正弦查找表。根据分析及计算得到每周期最多向D/A 送多少个数据点,假设送200 个数据,因此建立一张有200 个数据的正弦查找表。对于频率为 f 的正弦波来说,若每周期取200 点数据,则取样间隔为(1/f )/200=1/(200f )。
1.3 查表结合插值法产生正弦波形
查表结合插值法是在查表法的基础上加以改进得到。发生相同性能的正弦波,查表法结合插值法的长度远远要小于单纯查表法的表格长度,从而克服了查表法中占用大量内存资源的缺点,节约了存储空间。查表法结合插值法先将一个周期的单位正弦波N等分,并计算所有离散点的幅值,之后将这些幅值依次排列存入数据区,从而构成一张表格。查表结合插值法产生正弦波形方法是通过在两个表项点之间插入若干个值来实现的,插入值的大小决定于相邻的两个表项值和插入点的位置。考虑到
DSP 的处理速度,一般采用线性插值。
1.4 迭代法产生正弦波
迭代法是利用数字振荡器通过迭代方法产生正弦波。
1.5泰勒级数法产生正弦波
泰勒级数法产生正弦波,也是此次设计采用的正弦波产生方法,泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次主要用泰勒级数展开法来实现正弦波信号。产生正弦波的算法正弦函数和余弦函数可以展开成泰勒级数。 其表达式:
取泰勒级数的前5项,得近似计算式:
递推公式:
sin(nx ) = 2cos(x )sin[(n -1)x ]-sin[(n -2)x ] cos(nx ) = 2cos(x )sin[(n -1)x ]-cos[(n -2)x ]
由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x)、sin(n-1)x 、
sin(n-2)x 和cos(n-2)x 。
-+-+-=!9!7!5!3)sin(9
753x x x x x x
-+-+-=!
8!6!4!21)cos(8
642x x x x x ))))
((((9
81761541321 !9!7!5!3)sin(2
2229
753⨯-⨯-⨯-⨯-=+
-+-=x x x x x x x x x x x )))
(((87165143121 !8!6!4!21)cos(2
2228
642⨯-⨯-⨯--=+
-+-=x x x x x x x x x
2 正弦波发生器硬件设计
2.1 DSP 简介
数字信号处理(Digital Signal Processing ,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。
图2.1是数字信号处理系统的简化框图。此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。其中抗混叠滤波器的作用是将输入信号x(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。随后,信号经采样和A/D 转换后,变成数字信号x(n)。数字信号处理器对x(n)进行处理,得到输出数字信号y (n),经D/A 转换器变成模拟信号。此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号y(t)。
图2.1 数字信号处理系统简化框图
DSP 是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,DSP 是把许多经典的理论体系作为自己的理论基础,同时又是一系列新兴学科的理论基础。
抗混叠 滤波器
A/D
数字信号处理
D/A
低通滤波器
x(n)
y(n) x(t)
y(t)