正弦波——查表法原理_第1页
正弦波——查表法原理_第2页
正弦波——查表法原理_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、正弦波的产生方法目前,正弦波的产生方法主要有两种:(1)查表法(2)利用数字振荡器产生正弦波1)查表法考虑一个模拟正弦波的表达式,并以固定的时间间隔对其进行采样,即其中,为初始相位;F为模拟频率,即需要产生的频率;Fs为采样频率;即为采样间隔。因此,要想产生一个正弦波,需要在每一个采样间隔计算xn的值,并通过数模转换器(DAC,Digital-to-Analog Convector)输出。通过将xn的值以不同的幅度和不同的采样间隔输出,就可以得到任意幅度、任意频率的正弦波或余弦波。根据上式,xn通过计算正弦函数而得。基于此,可以构造一个查找表,表中所列为余弦函数的值。考虑到不可能把正弦函数或余

2、弦函数的所有值都放在查找表内,不妨将表的大小初设为517项。又考虑到正弦函数和余弦函数之间只有一个90°的相移,可以将表的大小缩减为257项。表中的第一个值对应于,最后一个值对应于180°,或者说。这样,表中相邻两点之间的间隔为180/256=0.7031250°,即表格中的第1项是cos0°的值,第2项是cos0.7031250°的值,第3项是cos1.406250°的值,以此类推,最后一项是cos180°的值。利用该表所能构成的波形的相位步进通常是0.7031250°的整数倍。在采样过程中,上式中的n值在每一个

3、采样间隔递增,从而得到模拟正弦波的采样版本。但是,如何通过查找余弦表的方法来产生一个任意频率F的正弦波呢?由于在前面构造的余弦函数表中,已经包括了以0.7031250°为间隔的余弦函数值,现在的问题就变成了,当n递增时,怎样估计出相位的值。记录波形的初始相位和当前相位,以得到连续相位的正弦波。如果记录了上一个输出点的相位值,利用正弦波的频率信息,就可以计算出当前输出点的相位值,该相位值是和幅度值相对应的。在此基础上,就可以根据相位值去查找余弦表中相应的位置,得到当前输出点的幅度值。假设需要产生频率为F的正弦波,它的起始相位是Init_Phase,和F对应的相位步进为Phase_Ste

4、p。相位步进的计算式为Phase_Step=2=例如,如果需要产生的正弦波的频率为10KHz,采样频率为44.1KHz,对应的相位步进为Phase_Step=其中,radians为弧度。于是,在每一个采样间隔输出信号的幅度为(n=0,1,2,.)利用这个式子计算的相位步进和上一个输出点的相位信息,就可以计算出当前输出点的相位值。当前输出点的相位值等于上一个输出点的相位值加上相位步进。例如,如果输出信号的初始相位为0°,那么,下一个输出点的相位就为81.6°,再下一个输出点的相位为163.2°,以此类推。得到这些相位值后,就可以从查找表中的对应位置去读取当前输出点的

5、幅度。为了便于以DSP处理器中常用的Q15格式来表示,将相位值按进行归一化计算相位(Radians)归一化值/Q15格式(十六进制)/41/42000/21/240003/43/46000-18000-3/4-3/4A000-/2-1/2C000 由于前面建立的查找表是以余弦函数为基础的,所以在产生正弦波时,需要将归一化的相位值减去/2,即4000H,然后才能利用得到的相位值去查找表中读取对应的幅度值。令COSOFF指向查找表的表头,那么cos0、 和在表中对应的地址分别为COSOFF、(COSOFF+128)和(COSOFF+256)。如果输出信号的初始相位为-119.53°,那么

6、,该初始相位在查找表中对应的地址为-119.53/0.703125= -170,即初始点的幅度值对应的地址为(COSOFF+170)。这里没有使用-170,是因为余弦函数具有偶对称性,即。正是基于这一原因,在查表法中通常都是构造余弦表,而不是正弦表。将该初始相位的地址按照查找表的大小进行归一化处理,得到其Q15格式的表示为:。其中,归一化的初始相位地址的范围为-1,+1,-1对应-180°,+1对应+180°。仍然使用刚才的例子,需要产生一个10KHz的正弦波,采样频率为44.1KHz,其按归一化后的相位步进的Q15格式表示为在输出了初始相位对应的幅度值后,当前输出点的相位

7、为Current_Phase,即,n=1,其计算过程如下:Current_Phase=Init_Phase+Phase_Step =AB00H+3A0CH =E50CHInit_Phase= Current_Phase ;For continuous phase由于是产生正弦波,还需要减去/2,即4000H。 Sine_Phase=E50CH-4000H =A50CH注意得到的结果A50CH为负,再次利用余弦函数的偶对称性质,使用该值的绝对值5AF4进行查表即可。利用上面的结果查表,实际就是计算距离余弦表头的偏移量。余弦表头地址加上该偏移量,就得到当前输出点幅度值的地址。使用上面的绝对相位值计算偏移量为:5AF4H/80H=B5H=181(十进制)。因此,余弦表中存储的第181个数据就是当前输出的幅度值,即= -0.6055。由于只有简单的加、减操作,查表法的速度非常快,这是它最重要的优点。另外,由于需要存储查找表,查找表需要消耗一定的存储时间,特别是当表格比较大时,这种开销是惊人的,往往令系统难以承受。这时,就需要使用其他方法来产生正弦波了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论