一种用dsp控制器生成正弦波信号的实现方法

文档序号:10510535阅读:987来源:国知局
一种用dsp控制器生成正弦波信号的实现方法
【专利摘要】本发明涉及一种用DSP控制器生成正弦波信号的实现方法,先设定参数,再计算出一个正弦波信号周期的采样点数N和一个采样点所占用的角度值θ,根据最优化理论中的投影定理方法求出逼近正弦函数的五次多项式;再根据采样点n所在区间的不同,实时计算出正弦波信号的离散点数值f0;然后利用DSP控制器把计算出的正弦波信号离散点数值f0送入DAC转换电路,生成连续的正弦波电流信号;最后利用UA运算放大器把连续的正弦波电流信号转换成连续的正弦波电压信号,从而实现正弦波信号的输出。本发明减小了连续递推计算导致的累积误差,简化了计算程序,减少了DSP控制器的计算时间,占用DSP控制器的存储空间小,降低了成本,波形逼近,精度高。
【专利说明】
一种用DSP控制器生成正弦波信号的实现方法
技术领域
[0001] 本发明属于波信号的实现领域,特别是涉及一种用DSP控制器生成正弦波信号的 实现方法。
【背景技术】
[0002] 正弦波信号发生器已经广泛地应用于通信、仪器仪表和工业控制等领域的信号处 理系统中。基于DSP控制器产生正弦波信号的数字实现方法很多,区别主要在于产生算法及 软件的不同。常用的方法有三种:查表法、泰勒级数展开法和迭代法。
[0003] 查表法是最直接的一种数字实现方法,设计者可以根据运算的需要预先计算好所 有可能出现的正弦函数值,将这些结果编排成数据表,在使用时只要根据输入查出表中对 应的函数值即可。查表法的特点是速度快、调相调频调幅容易,但需要占用大量的存储空 间,且灵活度低。
[0004] 迭代法是利用数字振荡器通过迭代算法产生正弦波的数字实现方法,它的关键是 函数值之间的递推关系,也就是系统的差分方程或系统函数模型。如果一个离散时间系统 的系统函数没有零点,只有一对处在单位圆上的共扼极点,则其单位冲激响应为恒幅度振 荡,即产生了正弦信号。迭代法由于是实时生成产生正弦波的离散点数值,因而占用的存储 空间相对较少,运算时间短进而占用DSP控制器的时间也就越短。但是,由于新的数值产生 利用了之前的函数值,会产生积累误差,尤其是在正弦波的后半部分,积累误差会越来越 大,而且当采样点数N不是足够大的时候,误差积累会进一步增大。
[0005] 泰勒级数展开法是一种利用多项式逼近正弦函数的数字实现方法,正弦波的波形 可以看作由无数点组成,这些点与X轴的每一个角度值Θ相对应,可以利用DSP处理器处理大 量重复计算(乘加运算)的优势来计算X轴每一点对应的y的值(如果在X轴取N个点来进行逼 近,则Θ = 2π/Ν)。泰勒级数计算的精度取决于展开项数和点对应角度值Θ:展开项数越多精 度越高,但计算时间越长,占用DSP控制器的时间就越多;点对应角度值Θ越小,精度越高,但 随着点对应角度值Θ的增加,精度也必然下降。图2为根据泰勒级数展开法利用五次多项式 逼近正弦波函数生成的正弦波信号与标准正弦波信号的比较。

【发明内容】

[0006] 为克服现有技术的不足,本发明提出了一种用DSP控制器生成正弦波信号的实现 方法,有效减小了连续递推计算导致的累积误差,简化了计算程序,减少了 DSP控制器的的 计算时间,且占用DSP控制器的存储空间小,降低了成本,波形逼近,精度高。
[0007] 本发明的目的及解决其技术问题是采用以下技术方案来实现的。
[0008] 依据本发明提出的一种用DSP控制器生成正弦波信号的实现方法,其包括以下步 骤:(1)设定参数,具体包括设定正弦波信号的频率f和幅值A,设定采样频率f s;
[0009] (2)计算出一个正弦波信号周期的采样点数N;
[0010] (3)计算出一个采样点所占用的角度值Θ;
[0011] (4)根据最优化理论中的投影定理方法求出逼近正弦函数的五次多项式;
[0012] (5)根据采样点η所在区间的不同,实时计算出正弦波信号的离散点数值f〇;
[0013] (6)利用DSP控制器把计算出的正弦波信号离散点数值fo送入DAC转换电路,生成 连续的正弦波电流信号;
[0014] (7)利用UA运算放大器把连续的正弦波电流信号转换成连续的正弦波电压信号, 从而实现正弦波信号的输出。
[0015] 本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。
[0016] 前述的一种用DSP控制器生成正弦波信号的实现方法,其中,步骤(2)所用的计算 公式为N=fs/f。
[0017] 前述的一种用DSP控制器生成正弦波信号的实现方法,其中,步骤(3)所用的计算 公式为Θ = 2π/Ν。
[0018] 前述的一种用DSP控制器生成正弦波信号的实现方法,其中,步骤(4)所述的五次 多项式为sin(x) ? 0.9875 · x-0.1551 · χ3+0·0056 · X5。
[0019] 前述的一种用DSP控制器生成正弦波信号的实现方法,其中,步骤(5)的具体计算 方式为:
[0020] ①采样点η在[1,N/2)区间时,令X = -Θ (N/2-n):
[0021] f〇 = 0· 9875 · χ-0· 1551 · χ3+0· 0056 · X5;同时η = η+1;
[0022] 如果η〈Ν/2,则重复执行①,否则转入②;
[0023]②采样点η在[N/2,Ν]区间时,令X = θ(η-Ν/2):
[0024] f〇 = 〇. 9875 · χ-0· 1551 · χ3+0· 0056 · X5;同时η = η+1;
[0025] 如果η <Ν,则重复执行②,否则,令η = 1,转入①,开始下一个正弦波信号周期。 [0026]前述的一种用DSP控制器生成正弦波信号的实现方法,其中,所述的方法通过生成 正弦波信号的电路系统实现,该电路系统包括:键盘输入电路、D S Ρ控制器、D A C转换电路和 UA运算放大器;其中,键盘输入电路的输出端与DSP控制器连接,DSP控制器的输出端与DAC 转换电路连接,DAC转换电路的输出端与UA运算放大器连接,UA运算放大器输出正弦波信 号。
[0027]所述DAC转换电路把正弦波信号的离散点数值转换成连续的正弦波电流信号。 [0028]本发明与现有技术相比具有明显的优点和有益效果,借由上述技术方案,本发明 一种用DSP控制器生成正弦波信号的实现方法可达到相当的技术进步性及实用性,并具有 产业上的广泛利用价值,其至少具有下列优点:
[0029] (1)、本发明根据最优化理论中的投影定理方法利用多项式逼近正弦波信号,而不 是根据泰勒级数展开方法利用多项式逼近正弦波信号。在多项式次数同样的情况下,与泰 勒级数展开方法相比较,基于投影定理方法的多项式逼近正弦波信号的收敛速度快,而且 在整个周期内,波形逼近,精度高。
[0030] (2)、本发明既克服了泰勒级数展开方法为提高逼近精度而增加展开项数而导致 计算时间过长,进而占用DSP控制器时间就越多的缺点,又克服了泰勒级数展开方法随着点 对应角度值Θ的增加,精度也必然下降的缺点,简化了计算程序,从而减少了DSP控制器的计 算时间。
[0031] (3)、本发明根据采样点η所在区间的不同,利用DSP控制器使用基于投影定理方法 的多项式逼近公式实时计算出正弦波信号的离散点数值,而不像迭代法那样只用正弦函数 递推公式,从而减小了递推公式因连续递推计算导致的累积误差。而且由于实时计算出正 弦波信号的离散点数值,不也像查表法大量占用存储空间,从而减少对DSP控制器存储空间 的占用,降低了成本。
[0032]综上所述,本发明一种用DSP控制器生成正弦波信号的实现方法在技术上有显著 的进步,并具有明显的积极效果,诚为一新颖、进步、实用的新设计。
[0033]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够 更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
【附图说明】
[0034]图1为本发明生成正弦波信号的电路系统图。
[0035]图2为根据泰勒级数展开法利用五次多项式逼近正弦波函数生成的正弦波信号与 标准正弦波信号的比较图。
[0036]图3为根据投影定理方法利用五次多项式逼近正弦波函数生成的正弦波信号与标 准正弦波信号的比较图。
【具体实施方式】
[0037]为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合 附图及较佳实施例,对依据本发明提出的一种用DSP控制器生成正弦波信号的实现方法,其
【具体实施方式】、结构、特征及其功效,详细说明如后。
[0038]本发明的一种用DSP控制器生成正弦波信号的实现方法,结合图1所示,在硬件电 路结构上,包括:键盘输入电路、DSP控制器、DAC转换电路和UA运算放大器;采用的原理为投 影定理与多项式逼近。其中:键盘输入电路的主要目的是设定正弦波信号的频率和幅值,以 及采样频率。DSP控制器根据键盘输入电路设定的正弦波信号频率、幅值和采样频率,计算 正弦波信号的离散点数值,同时把离散点数值送入DAC转换电路。DAC转换电路主要用于把 正弦波信号的离散点数值转换成连续的正弦波电流信号。如果需要的正弦波信号为电压信 号,则需要利用UA运算放大器把连续的正弦波电流信号转换成连续的正弦波电压信号。 [0039] 一种用DSP控制器生成正弦波信号的实现方法,首先根据采样频率fs和正弦波频 率f的比值计算出一个正弦波信号周期的采样点数N,利用式Θ = 2π/Ν计算出一个采样点数 所占用的角度值Θ。根据最优化理论的投影定理方法求出逼近正弦函数的五次多项式。然 后,利用DSP控制器,在采样点η=[1,Ν/2)区间,使用投影定理方法求出用于逼近正弦函数 的五次多项式计算出负半周正弦波信号的离散点数值;在采样点η=[Ν/2,Ν]区间,使用投 影定理方法求出用于逼近正弦函数的五次多项式计算出正半周正弦波信号的离散点数值。 最后通过DAC转换电路把正弦波信号的离散点数值转换成连续的正弦波信号,从而实现正 弦波信号的输出。图3为根据投影定理方法利用五次多项式逼近正弦波函数生成的正弦波 信号与标准正弦波信号的比较。
[0040]基于泰勒级数展开法利用多项式逼近正弦波,为了保证正弦波信号的整体逼近精 度,需要增加展开项数来提高,这样就增加了DSP控制器的计算时间;同时为了避免随着点 对应角度值Θ的增加导致逼近精度下降,利用正弦函数计算结果可以复用的特点,存储点对 应角度值Θ比较小的一些正弦值,利用复制方法来生成正弦波信号。虽然这种改进的泰勒级 数展开法比泰勒级数展开法本身精度高,但同时引入了查表方法的缺点。
[0041 ] 在最优化理论中,由投影定理可知,一个无穷维向量到有限维子空间的最短距离 是这个无穷维向量在有限维子空间的投影距离。根据投影定理,Sin(x)属于勒贝格平方可 积的实值函数空间?Λ-m]的一个无穷维向量,而1、^^、/^ 5属于1^[-31,31]的五个线 性无关向量,生成空间Span[l、 X、X2、X3、X 4、x5]是?Λ-m]的五维子空间。利用五次多项式逼 近正弦波就是在Span [ 1、X、X2、X3、X4、X5 ]子空间中找到一个向量a+bx+cx2+dx3+ex4+f x5逼近 sin(x),也就是 | | sin(x)_(a+bx+cx2+dx3+ex4+fx5) | |min,等于sin(x)在Span[l、x、x2、x3、x4、 x5]子空间的投影距离。也就是 sin(x)_(a+bx+cx2+dx3+ex4+fx5)与Span[l、x、x 2、x3、x4、x5]中 的任一向量正交:
[0048] 整理得到:
[0049]
[0051]因此,可以求出五次多项式的系数:
[0053]则正弦波信号的逼近公式为:
[0054] sin(x) * 0.9875χ-〇. 1551x3+0.0056x5〇
[0055] 图2和图3分别是基于泰勒级数展开法和基于投影定理法的多项式逼近正弦波信 号与标准正弦波信号的比较图。由图可以看出,在同样五次多项式的情况下,基于投影定理 法的多项式逼近比基于泰勒级数展开法的逼近精度高,尤其是在一个正弦波周期的始末端 部分。
[0056]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽 然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人 员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰 为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质 对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【主权项】
1. 一种用DSP控制器生成正弦波信号的实现方法,其特征在于其包括以下步骤: (1) 设定参数,具体包括设定正弦波信号的频率f和幅值A,设定采样频率fs; (2) 计算出一个正弦波信号周期的采样点数N; (3) 计算出一个采样点所占用的角度值Θ; (4) 根据最优化理论中的投影定理方法求出逼近正弦函数的五次多项式; (5) 根据采样点η所在区间的不同,实时计算出正弦波信号的离散点数值f〇; (6) 利用DSP控制器把计算出的正弦波信号离散点数值fo送入DAC转换电路,生成连续的 正弦波电流信号; (7) 利用UA运算放大器把连续的正弦波电流信号转换成连续的正弦波电压信号,从而 实现正弦波信号的输出。2. 如权利要求1所述的实现方法,其特征在于步骤(2)所用的计算公式为N=fs/f。3. 如权利要求1所述的实现方法,其特征在于步骤(3)所用的计算公式为Θ = 2π/Ν。4. 如权利要求1所述的实现方法,其特征在于步骤(4)所述的五次多项式为sin(x) ? 0.9875 · χ-0·1551· χ3+0·0056 · X5。5. 如权利要求1所述的实现方法,其特征在于步骤(5)的具体计算方式为: ① 采样点η在[1,Ν/2)区间时,令X = -Θ (N/2-n): fo = 0.9875 · χ-0.1551 · χ3+0·0056 · X5;同时η = η+1; 如果η〈Ν/2,则重复执行①,否则转入②; ② 采样点η在[Ν/2,Ν]区间时,令χ = θ(η-Ν/2): fo = 0.9875 · χ-0.1551 · χ3+0·0056 · X5;同时η = η+1; 如果η <Ν,则重复执行②,否则,令η=1,转入①,开始下一个正弦波信号周期。6. 如权利要求1所述的实现方法,其特征在于所述方法通过生成正弦波信号的电路系 统实现,该电路系统包括:键盘输入电路、DSP控制器、DAC转换电路和UA运算放大器;其中, 键盘输入电路的输出端与DSP控制器连接,DSP控制器的输出端与DAC转换电路连接,DAC转 换电路的输出端与UA运算放大器连接,UA运算放大器输出正弦波信号。7. 如权利要求6所述的电路系统,其特征在于所述DAC转换电路把正弦波信号的离散点 数值转换成连续的正弦波电流信号。
【文档编号】G01R1/28GK105866483SQ201610288781
【公开日】2016年8月17日
【申请日】2016年4月29日
【发明人】姬宣德, 高海涛, 白旭灿, 李春娟, 王新新
【申请人】洛阳理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1