dsp产生正弦波 c语言,TMS320C5502多波形发生器源程序 可产生正弦波,锯齿波等
/***********************************************************************************/
/* 文件名: 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多波形发生器源程序 可产生正弦波,锯齿波等相关推荐
- 波形发生器设计c语言文件,超低频波形发生器的设计论文(C语言编程) .doc
超低频波形发生器的设计论文(C语言编程) .doc 摘 要 在科学研究.工程教育及生产实践中,常常需要用到低频信号发生器.本文主要介绍一种以单片机为核心超低频任意函信号发生器.该信号发生器...采用数 ...
- 51单片机c语言dac0832产生波形,基于51单片机的DAC0832波形发生器设计
波形发生器是一种常用的信号源,广泛的应用于电子电路.自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一.在研制.生产.测试和维修各种电子元件.部件以及整机设备时,都需要有信号源. ...
- 基于51单片机的DAC0832波形发生器
输出1HZ正弦波.三角波.方波.锯齿波 使用LCD1602显示 DAC0832的D0~D7数据输入口,IOUT1.IOUT2互补输出口,RFB反馈端口. VREF基准电压值(一般是5V).用定时器控制 ...
- 【STM32+cubemx】0030 HAL库开发:DDS芯片AD9833实现简单的波形发生器
大家好,我是学电子的小白白,今天带大家了解一款波形发生器芯片--AD9833. AD9833是AD公司出品的一款DDS波形发生器,能够产生正弦波.三角波和方波输出. 1)什么是DDS 通俗来讲,DDS ...
- NE555波形发生器手把手教程之NE555内部结构(一)
通过ne555搭建的波形发生器 可实现方波.三角波.正弦波输出 工程链接:https://pan.baidu.com/s/1T-9bdnO1IrWUsjmRTl12zQ 提取码:py66 一.芯片介 ...
- 运算放大器等芯片设计多路波形发生器
运算放大器等芯片设计多路波形发生器 P.S. 这是老师为参加电子竞赛培训的同学准备的寒假任务 一.任务要求 设计一个多路波形发生器,同时输出脉冲波.锯齿波.正弦波等三路波形波形,要求有一定的带负载能力 ...
- spwm控制算法c语言实现,SPWM波形优化算法及其DSP实现
1.引言本文引用地址:http://www.eepw.com.cn/article/177181.htm 从逆变器诞生之日起人们就把改善输出波形,消除谐波,提高波形质量作为一项重要的研究内容,所以对S ...
- da转换器正弦波c语言,AD与DA转换器和系统的连接及应用
AD与DA转换器和系统的连接及应用 实验四 A/D与D/A转换器和系统的连接及应用 一.实验任务 理解AD和DA转换器的工作原理,加深对AD和DA转换器接口电路的认知,掌握ADC0809和DAC083 ...
- MATLAB输出四种常用波形(方波、正弦波、三角波、锯齿波)
1.我们在处理数学以及信号的时候经常会用到MATLAB,因为它可以使我们直观地观察到我们需要的信号的模型.因此掌握基本的MATLAB还是有必要的.这里我们来讲解一下如何用MATLAB产生四种常用波形( ...
最新文章
- 这哥们,第一份工作就年薪30w。。
- 从CTO到创始人 孙元浩基础软件破局之路
- linux登oracle登陆不了,oracle: linux服务器本机不能登陆的解决
- spark中使用categoricalFeaturesInfo来标记分类型变量
- 吸尘车-真空吸尘车:真空吸尘车
- C语言高级编程:接续符‘\‘的用法
- java并发:初探消费者和生产者模式
- QT每日一练day28:QT中的2D绘图知识概念——讲义截图
- php 图片服务器搭建,php图像裁剪服务器搭建
- 【百度地图API】圣诞节里不会迷路的麋鹿——驾车导航
- 读msdn文档----五种提高SQL性能的方法
- 快乐刷课---Tampermonkey下载使用
- java后台生成动态二维码
- 华为交换机各种配置实例(2)
- 百人计划(图形部分)Bump Mapping(凹凸贴图映射技术)
- 【转】贴片晶振挖空敷铜
- windows10升级助手_Win7即将全面停更,看这里,决定回退还是升级?
- 计算机学硕报考院校人数,2020考研报考人数:这些学校人数过万!
- 深度学习热点|超直观无公式图解Contrastive Predictive Coding从脸盲说起
- unicode中文数字与阿拉伯数字转换
热门文章
- shell 安装java_Shell脚本实现在Linux系统中自动安装JDK
- 实验6 控制结构综合程序设计 7-3 简单计算器
- python定义构造函数、包括颜色价格品牌_《Python编程与算法基础教程》(第二版),蒋洪宇,青松,第9章:课后练习,程序设计,版江红余,第九章,习题,答案...
- C语言学习之求S=a+aa+aaa+... +aa.....aa之值,其中a是一个数字,n表示a的位数.
- 数位dp模板 [dp][数位dp]
- mysql半同步复制实现
- hdu 1075 map
- jqm的多列布局demo,html5的多列布局demo,多列布局的具体解说,html5开发实例具体解释...
- DPCM 压缩系统的实现和分析
- [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)