立即注册 登录
光电工程师社区 返回首页

microunit的个人空间 http://club.oecr.com/?67401 [收藏] [复制] [分享] [RSS]

日志

正弦波的产生

已有 753 次阅读2008-12-28 23:50 |个人分类:学习日志|

一.使用查找表
1)通过TurboC或Matlab,可以预先计算出正弦数据表: DataTblSine=ValueScale*sin(2.0*pi*n*f/Fs), 生成数组或H文件;
2)每Ts周期发生中断,在ISR中,从数据表中取出一数据点至DAC;
注意:浮点与定点转换及误差,ADC/DAC的满刻度值......

二.使用迭代法
1)使用差分方程y(n)=Ay(n-1)-y(n-2), 其中A=2cos(wT), y(-1)=-sin(wT), y(-2)=-sin(2wT), y(-1)与y(-2)是两个初始条件, w=2*pi*f, 取样周期T=1/Fs, Y(z)=z*sin(wT)/(z^2-Az+1).
2)每Ts周期发生中断,在ISR中,进行上述差分方程计算并输出一数据点至DAC;
注意:浮点与定点转换及误差,ADC/DAC的满刻度值......

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

QQ|手机版|搜索|焦点光学|光电工程师社区 ( 鄂ICP备17021725号-1 鄂网安备42011102000821号 )  

Copyright 2015 光电工程师社区 版权所有 All Rights Reserved.

申明:本站为非盈利性公益个人网站,已关闭注册功能,本站所有内容均为网络收集整理,不代表本站立场。如您对某些内容有质疑或不快,请及时联系我们处理!  

© 2001-2022 光电工程师社区    网站备案号:鄂ICP备17021725号  网站公安备案号:鄂42011102000821号    Powered by Discuz! X3.2

GMT+8, 2025-12-26 00:26

返回顶部