/***********************************************************************************/

/*   文件名: Taylorsine.c (将sineCODEC和sinecompute合并,实现计算并实时输出)      */

/*   创建时间:10/05/2012                                                          */

/*   功能描述:利用Taylor展开式法计算正弦波,并将信号从J6端口发送出去,平台为BJTU-DSP5502板*/

/*   作者: 钱满义myqian@bjtu.edu.cn 北京交通大学电信学院电工电子教学基地           */

/*   修改者 hailingao , 06/25                                                                                                        */

/************************************************************************************/

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include "E2PROM_Function.h"

#include "CODEC.h"

#define Nx 360             //每周期抽取点数

#pragma DATA_SECTION(output1,"data_out1");    //存放sin数据,浮点型

float output1[Nx];

#pragma DATA_SECTION(output,"data_out");    //存放sin数据,定点型

int output[Nx];

#undef  CODEC_ADDR

#define CODEC_ADDR 0x1A

// 定义McBSP的句柄

MCBSP_Handle hMcbsp;

/*------------------------------------------------------------------------------------*/

//

// FUNCTION: MAIN

//

/*------------------------------------------------------------------------------------*/

void main(void)

{

Uint16  i,k=0;

float input0=0,x1;

float a,b,c,d,e,f,g,h,ii,step;//step为角度步长

step=360.0/Nx;                // Nx为360度内取样点数

/*****************新增函数段*****************/

for(i=0;i<=Nx-1;i++)

{

float angle,xx;

angle=input0+step*i;

x1=3.1415926*angle/180;

xx=x1*x1;

a=1-xx/16/17;b=1-xx/14/15*a;c=1-xx/12/13*b;d=1-xx/10/11*c;e=1-xx/8/9*d;f=1-xx/6/7*e;g=1-xx/4/5*f;h=1-xx/2/3*g;ii=x1*h;

// g=x1*(1-xx/2/3*(1-xx/4/5*(1-xx/6/7*(1-xx/8/9*(1-xx/10/11*(1-xx/12/13*(1-xx/14/15*(1-xx/16/17))))))));//数学总公式

// fprintf(stdout,"COMPUTE%f",ii); fprintf(stdout,"\n  ");   //输出计算的正弦波的数值,x2=e

output1[i]= 32767*ii; //利用泰勒级数计算出正弦波的数值,存放到output1中

output[i]=output1[i];

}

// Initialize CSL library - This is REQUIRED !!!

CSL_init();

// The main frequency of system is 240MHz

// 该频率是为了设置IIC模块的需要设置的,为了使用I2C_setup函数

PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);

//EMIF初始化

Emif_Config();

// Open McBSP port 1 and get a McBSP type handle

hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);

// Config McBSP        port 1 by use previously defined structure

Mcbsp_Config(hMcbsp);

//I2C初始化

I2C_cofig();

//CODEC寄存器初始化

inti_AIC();

/*------------------------------------------------------------------------------------*/

// Receive the ADC output data of CODEC

// Then output the received data to DAC of CODEC

/*------------------------------------------------------------------------------------*/

while(1)

{

while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, output[k]);                //左声道输出

while(!MCBSP_xrdy(hMcbsp)) {};

MCBSP_write16(hMcbsp, output[k]);        //右声道输出

//        k=k+1;    //正弦波每周期的样点为360个,输出信号的频率为Fs/N=32000/360=88.89Hz

k=k+10;    //正弦波每周期的样点为36个,输出信号的频率为Fs/N=32000/36=888.9Hz

if (k>=Nx) k=k%Nx;

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

dsp产生正弦波 c语言,TMS320C5502多波形发生器源程序 可产生正弦波,锯齿波等相关推荐

  1. 波形发生器设计c语言文件,超低频波形发生器的设计论文(C语言编程) .doc

    超低频波形发生器的设计论文(C语言编程) .doc 摘 要 在科学研究.工程教育及生产实践中,常常需要用到低频信号发生器.本文主要介绍一种以单片机为核心超低频任意函信号发生器.该信号发生器...采用数 ...

  2. 51单片机c语言dac0832产生波形,基于51单片机的DAC0832波形发生器设计

    波形发生器是一种常用的信号源,广泛的应用于电子电路.自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一.在研制.生产.测试和维修各种电子元件.部件以及整机设备时,都需要有信号源. ...

  3. 基于51单片机的DAC0832波形发生器

    输出1HZ正弦波.三角波.方波.锯齿波 使用LCD1602显示 DAC0832的D0~D7数据输入口,IOUT1.IOUT2互补输出口,RFB反馈端口. VREF基准电压值(一般是5V).用定时器控制 ...

  4. 【STM32+cubemx】0030 HAL库开发:DDS芯片AD9833实现简单的波形发生器

    大家好,我是学电子的小白白,今天带大家了解一款波形发生器芯片--AD9833. AD9833是AD公司出品的一款DDS波形发生器,能够产生正弦波.三角波和方波输出. 1)什么是DDS 通俗来讲,DDS ...

  5. NE555波形发生器手把手教程之NE555内部结构(一)

    通过ne555搭建的波形发生器 可实现方波.三角波.正弦波输出 工程链接:https://pan.baidu.com/s/1T-9bdnO1IrWUsjmRTl12zQ  提取码:py66 一.芯片介 ...

  6. 运算放大器等芯片设计多路波形发生器

    运算放大器等芯片设计多路波形发生器 P.S. 这是老师为参加电子竞赛培训的同学准备的寒假任务 一.任务要求 设计一个多路波形发生器,同时输出脉冲波.锯齿波.正弦波等三路波形波形,要求有一定的带负载能力 ...

  7. spwm控制算法c语言实现,SPWM波形优化算法及其DSP实现

    1.引言本文引用地址:http://www.eepw.com.cn/article/177181.htm 从逆变器诞生之日起人们就把改善输出波形,消除谐波,提高波形质量作为一项重要的研究内容,所以对S ...

  8. da转换器正弦波c语言,AD与DA转换器和系统的连接及应用

    AD与DA转换器和系统的连接及应用 实验四 A/D与D/A转换器和系统的连接及应用 一.实验任务 理解AD和DA转换器的工作原理,加深对AD和DA转换器接口电路的认知,掌握ADC0809和DAC083 ...

  9. MATLAB输出四种常用波形(方波、正弦波、三角波、锯齿波)

    1.我们在处理数学以及信号的时候经常会用到MATLAB,因为它可以使我们直观地观察到我们需要的信号的模型.因此掌握基本的MATLAB还是有必要的.这里我们来讲解一下如何用MATLAB产生四种常用波形( ...

最新文章

  1. 这哥们,第一份工作就年薪30w。。
  2. 从CTO到创始人 孙元浩基础软件破局之路
  3. linux登oracle登陆不了,oracle: linux服务器本机不能登陆的解决
  4. spark中使用categoricalFeaturesInfo来标记分类型变量
  5. 吸尘车-真空吸尘车:真空吸尘车
  6. C语言高级编程:接续符‘\‘的用法
  7. java并发:初探消费者和生产者模式
  8. QT每日一练day28:QT中的2D绘图知识概念——讲义截图
  9. php 图片服务器搭建,php图像裁剪服务器搭建
  10. 【百度地图API】圣诞节里不会迷路的麋鹿——驾车导航
  11. 读msdn文档----五种提高SQL性能的方法
  12. 快乐刷课---Tampermonkey下载使用
  13. java后台生成动态二维码
  14. 华为交换机各种配置实例(2)
  15. 百人计划(图形部分)Bump Mapping(凹凸贴图映射技术)
  16. 【转】贴片晶振挖空敷铜
  17. windows10升级助手_Win7即将全面停更,看这里,决定回退还是升级?
  18. 计算机学硕报考院校人数,2020考研报考人数:这些学校人数过万!
  19. 深度学习热点|超直观无公式图解Contrastive Predictive Coding从脸盲说起
  20. unicode中文数字与阿拉伯数字转换

热门文章

  1. shell 安装java_Shell脚本实现在Linux系统中自动安装JDK
  2. 实验6 控制结构综合程序设计 7-3 简单计算器
  3. python定义构造函数、包括颜色价格品牌_《Python编程与算法基础教程》(第二版),蒋洪宇,青松,第9章:课后练习,程序设计,版江红余,第九章,习题,答案...
  4. C语言学习之求S=a+aa+aaa+... +aa.....aa之值,其中a是一个数字,n表示a的位数.
  5. 数位dp模板 [dp][数位dp]
  6. mysql半同步复制实现
  7. hdu 1075 map
  8. jqm的多列布局demo,html5的多列布局demo,多列布局的具体解说,html5开发实例具体解释...
  9. DPCM 压缩系统的实现和分析
  10. [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)