Mercurial > hg > audiostuff
diff spandsp-0.0.6pre17/src/dds_float.c @ 4:26cd8f1ef0b1
import spandsp-0.0.6pre17
author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> |
---|---|
date | Fri, 25 Jun 2010 15:50:58 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spandsp-0.0.6pre17/src/dds_float.c Fri Jun 25 15:50:58 2010 +0200 @@ -0,0 +1,2189 @@ +/* + * SpanDSP - a series of DSP components for telephony + * + * complex_dds.c + * + * Written by Steve Underwood <steveu@coppice.org> + * + * Copyright (C) 2003 Steve Underwood + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id: dds_float.c,v 1.11 2009/02/03 16:28:39 steveu Exp $ + */ + +/*! \file */ + +#if defined(HAVE_CONFIG_H) +#include "config.h" +#endif + +#include <stdio.h> +#include <inttypes.h> +#if defined(HAVE_TGMATH_H) +#include <tgmath.h> +#endif +#if defined(HAVE_MATH_H) +#include <math.h> +#endif +#include "floating_fudge.h" + +#include "spandsp/telephony.h" +#include "spandsp/complex.h" +#include "spandsp/dds.h" + +#define SLENK 11 +#define SINELEN (1 << SLENK) + +/* Precreating this table allows it to be in const memory, which might + have some performance advantage. */ +static const float sine_table[SINELEN] = +{ + 0.00000000f, + 0.00306796f, + 0.00613588f, + 0.00920375f, + 0.01227154f, + 0.01533921f, + 0.01840673f, + 0.02147408f, + 0.02454123f, + 0.02760815f, + 0.03067480f, + 0.03374117f, + 0.03680722f, + 0.03987293f, + 0.04293826f, + 0.04600318f, + 0.04906767f, + 0.05213170f, + 0.05519524f, + 0.05825826f, + 0.06132074f, + 0.06438263f, + 0.06744392f, + 0.07050457f, + 0.07356456f, + 0.07662386f, + 0.07968244f, + 0.08274026f, + 0.08579731f, + 0.08885355f, + 0.09190896f, + 0.09496350f, + 0.09801714f, + 0.10106986f, + 0.10412163f, + 0.10717242f, + 0.11022221f, + 0.11327095f, + 0.11631863f, + 0.11936521f, + 0.12241068f, + 0.12545498f, + 0.12849811f, + 0.13154003f, + 0.13458071f, + 0.13762012f, + 0.14065824f, + 0.14369503f, + 0.14673047f, + 0.14976453f, + 0.15279719f, + 0.15582840f, + 0.15885814f, + 0.16188639f, + 0.16491312f, + 0.16793829f, + 0.17096189f, + 0.17398387f, + 0.17700422f, + 0.18002290f, + 0.18303989f, + 0.18605515f, + 0.18906866f, + 0.19208040f, + 0.19509032f, + 0.19809841f, + 0.20110463f, + 0.20410897f, + 0.20711138f, + 0.21011184f, + 0.21311032f, + 0.21610680f, + 0.21910124f, + 0.22209362f, + 0.22508391f, + 0.22807208f, + 0.23105811f, + 0.23404196f, + 0.23702361f, + 0.24000302f, + 0.24298018f, + 0.24595505f, + 0.24892761f, + 0.25189782f, + 0.25486566f, + 0.25783110f, + 0.26079412f, + 0.26375468f, + 0.26671276f, + 0.26966833f, + 0.27262136f, + 0.27557182f, + 0.27851969f, + 0.28146494f, + 0.28440754f, + 0.28734746f, + 0.29028468f, + 0.29321916f, + 0.29615089f, + 0.29907983f, + 0.30200595f, + 0.30492923f, + 0.30784964f, + 0.31076715f, + 0.31368174f, + 0.31659338f, + 0.31950203f, + 0.32240768f, + 0.32531029f, + 0.32820984f, + 0.33110631f, + 0.33399965f, + 0.33688985f, + 0.33977688f, + 0.34266072f, + 0.34554132f, + 0.34841868f, + 0.35129276f, + 0.35416353f, + 0.35703096f, + 0.35989504f, + 0.36275572f, + 0.36561300f, + 0.36846683f, + 0.37131719f, + 0.37416406f, + 0.37700741f, + 0.37984721f, + 0.38268343f, + 0.38551605f, + 0.38834505f, + 0.39117038f, + 0.39399204f, + 0.39680999f, + 0.39962420f, + 0.40243465f, + 0.40524131f, + 0.40804416f, + 0.41084317f, + 0.41363831f, + 0.41642956f, + 0.41921689f, + 0.42200027f, + 0.42477968f, + 0.42755509f, + 0.43032648f, + 0.43309382f, + 0.43585708f, + 0.43861624f, + 0.44137127f, + 0.44412214f, + 0.44686884f, + 0.44961133f, + 0.45234959f, + 0.45508359f, + 0.45781330f, + 0.46053871f, + 0.46325978f, + 0.46597650f, + 0.46868882f, + 0.47139674f, + 0.47410021f, + 0.47679923f, + 0.47949376f, + 0.48218377f, + 0.48486925f, + 0.48755016f, + 0.49022648f, + 0.49289819f, + 0.49556526f, + 0.49822767f, + 0.50088538f, + 0.50353838f, + 0.50618665f, + 0.50883014f, + 0.51146885f, + 0.51410274f, + 0.51673180f, + 0.51935599f, + 0.52197529f, + 0.52458968f, + 0.52719913f, + 0.52980362f, + 0.53240313f, + 0.53499762f, + 0.53758708f, + 0.54017147f, + 0.54275078f, + 0.54532499f, + 0.54789406f, + 0.55045797f, + 0.55301671f, + 0.55557023f, + 0.55811853f, + 0.56066158f, + 0.56319934f, + 0.56573181f, + 0.56825895f, + 0.57078075f, + 0.57329717f, + 0.57580819f, + 0.57831380f, + 0.58081396f, + 0.58330865f, + 0.58579786f, + 0.58828155f, + 0.59075970f, + 0.59323230f, + 0.59569930f, + 0.59816071f, + 0.60061648f, + 0.60306660f, + 0.60551104f, + 0.60794978f, + 0.61038281f, + 0.61281008f, + 0.61523159f, + 0.61764731f, + 0.62005721f, + 0.62246128f, + 0.62485949f, + 0.62725182f, + 0.62963824f, + 0.63201874f, + 0.63439328f, + 0.63676186f, + 0.63912444f, + 0.64148101f, + 0.64383154f, + 0.64617601f, + 0.64851440f, + 0.65084668f, + 0.65317284f, + 0.65549285f, + 0.65780669f, + 0.66011434f, + 0.66241578f, + 0.66471098f, + 0.66699992f, + 0.66928259f, + 0.67155895f, + 0.67382900f, + 0.67609270f, + 0.67835004f, + 0.68060100f, + 0.68284555f, + 0.68508367f, + 0.68731534f, + 0.68954054f, + 0.69175926f, + 0.69397146f, + 0.69617713f, + 0.69837625f, + 0.70056879f, + 0.70275474f, + 0.70493408f, + 0.70710678f, + 0.70927283f, + 0.71143220f, + 0.71358487f, + 0.71573083f, + 0.71787005f, + 0.72000251f, + 0.72212819f, + 0.72424708f, + 0.72635916f, + 0.72846439f, + 0.73056277f, + 0.73265427f, + 0.73473888f, + 0.73681657f, + 0.73888732f, + 0.74095113f, + 0.74300795f, + 0.74505779f, + 0.74710061f, + 0.74913639f, + 0.75116513f, + 0.75318680f, + 0.75520138f, + 0.75720885f, + 0.75920919f, + 0.76120239f, + 0.76318842f, + 0.76516727f, + 0.76713891f, + 0.76910334f, + 0.77106052f, + 0.77301045f, + 0.77495311f, + 0.77688847f, + 0.77881651f, + 0.78073723f, + 0.78265060f, + 0.78455660f, + 0.78645521f, + 0.78834643f, + 0.79023022f, + 0.79210658f, + 0.79397548f, + 0.79583690f, + 0.79769084f, + 0.79953727f, + 0.80137617f, + 0.80320753f, + 0.80503133f, + 0.80684755f, + 0.80865618f, + 0.81045720f, + 0.81225059f, + 0.81403633f, + 0.81581441f, + 0.81758481f, + 0.81934752f, + 0.82110251f, + 0.82284978f, + 0.82458930f, + 0.82632106f, + 0.82804505f, + 0.82976123f, + 0.83146961f, + 0.83317016f, + 0.83486287f, + 0.83654773f, + 0.83822471f, + 0.83989379f, + 0.84155498f, + 0.84320824f, + 0.84485357f, + 0.84649094f, + 0.84812034f, + 0.84974177f, + 0.85135519f, + 0.85296060f, + 0.85455799f, + 0.85614733f, + 0.85772861f, + 0.85930182f, + 0.86086694f, + 0.86242396f, + 0.86397286f, + 0.86551362f, + 0.86704625f, + 0.86857071f, + 0.87008699f, + 0.87159509f, + 0.87309498f, + 0.87458665f, + 0.87607009f, + 0.87754529f, + 0.87901223f, + 0.88047089f, + 0.88192126f, + 0.88336334f, + 0.88479710f, + 0.88622253f, + 0.88763962f, + 0.88904836f, + 0.89044872f, + 0.89184071f, + 0.89322430f, + 0.89459949f, + 0.89596625f, + 0.89732458f, + 0.89867447f, + 0.90001589f, + 0.90134885f, + 0.90267332f, + 0.90398929f, + 0.90529676f, + 0.90659570f, + 0.90788612f, + 0.90916798f, + 0.91044129f, + 0.91170603f, + 0.91296219f, + 0.91420976f, + 0.91544872f, + 0.91667906f, + 0.91790078f, + 0.91911385f, + 0.92031828f, + 0.92151404f, + 0.92270113f, + 0.92387953f, + 0.92504924f, + 0.92621024f, + 0.92736253f, + 0.92850608f, + 0.92964090f, + 0.93076696f, + 0.93188427f, + 0.93299280f, + 0.93409255f, + 0.93518351f, + 0.93626567f, + 0.93733901f, + 0.93840353f, + 0.93945922f, + 0.94050607f, + 0.94154407f, + 0.94257320f, + 0.94359346f, + 0.94460484f, + 0.94560733f, + 0.94660091f, + 0.94758559f, + 0.94856135f, + 0.94952818f, + 0.95048607f, + 0.95143502f, + 0.95237501f, + 0.95330604f, + 0.95422810f, + 0.95514117f, + 0.95604525f, + 0.95694034f, + 0.95782641f, + 0.95870347f, + 0.95957151f, + 0.96043052f, + 0.96128049f, + 0.96212140f, + 0.96295327f, + 0.96377607f, + 0.96458979f, + 0.96539444f, + 0.96619000f, + 0.96697647f, + 0.96775384f, + 0.96852209f, + 0.96928124f, + 0.97003125f, + 0.97077214f, + 0.97150389f, + 0.97222650f, + 0.97293995f, + 0.97364425f, + 0.97433938f, + 0.97502535f, + 0.97570213f, + 0.97636973f, + 0.97702814f, + 0.97767736f, + 0.97831737f, + 0.97894818f, + 0.97956977f, + 0.98018214f, + 0.98078528f, + 0.98137919f, + 0.98196387f, + 0.98253930f, + 0.98310549f, + 0.98366242f, + 0.98421009f, + 0.98474850f, + 0.98527764f, + 0.98579751f, + 0.98630810f, + 0.98680940f, + 0.98730142f, + 0.98778414f, + 0.98825757f, + 0.98872169f, + 0.98917651f, + 0.98962202f, + 0.99005821f, + 0.99048508f, + 0.99090264f, + 0.99131086f, + 0.99170975f, + 0.99209931f, + 0.99247953f, + 0.99285041f, + 0.99321195f, + 0.99356414f, + 0.99390697f, + 0.99424045f, + 0.99456457f, + 0.99487933f, + 0.99518473f, + 0.99548076f, + 0.99576741f, + 0.99604470f, + 0.99631261f, + 0.99657115f, + 0.99682030f, + 0.99706007f, + 0.99729046f, + 0.99751146f, + 0.99772307f, + 0.99792529f, + 0.99811811f, + 0.99830154f, + 0.99847558f, + 0.99864022f, + 0.99879546f, + 0.99894129f, + 0.99907773f, + 0.99920476f, + 0.99932238f, + 0.99943060f, + 0.99952942f, + 0.99961882f, + 0.99969882f, + 0.99976941f, + 0.99983058f, + 0.99988235f, + 0.99992470f, + 0.99995764f, + 0.99998118f, + 0.99999529f, + 1.00000000f, + 0.99999529f, + 0.99998118f, + 0.99995764f, + 0.99992470f, + 0.99988235f, + 0.99983058f, + 0.99976941f, + 0.99969882f, + 0.99961882f, + 0.99952942f, + 0.99943060f, + 0.99932238f, + 0.99920476f, + 0.99907773f, + 0.99894129f, + 0.99879546f, + 0.99864022f, + 0.99847558f, + 0.99830154f, + 0.99811811f, + 0.99792529f, + 0.99772307f, + 0.99751146f, + 0.99729046f, + 0.99706007f, + 0.99682030f, + 0.99657115f, + 0.99631261f, + 0.99604470f, + 0.99576741f, + 0.99548076f, + 0.99518473f, + 0.99487933f, + 0.99456457f, + 0.99424045f, + 0.99390697f, + 0.99356414f, + 0.99321195f, + 0.99285041f, + 0.99247953f, + 0.99209931f, + 0.99170975f, + 0.99131086f, + 0.99090264f, + 0.99048508f, + 0.99005821f, + 0.98962202f, + 0.98917651f, + 0.98872169f, + 0.98825757f, + 0.98778414f, + 0.98730142f, + 0.98680940f, + 0.98630810f, + 0.98579751f, + 0.98527764f, + 0.98474850f, + 0.98421009f, + 0.98366242f, + 0.98310549f, + 0.98253930f, + 0.98196387f, + 0.98137919f, + 0.98078528f, + 0.98018214f, + 0.97956977f, + 0.97894818f, + 0.97831737f, + 0.97767736f, + 0.97702814f, + 0.97636973f, + 0.97570213f, + 0.97502535f, + 0.97433938f, + 0.97364425f, + 0.97293995f, + 0.97222650f, + 0.97150389f, + 0.97077214f, + 0.97003125f, + 0.96928124f, + 0.96852209f, + 0.96775384f, + 0.96697647f, + 0.96619000f, + 0.96539444f, + 0.96458979f, + 0.96377607f, + 0.96295327f, + 0.96212140f, + 0.96128049f, + 0.96043052f, + 0.95957151f, + 0.95870347f, + 0.95782641f, + 0.95694034f, + 0.95604525f, + 0.95514117f, + 0.95422810f, + 0.95330604f, + 0.95237501f, + 0.95143502f, + 0.95048607f, + 0.94952818f, + 0.94856135f, + 0.94758559f, + 0.94660091f, + 0.94560733f, + 0.94460484f, + 0.94359346f, + 0.94257320f, + 0.94154407f, + 0.94050607f, + 0.93945922f, + 0.93840353f, + 0.93733901f, + 0.93626567f, + 0.93518351f, + 0.93409255f, + 0.93299280f, + 0.93188427f, + 0.93076696f, + 0.92964090f, + 0.92850608f, + 0.92736253f, + 0.92621024f, + 0.92504924f, + 0.92387953f, + 0.92270113f, + 0.92151404f, + 0.92031828f, + 0.91911385f, + 0.91790078f, + 0.91667906f, + 0.91544872f, + 0.91420976f, + 0.91296219f, + 0.91170603f, + 0.91044129f, + 0.90916798f, + 0.90788612f, + 0.90659570f, + 0.90529676f, + 0.90398929f, + 0.90267332f, + 0.90134885f, + 0.90001589f, + 0.89867447f, + 0.89732458f, + 0.89596625f, + 0.89459949f, + 0.89322430f, + 0.89184071f, + 0.89044872f, + 0.88904836f, + 0.88763962f, + 0.88622253f, + 0.88479710f, + 0.88336334f, + 0.88192126f, + 0.88047089f, + 0.87901223f, + 0.87754529f, + 0.87607009f, + 0.87458665f, + 0.87309498f, + 0.87159509f, + 0.87008699f, + 0.86857071f, + 0.86704625f, + 0.86551362f, + 0.86397286f, + 0.86242396f, + 0.86086694f, + 0.85930182f, + 0.85772861f, + 0.85614733f, + 0.85455799f, + 0.85296060f, + 0.85135519f, + 0.84974177f, + 0.84812034f, + 0.84649094f, + 0.84485357f, + 0.84320824f, + 0.84155498f, + 0.83989379f, + 0.83822471f, + 0.83654773f, + 0.83486287f, + 0.83317016f, + 0.83146961f, + 0.82976123f, + 0.82804505f, + 0.82632106f, + 0.82458930f, + 0.82284978f, + 0.82110251f, + 0.81934752f, + 0.81758481f, + 0.81581441f, + 0.81403633f, + 0.81225059f, + 0.81045720f, + 0.80865618f, + 0.80684755f, + 0.80503133f, + 0.80320753f, + 0.80137617f, + 0.79953727f, + 0.79769084f, + 0.79583690f, + 0.79397548f, + 0.79210658f, + 0.79023022f, + 0.78834643f, + 0.78645521f, + 0.78455660f, + 0.78265060f, + 0.78073723f, + 0.77881651f, + 0.77688847f, + 0.77495311f, + 0.77301045f, + 0.77106052f, + 0.76910334f, + 0.76713891f, + 0.76516727f, + 0.76318842f, + 0.76120239f, + 0.75920919f, + 0.75720885f, + 0.75520138f, + 0.75318680f, + 0.75116513f, + 0.74913639f, + 0.74710061f, + 0.74505779f, + 0.74300795f, + 0.74095113f, + 0.73888732f, + 0.73681657f, + 0.73473888f, + 0.73265427f, + 0.73056277f, + 0.72846439f, + 0.72635916f, + 0.72424708f, + 0.72212819f, + 0.72000251f, + 0.71787005f, + 0.71573083f, + 0.71358487f, + 0.71143220f, + 0.70927283f, + 0.70710678f, + 0.70493408f, + 0.70275474f, + 0.70056879f, + 0.69837625f, + 0.69617713f, + 0.69397146f, + 0.69175926f, + 0.68954054f, + 0.68731534f, + 0.68508367f, + 0.68284555f, + 0.68060100f, + 0.67835004f, + 0.67609270f, + 0.67382900f, + 0.67155895f, + 0.66928259f, + 0.66699992f, + 0.66471098f, + 0.66241578f, + 0.66011434f, + 0.65780669f, + 0.65549285f, + 0.65317284f, + 0.65084668f, + 0.64851440f, + 0.64617601f, + 0.64383154f, + 0.64148101f, + 0.63912444f, + 0.63676186f, + 0.63439328f, + 0.63201874f, + 0.62963824f, + 0.62725182f, + 0.62485949f, + 0.62246128f, + 0.62005721f, + 0.61764731f, + 0.61523159f, + 0.61281008f, + 0.61038281f, + 0.60794978f, + 0.60551104f, + 0.60306660f, + 0.60061648f, + 0.59816071f, + 0.59569930f, + 0.59323230f, + 0.59075970f, + 0.58828155f, + 0.58579786f, + 0.58330865f, + 0.58081396f, + 0.57831380f, + 0.57580819f, + 0.57329717f, + 0.57078075f, + 0.56825895f, + 0.56573181f, + 0.56319934f, + 0.56066158f, + 0.55811853f, + 0.55557023f, + 0.55301671f, + 0.55045797f, + 0.54789406f, + 0.54532499f, + 0.54275078f, + 0.54017147f, + 0.53758708f, + 0.53499762f, + 0.53240313f, + 0.52980362f, + 0.52719913f, + 0.52458968f, + 0.52197529f, + 0.51935599f, + 0.51673180f, + 0.51410274f, + 0.51146885f, + 0.50883014f, + 0.50618665f, + 0.50353838f, + 0.50088538f, + 0.49822767f, + 0.49556526f, + 0.49289819f, + 0.49022648f, + 0.48755016f, + 0.48486925f, + 0.48218377f, + 0.47949376f, + 0.47679923f, + 0.47410021f, + 0.47139674f, + 0.46868882f, + 0.46597650f, + 0.46325978f, + 0.46053871f, + 0.45781330f, + 0.45508359f, + 0.45234959f, + 0.44961133f, + 0.44686884f, + 0.44412214f, + 0.44137127f, + 0.43861624f, + 0.43585708f, + 0.43309382f, + 0.43032648f, + 0.42755509f, + 0.42477968f, + 0.42200027f, + 0.41921689f, + 0.41642956f, + 0.41363831f, + 0.41084317f, + 0.40804416f, + 0.40524131f, + 0.40243465f, + 0.39962420f, + 0.39680999f, + 0.39399204f, + 0.39117038f, + 0.38834505f, + 0.38551605f, + 0.38268343f, + 0.37984721f, + 0.37700741f, + 0.37416406f, + 0.37131719f, + 0.36846683f, + 0.36561300f, + 0.36275572f, + 0.35989504f, + 0.35703096f, + 0.35416353f, + 0.35129276f, + 0.34841868f, + 0.34554132f, + 0.34266072f, + 0.33977688f, + 0.33688985f, + 0.33399965f, + 0.33110631f, + 0.32820984f, + 0.32531029f, + 0.32240768f, + 0.31950203f, + 0.31659338f, + 0.31368174f, + 0.31076715f, + 0.30784964f, + 0.30492923f, + 0.30200595f, + 0.29907983f, + 0.29615089f, + 0.29321916f, + 0.29028468f, + 0.28734746f, + 0.28440754f, + 0.28146494f, + 0.27851969f, + 0.27557182f, + 0.27262136f, + 0.26966833f, + 0.26671276f, + 0.26375468f, + 0.26079412f, + 0.25783110f, + 0.25486566f, + 0.25189782f, + 0.24892761f, + 0.24595505f, + 0.24298018f, + 0.24000302f, + 0.23702361f, + 0.23404196f, + 0.23105811f, + 0.22807208f, + 0.22508391f, + 0.22209362f, + 0.21910124f, + 0.21610680f, + 0.21311032f, + 0.21011184f, + 0.20711138f, + 0.20410897f, + 0.20110463f, + 0.19809841f, + 0.19509032f, + 0.19208040f, + 0.18906866f, + 0.18605515f, + 0.18303989f, + 0.18002290f, + 0.17700422f, + 0.17398387f, + 0.17096189f, + 0.16793829f, + 0.16491312f, + 0.16188639f, + 0.15885814f, + 0.15582840f, + 0.15279719f, + 0.14976453f, + 0.14673047f, + 0.14369503f, + 0.14065824f, + 0.13762012f, + 0.13458071f, + 0.13154003f, + 0.12849811f, + 0.12545498f, + 0.12241068f, + 0.11936521f, + 0.11631863f, + 0.11327095f, + 0.11022221f, + 0.10717242f, + 0.10412163f, + 0.10106986f, + 0.09801714f, + 0.09496350f, + 0.09190896f, + 0.08885355f, + 0.08579731f, + 0.08274026f, + 0.07968244f, + 0.07662386f, + 0.07356456f, + 0.07050457f, + 0.06744392f, + 0.06438263f, + 0.06132074f, + 0.05825826f, + 0.05519524f, + 0.05213170f, + 0.04906767f, + 0.04600318f, + 0.04293826f, + 0.03987293f, + 0.03680722f, + 0.03374117f, + 0.03067480f, + 0.02760815f, + 0.02454123f, + 0.02147408f, + 0.01840673f, + 0.01533921f, + 0.01227154f, + 0.00920375f, + 0.00613588f, + 0.00306796f, + 0.00000000f, + -0.00306796f, + -0.00613588f, + -0.00920375f, + -0.01227154f, + -0.01533921f, + -0.01840673f, + -0.02147408f, + -0.02454123f, + -0.02760815f, + -0.03067480f, + -0.03374117f, + -0.03680722f, + -0.03987293f, + -0.04293826f, + -0.04600318f, + -0.04906767f, + -0.05213170f, + -0.05519524f, + -0.05825826f, + -0.06132074f, + -0.06438263f, + -0.06744392f, + -0.07050457f, + -0.07356456f, + -0.07662386f, + -0.07968244f, + -0.08274026f, + -0.08579731f, + -0.08885355f, + -0.09190896f, + -0.09496350f, + -0.09801714f, + -0.10106986f, + -0.10412163f, + -0.10717242f, + -0.11022221f, + -0.11327095f, + -0.11631863f, + -0.11936521f, + -0.12241068f, + -0.12545498f, + -0.12849811f, + -0.13154003f, + -0.13458071f, + -0.13762012f, + -0.14065824f, + -0.14369503f, + -0.14673047f, + -0.14976453f, + -0.15279719f, + -0.15582840f, + -0.15885814f, + -0.16188639f, + -0.16491312f, + -0.16793829f, + -0.17096189f, + -0.17398387f, + -0.17700422f, + -0.18002290f, + -0.18303989f, + -0.18605515f, + -0.18906866f, + -0.19208040f, + -0.19509032f, + -0.19809841f, + -0.20110463f, + -0.20410897f, + -0.20711138f, + -0.21011184f, + -0.21311032f, + -0.21610680f, + -0.21910124f, + -0.22209362f, + -0.22508391f, + -0.22807208f, + -0.23105811f, + -0.23404196f, + -0.23702361f, + -0.24000302f, + -0.24298018f, + -0.24595505f, + -0.24892761f, + -0.25189782f, + -0.25486566f, + -0.25783110f, + -0.26079412f, + -0.26375468f, + -0.26671276f, + -0.26966833f, + -0.27262136f, + -0.27557182f, + -0.27851969f, + -0.28146494f, + -0.28440754f, + -0.28734746f, + -0.29028468f, + -0.29321916f, + -0.29615089f, + -0.29907983f, + -0.30200595f, + -0.30492923f, + -0.30784964f, + -0.31076715f, + -0.31368174f, + -0.31659338f, + -0.31950203f, + -0.32240768f, + -0.32531029f, + -0.32820984f, + -0.33110631f, + -0.33399965f, + -0.33688985f, + -0.33977688f, + -0.34266072f, + -0.34554132f, + -0.34841868f, + -0.35129276f, + -0.35416353f, + -0.35703096f, + -0.35989504f, + -0.36275572f, + -0.36561300f, + -0.36846683f, + -0.37131719f, + -0.37416406f, + -0.37700741f, + -0.37984721f, + -0.38268343f, + -0.38551605f, + -0.38834505f, + -0.39117038f, + -0.39399204f, + -0.39680999f, + -0.39962420f, + -0.40243465f, + -0.40524131f, + -0.40804416f, + -0.41084317f, + -0.41363831f, + -0.41642956f, + -0.41921689f, + -0.42200027f, + -0.42477968f, + -0.42755509f, + -0.43032648f, + -0.43309382f, + -0.43585708f, + -0.43861624f, + -0.44137127f, + -0.44412214f, + -0.44686884f, + -0.44961133f, + -0.45234959f, + -0.45508359f, + -0.45781330f, + -0.46053871f, + -0.46325978f, + -0.46597650f, + -0.46868882f, + -0.47139674f, + -0.47410021f, + -0.47679923f, + -0.47949376f, + -0.48218377f, + -0.48486925f, + -0.48755016f, + -0.49022648f, + -0.49289819f, + -0.49556526f, + -0.49822767f, + -0.50088538f, + -0.50353838f, + -0.50618665f, + -0.50883014f, + -0.51146885f, + -0.51410274f, + -0.51673180f, + -0.51935599f, + -0.52197529f, + -0.52458968f, + -0.52719913f, + -0.52980362f, + -0.53240313f, + -0.53499762f, + -0.53758708f, + -0.54017147f, + -0.54275078f, + -0.54532499f, + -0.54789406f, + -0.55045797f, + -0.55301671f, + -0.55557023f, + -0.55811853f, + -0.56066158f, + -0.56319934f, + -0.56573181f, + -0.56825895f, + -0.57078075f, + -0.57329717f, + -0.57580819f, + -0.57831380f, + -0.58081396f, + -0.58330865f, + -0.58579786f, + -0.58828155f, + -0.59075970f, + -0.59323230f, + -0.59569930f, + -0.59816071f, + -0.60061648f, + -0.60306660f, + -0.60551104f, + -0.60794978f, + -0.61038281f, + -0.61281008f, + -0.61523159f, + -0.61764731f, + -0.62005721f, + -0.62246128f, + -0.62485949f, + -0.62725182f, + -0.62963824f, + -0.63201874f, + -0.63439328f, + -0.63676186f, + -0.63912444f, + -0.64148101f, + -0.64383154f, + -0.64617601f, + -0.64851440f, + -0.65084668f, + -0.65317284f, + -0.65549285f, + -0.65780669f, + -0.66011434f, + -0.66241578f, + -0.66471098f, + -0.66699992f, + -0.66928259f, + -0.67155895f, + -0.67382900f, + -0.67609270f, + -0.67835004f, + -0.68060100f, + -0.68284555f, + -0.68508367f, + -0.68731534f, + -0.68954054f, + -0.69175926f, + -0.69397146f, + -0.69617713f, + -0.69837625f, + -0.70056879f, + -0.70275474f, + -0.70493408f, + -0.70710678f, + -0.70927283f, + -0.71143220f, + -0.71358487f, + -0.71573083f, + -0.71787005f, + -0.72000251f, + -0.72212819f, + -0.72424708f, + -0.72635916f, + -0.72846439f, + -0.73056277f, + -0.73265427f, + -0.73473888f, + -0.73681657f, + -0.73888732f, + -0.74095113f, + -0.74300795f, + -0.74505779f, + -0.74710061f, + -0.74913639f, + -0.75116513f, + -0.75318680f, + -0.75520138f, + -0.75720885f, + -0.75920919f, + -0.76120239f, + -0.76318842f, + -0.76516727f, + -0.76713891f, + -0.76910334f, + -0.77106052f, + -0.77301045f, + -0.77495311f, + -0.77688847f, + -0.77881651f, + -0.78073723f, + -0.78265060f, + -0.78455660f, + -0.78645521f, + -0.78834643f, + -0.79023022f, + -0.79210658f, + -0.79397548f, + -0.79583690f, + -0.79769084f, + -0.79953727f, + -0.80137617f, + -0.80320753f, + -0.80503133f, + -0.80684755f, + -0.80865618f, + -0.81045720f, + -0.81225059f, + -0.81403633f, + -0.81581441f, + -0.81758481f, + -0.81934752f, + -0.82110251f, + -0.82284978f, + -0.82458930f, + -0.82632106f, + -0.82804505f, + -0.82976123f, + -0.83146961f, + -0.83317016f, + -0.83486287f, + -0.83654773f, + -0.83822471f, + -0.83989379f, + -0.84155498f, + -0.84320824f, + -0.84485357f, + -0.84649094f, + -0.84812034f, + -0.84974177f, + -0.85135519f, + -0.85296060f, + -0.85455799f, + -0.85614733f, + -0.85772861f, + -0.85930182f, + -0.86086694f, + -0.86242396f, + -0.86397286f, + -0.86551362f, + -0.86704625f, + -0.86857071f, + -0.87008699f, + -0.87159509f, + -0.87309498f, + -0.87458665f, + -0.87607009f, + -0.87754529f, + -0.87901223f, + -0.88047089f, + -0.88192126f, + -0.88336334f, + -0.88479710f, + -0.88622253f, + -0.88763962f, + -0.88904836f, + -0.89044872f, + -0.89184071f, + -0.89322430f, + -0.89459949f, + -0.89596625f, + -0.89732458f, + -0.89867447f, + -0.90001589f, + -0.90134885f, + -0.90267332f, + -0.90398929f, + -0.90529676f, + -0.90659570f, + -0.90788612f, + -0.90916798f, + -0.91044129f, + -0.91170603f, + -0.91296219f, + -0.91420976f, + -0.91544872f, + -0.91667906f, + -0.91790078f, + -0.91911385f, + -0.92031828f, + -0.92151404f, + -0.92270113f, + -0.92387953f, + -0.92504924f, + -0.92621024f, + -0.92736253f, + -0.92850608f, + -0.92964090f, + -0.93076696f, + -0.93188427f, + -0.93299280f, + -0.93409255f, + -0.93518351f, + -0.93626567f, + -0.93733901f, + -0.93840353f, + -0.93945922f, + -0.94050607f, + -0.94154407f, + -0.94257320f, + -0.94359346f, + -0.94460484f, + -0.94560733f, + -0.94660091f, + -0.94758559f, + -0.94856135f, + -0.94952818f, + -0.95048607f, + -0.95143502f, + -0.95237501f, + -0.95330604f, + -0.95422810f, + -0.95514117f, + -0.95604525f, + -0.95694034f, + -0.95782641f, + -0.95870347f, + -0.95957151f, + -0.96043052f, + -0.96128049f, + -0.96212140f, + -0.96295327f, + -0.96377607f, + -0.96458979f, + -0.96539444f, + -0.96619000f, + -0.96697647f, + -0.96775384f, + -0.96852209f, + -0.96928124f, + -0.97003125f, + -0.97077214f, + -0.97150389f, + -0.97222650f, + -0.97293995f, + -0.97364425f, + -0.97433938f, + -0.97502535f, + -0.97570213f, + -0.97636973f, + -0.97702814f, + -0.97767736f, + -0.97831737f, + -0.97894818f, + -0.97956977f, + -0.98018214f, + -0.98078528f, + -0.98137919f, + -0.98196387f, + -0.98253930f, + -0.98310549f, + -0.98366242f, + -0.98421009f, + -0.98474850f, + -0.98527764f, + -0.98579751f, + -0.98630810f, + -0.98680940f, + -0.98730142f, + -0.98778414f, + -0.98825757f, + -0.98872169f, + -0.98917651f, + -0.98962202f, + -0.99005821f, + -0.99048508f, + -0.99090264f, + -0.99131086f, + -0.99170975f, + -0.99209931f, + -0.99247953f, + -0.99285041f, + -0.99321195f, + -0.99356414f, + -0.99390697f, + -0.99424045f, + -0.99456457f, + -0.99487933f, + -0.99518473f, + -0.99548076f, + -0.99576741f, + -0.99604470f, + -0.99631261f, + -0.99657115f, + -0.99682030f, + -0.99706007f, + -0.99729046f, + -0.99751146f, + -0.99772307f, + -0.99792529f, + -0.99811811f, + -0.99830154f, + -0.99847558f, + -0.99864022f, + -0.99879546f, + -0.99894129f, + -0.99907773f, + -0.99920476f, + -0.99932238f, + -0.99943060f, + -0.99952942f, + -0.99961882f, + -0.99969882f, + -0.99976941f, + -0.99983058f, + -0.99988235f, + -0.99992470f, + -0.99995764f, + -0.99998118f, + -0.99999529f, + -1.00000000f, + -0.99999529f, + -0.99998118f, + -0.99995764f, + -0.99992470f, + -0.99988235f, + -0.99983058f, + -0.99976941f, + -0.99969882f, + -0.99961882f, + -0.99952942f, + -0.99943060f, + -0.99932238f, + -0.99920476f, + -0.99907773f, + -0.99894129f, + -0.99879546f, + -0.99864022f, + -0.99847558f, + -0.99830154f, + -0.99811811f, + -0.99792529f, + -0.99772307f, + -0.99751146f, + -0.99729046f, + -0.99706007f, + -0.99682030f, + -0.99657115f, + -0.99631261f, + -0.99604470f, + -0.99576741f, + -0.99548076f, + -0.99518473f, + -0.99487933f, + -0.99456457f, + -0.99424045f, + -0.99390697f, + -0.99356414f, + -0.99321195f, + -0.99285041f, + -0.99247953f, + -0.99209931f, + -0.99170975f, + -0.99131086f, + -0.99090264f, + -0.99048508f, + -0.99005821f, + -0.98962202f, + -0.98917651f, + -0.98872169f, + -0.98825757f, + -0.98778414f, + -0.98730142f, + -0.98680940f, + -0.98630810f, + -0.98579751f, + -0.98527764f, + -0.98474850f, + -0.98421009f, + -0.98366242f, + -0.98310549f, + -0.98253930f, + -0.98196387f, + -0.98137919f, + -0.98078528f, + -0.98018214f, + -0.97956977f, + -0.97894818f, + -0.97831737f, + -0.97767736f, + -0.97702814f, + -0.97636973f, + -0.97570213f, + -0.97502535f, + -0.97433938f, + -0.97364425f, + -0.97293995f, + -0.97222650f, + -0.97150389f, + -0.97077214f, + -0.97003125f, + -0.96928124f, + -0.96852209f, + -0.96775384f, + -0.96697647f, + -0.96619000f, + -0.96539444f, + -0.96458979f, + -0.96377607f, + -0.96295327f, + -0.96212140f, + -0.96128049f, + -0.96043052f, + -0.95957151f, + -0.95870347f, + -0.95782641f, + -0.95694034f, + -0.95604525f, + -0.95514117f, + -0.95422810f, + -0.95330604f, + -0.95237501f, + -0.95143502f, + -0.95048607f, + -0.94952818f, + -0.94856135f, + -0.94758559f, + -0.94660091f, + -0.94560733f, + -0.94460484f, + -0.94359346f, + -0.94257320f, + -0.94154407f, + -0.94050607f, + -0.93945922f, + -0.93840353f, + -0.93733901f, + -0.93626567f, + -0.93518351f, + -0.93409255f, + -0.93299280f, + -0.93188427f, + -0.93076696f, + -0.92964090f, + -0.92850608f, + -0.92736253f, + -0.92621024f, + -0.92504924f, + -0.92387953f, + -0.92270113f, + -0.92151404f, + -0.92031828f, + -0.91911385f, + -0.91790078f, + -0.91667906f, + -0.91544872f, + -0.91420976f, + -0.91296219f, + -0.91170603f, + -0.91044129f, + -0.90916798f, + -0.90788612f, + -0.90659570f, + -0.90529676f, + -0.90398929f, + -0.90267332f, + -0.90134885f, + -0.90001589f, + -0.89867447f, + -0.89732458f, + -0.89596625f, + -0.89459949f, + -0.89322430f, + -0.89184071f, + -0.89044872f, + -0.88904836f, + -0.88763962f, + -0.88622253f, + -0.88479710f, + -0.88336334f, + -0.88192126f, + -0.88047089f, + -0.87901223f, + -0.87754529f, + -0.87607009f, + -0.87458665f, + -0.87309498f, + -0.87159509f, + -0.87008699f, + -0.86857071f, + -0.86704625f, + -0.86551362f, + -0.86397286f, + -0.86242396f, + -0.86086694f, + -0.85930182f, + -0.85772861f, + -0.85614733f, + -0.85455799f, + -0.85296060f, + -0.85135519f, + -0.84974177f, + -0.84812034f, + -0.84649094f, + -0.84485357f, + -0.84320824f, + -0.84155498f, + -0.83989379f, + -0.83822471f, + -0.83654773f, + -0.83486287f, + -0.83317016f, + -0.83146961f, + -0.82976123f, + -0.82804505f, + -0.82632106f, + -0.82458930f, + -0.82284978f, + -0.82110251f, + -0.81934752f, + -0.81758481f, + -0.81581441f, + -0.81403633f, + -0.81225059f, + -0.81045720f, + -0.80865618f, + -0.80684755f, + -0.80503133f, + -0.80320753f, + -0.80137617f, + -0.79953727f, + -0.79769084f, + -0.79583690f, + -0.79397548f, + -0.79210658f, + -0.79023022f, + -0.78834643f, + -0.78645521f, + -0.78455660f, + -0.78265060f, + -0.78073723f, + -0.77881651f, + -0.77688847f, + -0.77495311f, + -0.77301045f, + -0.77106052f, + -0.76910334f, + -0.76713891f, + -0.76516727f, + -0.76318842f, + -0.76120239f, + -0.75920919f, + -0.75720885f, + -0.75520138f, + -0.75318680f, + -0.75116513f, + -0.74913639f, + -0.74710061f, + -0.74505779f, + -0.74300795f, + -0.74095113f, + -0.73888732f, + -0.73681657f, + -0.73473888f, + -0.73265427f, + -0.73056277f, + -0.72846439f, + -0.72635916f, + -0.72424708f, + -0.72212819f, + -0.72000251f, + -0.71787005f, + -0.71573083f, + -0.71358487f, + -0.71143220f, + -0.70927283f, + -0.70710678f, + -0.70493408f, + -0.70275474f, + -0.70056879f, + -0.69837625f, + -0.69617713f, + -0.69397146f, + -0.69175926f, + -0.68954054f, + -0.68731534f, + -0.68508367f, + -0.68284555f, + -0.68060100f, + -0.67835004f, + -0.67609270f, + -0.67382900f, + -0.67155895f, + -0.66928259f, + -0.66699992f, + -0.66471098f, + -0.66241578f, + -0.66011434f, + -0.65780669f, + -0.65549285f, + -0.65317284f, + -0.65084668f, + -0.64851440f, + -0.64617601f, + -0.64383154f, + -0.64148101f, + -0.63912444f, + -0.63676186f, + -0.63439328f, + -0.63201874f, + -0.62963824f, + -0.62725182f, + -0.62485949f, + -0.62246128f, + -0.62005721f, + -0.61764731f, + -0.61523159f, + -0.61281008f, + -0.61038281f, + -0.60794978f, + -0.60551104f, + -0.60306660f, + -0.60061648f, + -0.59816071f, + -0.59569930f, + -0.59323230f, + -0.59075970f, + -0.58828155f, + -0.58579786f, + -0.58330865f, + -0.58081396f, + -0.57831380f, + -0.57580819f, + -0.57329717f, + -0.57078075f, + -0.56825895f, + -0.56573181f, + -0.56319934f, + -0.56066158f, + -0.55811853f, + -0.55557023f, + -0.55301671f, + -0.55045797f, + -0.54789406f, + -0.54532499f, + -0.54275078f, + -0.54017147f, + -0.53758708f, + -0.53499762f, + -0.53240313f, + -0.52980362f, + -0.52719913f, + -0.52458968f, + -0.52197529f, + -0.51935599f, + -0.51673180f, + -0.51410274f, + -0.51146885f, + -0.50883014f, + -0.50618665f, + -0.50353838f, + -0.50088538f, + -0.49822767f, + -0.49556526f, + -0.49289819f, + -0.49022648f, + -0.48755016f, + -0.48486925f, + -0.48218377f, + -0.47949376f, + -0.47679923f, + -0.47410021f, + -0.47139674f, + -0.46868882f, + -0.46597650f, + -0.46325978f, + -0.46053871f, + -0.45781330f, + -0.45508359f, + -0.45234959f, + -0.44961133f, + -0.44686884f, + -0.44412214f, + -0.44137127f, + -0.43861624f, + -0.43585708f, + -0.43309382f, + -0.43032648f, + -0.42755509f, + -0.42477968f, + -0.42200027f, + -0.41921689f, + -0.41642956f, + -0.41363831f, + -0.41084317f, + -0.40804416f, + -0.40524131f, + -0.40243465f, + -0.39962420f, + -0.39680999f, + -0.39399204f, + -0.39117038f, + -0.38834505f, + -0.38551605f, + -0.38268343f, + -0.37984721f, + -0.37700741f, + -0.37416406f, + -0.37131719f, + -0.36846683f, + -0.36561300f, + -0.36275572f, + -0.35989504f, + -0.35703096f, + -0.35416353f, + -0.35129276f, + -0.34841868f, + -0.34554132f, + -0.34266072f, + -0.33977688f, + -0.33688985f, + -0.33399965f, + -0.33110631f, + -0.32820984f, + -0.32531029f, + -0.32240768f, + -0.31950203f, + -0.31659338f, + -0.31368174f, + -0.31076715f, + -0.30784964f, + -0.30492923f, + -0.30200595f, + -0.29907983f, + -0.29615089f, + -0.29321916f, + -0.29028468f, + -0.28734746f, + -0.28440754f, + -0.28146494f, + -0.27851969f, + -0.27557182f, + -0.27262136f, + -0.26966833f, + -0.26671276f, + -0.26375468f, + -0.26079412f, + -0.25783110f, + -0.25486566f, + -0.25189782f, + -0.24892761f, + -0.24595505f, + -0.24298018f, + -0.24000302f, + -0.23702361f, + -0.23404196f, + -0.23105811f, + -0.22807208f, + -0.22508391f, + -0.22209362f, + -0.21910124f, + -0.21610680f, + -0.21311032f, + -0.21011184f, + -0.20711138f, + -0.20410897f, + -0.20110463f, + -0.19809841f, + -0.19509032f, + -0.19208040f, + -0.18906866f, + -0.18605515f, + -0.18303989f, + -0.18002290f, + -0.17700422f, + -0.17398387f, + -0.17096189f, + -0.16793829f, + -0.16491312f, + -0.16188639f, + -0.15885814f, + -0.15582840f, + -0.15279719f, + -0.14976453f, + -0.14673047f, + -0.14369503f, + -0.14065824f, + -0.13762012f, + -0.13458071f, + -0.13154003f, + -0.12849811f, + -0.12545498f, + -0.12241068f, + -0.11936521f, + -0.11631863f, + -0.11327095f, + -0.11022221f, + -0.10717242f, + -0.10412163f, + -0.10106986f, + -0.09801714f, + -0.09496350f, + -0.09190896f, + -0.08885355f, + -0.08579731f, + -0.08274026f, + -0.07968244f, + -0.07662386f, + -0.07356456f, + -0.07050457f, + -0.06744392f, + -0.06438263f, + -0.06132074f, + -0.05825826f, + -0.05519524f, + -0.05213170f, + -0.04906767f, + -0.04600318f, + -0.04293826f, + -0.03987293f, + -0.03680722f, + -0.03374117f, + -0.03067480f, + -0.02760815f, + -0.02454123f, + -0.02147408f, + -0.01840673f, + -0.01533921f, + -0.01227154f, + -0.00920375f, + -0.00613588f, + -0.00306796f +}; + +SPAN_DECLARE(int32_t) dds_phase_ratef(float frequency) +{ + return (int32_t) (frequency*65536.0f*65536.0f/SAMPLE_RATE); +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) dds_frequencyf(int32_t phase_rate) +{ + return (float) phase_rate*(float) SAMPLE_RATE/(65536.0f*65536.0f); +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) dds_scaling_dbm0f(float level) +{ + return powf(10.0f, (level - DBM0_MAX_SINE_POWER)/20.0f)*32767.0f; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) dds_scaling_dbovf(float level) +{ + return powf(10.0f, (level - DBOV_MAX_SINE_POWER)/20.0f)*32767.0f; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(void) dds_advancef(uint32_t *phase_acc, int32_t phase_rate) +{ + *phase_acc += phase_rate; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) ddsf(uint32_t *phase_acc, int32_t phase_rate) +{ + float amp; + + amp = sine_table[*phase_acc >> (32 - SLENK)]; + *phase_acc += phase_rate; + return amp; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) dds_lookupf(uint32_t phase) +{ + return sine_table[phase >> (32 - SLENK)]; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(float) dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) +{ + float amp; + + amp = sine_table[*(phase_acc + phase) >> (32 - SLENK)]*scale; + *phase_acc += phase_rate; + return amp; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(complexf_t) dds_complexf(uint32_t *phase_acc, int32_t phase_rate) +{ + complexf_t amp; + + amp = complex_setf(sine_table[(*phase_acc + (1 << 30)) >> (32 - SLENK)], + sine_table[*phase_acc >> (32 - SLENK)]); + *phase_acc += phase_rate; + return amp; +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(complexf_t) dds_lookup_complexf(uint32_t phase) +{ + return complex_setf(sine_table[(phase + (1 << 30)) >> (32 - SLENK)], + sine_table[phase >> (32 - SLENK)]); +} +/*- End of function --------------------------------------------------------*/ + +SPAN_DECLARE(complexf_t) dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase) +{ + complexf_t amp; + + amp = complex_setf(sine_table[(*phase_acc + phase + (1 << 30)) >> (32 - SLENK)]*scale, + sine_table[(*phase_acc + phase) >> (32 - SLENK)]*scale); + *phase_acc += phase_rate; + return amp; +} +/*- End of function --------------------------------------------------------*/ +/*- End of file ------------------------------------------------------------*/