日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2024/4/19 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dsp产生正弦波 c语言,TMS320C5502多波形发生器源程序 可产生正弦波,锯齿波等 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

/*? ?文件名: Taylorsine.c (將sineCODEC和sinecompute合并,實(shí)現(xiàn)計(jì)算并實(shí)時(shí)輸出)? ?? ?*/

/*? ?創(chuàng)建時(shí)間:10/05/2012? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? */

/*? ?功能描述:利用Taylor展開(kāi)式法計(jì)算正弦波,并將信號(hào)從J6端口發(fā)送出去,平臺(tái)為BJTU-DSP5502板*/

/*? ?作者: 錢滿義myqian@bjtu.edu.cn 北京交通大學(xué)電信學(xué)院電工電子教學(xué)基地? ?? ?? ???*/

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

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

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include "E2PROM_Function.h"

#include "CODEC.h"

#define Nx 360? ?? ?? ?? ? //每周期抽取點(diǎn)數(shù)

#pragma DATA_SECTION(output1,"data_out1");? ? //存放sin數(shù)據(jù),浮點(diǎn)型

float output1[Nx];

#pragma DATA_SECTION(output,"data_out");? ? //存放sin數(shù)據(jù),定點(diǎn)型

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為角度步長(zhǎng)

step=360.0/Nx;? ?? ?? ?? ?? ? // Nx為360度內(nèi)取樣點(diǎn)數(shù)

/*****************新增函數(shù)段*****************/

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))))))));//數(shù)學(xué)總公式

// fprintf(stdout,"COMPUTE%f",ii); fprintf(stdout,"\n??");? ?//輸出計(jì)算的正弦波的數(shù)值,x2=e

output1[i]= 32767*ii; //利用泰勒級(jí)數(shù)計(jì)算出正弦波的數(shù)值,存放到output1中

output[i]=output1[i];

}

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

CSL_init();

// The main frequency of system is 240MHz

// 該頻率是為了設(shè)置IIC模塊的需要設(shè)置的,為了使用I2C_setup函數(shù)

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;? ? //正弦波每周期的樣點(diǎn)為360個(gè),輸出信號(hào)的頻率為Fs/N=32000/360=88.89Hz

k=k+10;? ? //正弦波每周期的樣點(diǎn)為36個(gè),輸出信號(hào)的頻率為Fs/N=32000/36=888.9Hz

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

……………………

…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………

總結(jié)

以上是生活随笔為你收集整理的dsp产生正弦波 c语言,TMS320C5502多波形发生器源程序 可产生正弦波,锯齿波等的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。