Curtis Mattull
/
function_generator
using LUT generate sine, square, triangle wave with variable freq
my_LUT.h
- Committer:
- cpm219
- Date:
- 2016-11-08
- Revision:
- 0:4a2e0ba6c332
File content as of revision 0:4a2e0ba6c332:
/* my_LUT.h Curtis Mattull 10/21/16 This file contains lookup tables for sine, square, and triangle waveforms */ const float LUT[3][512] ={ { 0, 0.012270753, 0.024539658, 0.036804868, 0.049064537, 0.061316817, 0.073559864, 0.085791835, 0.098010887, 0.110215182, 0.12240288, 0.134572148, 0.146721152, 0.158848063, 0.170951055, 0.183028306, 0.195077997, 0.207098314, 0.219087446, 0.231043589, 0.242964943,0.254849711, 0.266696105, 0.27850234, 0.290266639, 0.301987231, 0.313662351, 0.32529024, 0.336869148, 0.348397331, 0.359873053, 0.371294587, 0.382660213, 0.393968218, 0.405216901, 0.416404568, 0.427529534, 0.438590123, 0.449584671, 0.460511522, 0.47136903, 0.482155561, 0.492869491, 0.503509205, 0.514073103, 0.524559593, 0.534967096, 0.545294046, 0.555538887, 0.565700076, 0.575776084, 0.585765394, 0.5956665, 0.605477913, 0.615198155, 0.624825762, 0.634359285, 0.643797287, 0.653138349, 0.662381063, 0.671524038, 0.680565896, 0.689505277, 0.698340834, 0.707071237, 0.715695172, 0.724211339, 0.732618456, 0.740915258, 0.749100495, 0.757172935, 0.765131362, 0.772974578, 0.780701402, 0.788310669, 0.795801236, 0.803171973, 0.81042177, 0.817549537, 0.8245542, 0.831434703, 0.838190012, 0.844819108, 0.851320994, 0.857694691, 0.863939239, 0.870053697, 0.876037145, 0.881888682, 0.887607426, 0.893192518, 0.898643115, 0.903958397, 0.909137564, 0.914179835, 0.919084452, 0.923850676, 0.928477789, 0.932965095, 0.937311918, 0.941517603, 0.945581517, 0.949503048, 0.953281606, 0.956916622, 0.960407548, 0.963753858, 0.966955049, 0.970010639, 0.972920168, 0.975683197, 0.978299311, 0.980768116, 0.983089239, 0.985262331, 0.987287066, 0.989163138, 0.990890264, 0.992468186, 0.993896664, 0.995175484, 0.996304454, 0.997283403, 0.998112184, 0.998790673, 0.999318766, 0.999696385, 0.999923473, 0.999999995, 0.99992594, 0.999701319, 0.999326166, 0.998800538, 0.998124513, 0.997298193, 0.996321704, 0.995195191, 0.993918824, 0.992492796, 0.990917322, 0.989192638, 0.987319004, 0.985296703, 0.983126039, 0.980807338, 0.978340951, 0.975727248, 0.972966622, 0.97005949, 0.96700629, 0.96380748, 0.960463544, 0.956974983, 0.953342324, 0.949566114, 0.945646921, 0.941585335, 0.937381967, 0.933037452, 0.928552443, 0.923927615, 0.919163664, 0.914261309, 0.909221287, 0.904044357, 0.898731299, 0.893282912, 0.887700018, 0.881983456, 0.876134088, 0.870152794, 0.864040475, 0.857798052, 0.851426463, 0.84492667, 0.83829965, 0.831546401, 0.82466794, 0.817665304, 0.810539545, 0.803291738, 0.795922974, 0.788434362, 0.78082703, 0.773102124, 0.765260805, 0.757304257, 0.749233675, 0.741050276, 0.732755292, 0.724349972, 0.715835581, 0.707213402, 0.698484733, 0.689650888, 0.680713198, 0.671673007, 0.662531679, 0.653290588, 0.643951126, 0.634514701, 0.624982731, 0.615356654, 0.605637919, 0.595827988, 0.585928339, 0.575940463, 0.565865863, 0.555706057, 0.545462574, 0.535136957, 0.524730761, 0.514245553, 0.503682911, 0.493044425, 0.482331699, 0.471546344, 0.460689986, 0.449764258, 0.438770806, 0.427711285, 0.416587361, 0.405400708, 0.394153011, 0.382845964, 0.371481269, 0.360060637, 0.348585789, 0.337058451, 0.32548036, 0.31385326, 0.3021789, 0.290459039, 0.278695441, 0.266889879, 0.255044129, 0.243159975, 0.231239207, 0.219283619, 0.207295013, 0.195275192, 0.183225968, 0.171149154, 0.159046569, 0.146920035, 0.134771378, 0.122602428, 0.110415017, 0.098210979, 0.085992154, 0.07376038, 0.061517499, 0.049265355, 0.037005793, 0.024740659, 0.012471799, 0.000201062, -0.012069706, -0.024338656, -0.036603942, -0.048863716, -0.061116132, -0.073359345, -0.085591512, -0.097810792, -0.110015343, -0.122203328, -0.134372912, -0.146522263, -0.158649551, -0.170752949, -0.182830637, -0.194880794, -0.206901607, -0.218891265, -0.230847963, -0.242769901, -0.254655283, -0.26650232, -0.278309227, -0.290074228, -0.30179555, -0.313471429, -0.325100106, -0.336679831, -0.348208859, -0.359685455, -0.371107891, -0.382474446, -0.393783409, -0.405033078, -0.416221758, -0.427347765, -0.438409422, -0.449405066, -0.460333039, -0.471191697, -0.481979404, -0.492694536, -0.50333548, -0.513900632, -0.524388404, -0.534797214, -0.545125496, -0.555371695, -0.565534267, -0.575611683, -0.585602425, -0.595504989, -0.605317883, -0.615039631, -0.624668768, -0.634203843, -0.643643423, -0.652986084, -0.662230421, -0.671375041, -0.680418567, -0.689359638, -0.698196907, -0.706929044, -0.715554733, -0.724072676, -0.732481591, -0.74078021, -0.748967286, -0.757041583, -0.765001888, -0.772847001, -0.780575741, -0.788186945, -0.795679465, -0.803052174, -0.810303962, -0.817433737, -0.824440425, -0.831322972, -0.83808034, -0.844711513, -0.851215491, -0.857591296, -0.863837967, -0.869954564, -0.875940166, -0.881793872, -0.887514799, -0.893102087, -0.898554895, -0.903872401, -0.909053804, -0.914098325, -0.919005203, -0.9237737, -0.928403099, -0.932892701, -0.937241831, -0.941449833, -0.945516075, -0.949439944, -0.953220849, -0.956858221, -0.960351512, -0.963700197, -0.96690377, -0.969961749, -0.972873675, -0.975639108, -0.978257632, -0.980728853, -0.983052399, -0.98522792, -0.987255088, -0.989133598, -0.990863167, -0.992443535, -0.993874464, -0.995155738, -0.996287164, -0.997268573, -0.998099816, -0.998780767, -0.999311326, -0.999691411, -0.999920965, -0.999999955, -0.999928367, -0.999706213, -0.999333526, -0.998810362, -0.998136801, -0.997312943, -0.996338913, -0.995214857, -0.993940944, -0.992517367, -0.990944339, -0.989222098, -0.987350903, -0.985331035, -0.983162799, -0.980846521, -0.978382551, -0.975771258, -0.973013037, -0.970108302, -0.967057491, -0.963861064, -0.960519501, -0.957033306, -0.953403004, -0.949629141, -0.945712286, -0.941653028, -0.937451979, -0.933109771, -0.928627058, -0.924004516, -0.919242839, -0.914342746, -0.909304973, -0.90413028, -0.898819446, -0.89337327, -0.887792573, -0.882078195, -0.876230996, -0.870251856, -0.864141677, -0.857901377, -0.851531898, -0.845034197, -0.838409254, -0.831658065, -0.824781648, -0.817781037, -0.810657288, -0.803411472, -0.796044681, -0.788558023, -0.780952627, -0.773229638, -0.765390218, -0.757435547, -0.749366824, -0.741185264, -0.732892098, -0.724488576, -0.715975962, -0.707355539, -0.698628604, -0.689796472, -0.680860472, -0.67182195, -0.662682267, -0.6534428, -0.644104939, -0.634670091, -0.625139676, -0.615515129, -0.605797899, -0.595989451, -0.58609126, -0.576104817, -0.566031626, -0.555873204, -0.54563108, -0.535306797, -0.524901908, -0.514417982, -0.503856595, -0.49321934, -0.482507817, -0.47172364, -0.460868431, -0.449943827, -0.438951471, -0.42789302, -0.416770137, -0.405584498, -0.394337788, -0.3830317, -0.371667935, -0.360248206, -0.348774232, -0.337247741, -0.325670468, -0.314044156, -0.302370556, -0.290651427, -0.278888531, -0.267083642, -0.255238536, -0.243354997, -0.231434815, -0.219479783, -0.207491703, -0.195472379, -0.183423622, -0.171347246, -0.159245068, -0.147118912, -0.134970603, -0.12280197, -0.110614847, -0.098411067, -0.086192469, -0.073960892, -0.061718179, -0.049466172, -0.037206717, -0.024941659, -0.012672846 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 0.007813, 0.015626, 0.023439, 0.031252, 0.039065, 0.046878, 0.054691, 0.062504, 0.070317, 0.07813, 0.085943, 0.093756, 0.101569, 0.109382, 0.117195, 0.125008, 0.132821, 0.140634, 0.148447, 0.15626, 0.164073, 0.171886, 0.179699, 0.187512, 0.195325, 0.203138, 0.210951, 0.218764, 0.226577, 0.23439, 0.242203, 0.250016, 0.257829, 0.265642, 0.273455, 0.281268, 0.289081, 0.296894, 0.304707, 0.31252, 0.320333, 0.328146, 0.335959, 0.343772, 0.351585, 0.359398, 0.367211, 0.375024, 0.382837, 0.39065, 0.398463, 0.406276, 0.414089, 0.421902, 0.429715, 0.437528, 0.445341, 0.453154, 0.460967, 0.46878, 0.476593, 0.484406, 0.492219, 0.500032, 0.507845, 0.515658, 0.523471, 0.531284, 0.539097, 0.54691, 0.554723, 0.562536, 0.570349, 0.578162, 0.585975, 0.593788, 0.601601, 0.609414, 0.617227, 0.62504, 0.632853, 0.640666, 0.648479, 0.656292, 0.664105, 0.671918, 0.679731, 0.687544, 0.695357, 0.70317, 0.710983, 0.718796, 0.726609, 0.734422, 0.742235, 0.750048, 0.757861, 0.765674, 0.773487, 0.7813, 0.789113, 0.796926, 0.804739, 0.812552, 0.820365, 0.828178, 0.835991, 0.843804, 0.851617, 0.85943, 0.867243, 0.875056, 0.882869, 0.890682, 0.898495, 0.906308, 0.914121, 0.921934, 0.929747, 0.93756, 0.945373, 0.953186, 0.960999, 0.968812, 0.976625, 0.984438, 0.992251, 1, 0.992187, 0.984374, 0.976561, 0.968748, 0.960935, 0.953122, 0.945309, 0.937496, 0.929683, 0.92187, 0.914057, 0.906244, 0.898431, 0.890618, 0.882805, 0.874992, 0.867179, 0.859366, 0.851553, 0.84374, 0.835927, 0.828114, 0.820301, 0.812488, 0.804675, 0.796862, 0.789049, 0.781236, 0.773423, 0.76561, 0.757797, 0.749984, 0.742171, 0.734358, 0.726545, 0.718732, 0.710919, 0.703106, 0.695293, 0.68748, 0.679667, 0.671854, 0.664041, 0.656228, 0.648415, 0.640602, 0.632789, 0.624976, 0.617163, 0.60935, 0.601537, 0.593724, 0.585911, 0.578098, 0.570285, 0.562472, 0.554659, 0.546846, 0.539033, 0.53122, 0.523407, 0.515594, 0.507781, 0.499968, 0.492155, 0.484342, 0.476529, 0.468716, 0.460903, 0.45309, 0.445277, 0.437464, 0.429651, 0.421838, 0.414025, 0.406212, 0.398399, 0.390586, 0.382773, 0.37496, 0.367147, 0.359334, 0.351521, 0.343708, 0.335895, 0.328082, 0.320269, 0.312456, 0.304643, 0.29683, 0.289017, 0.281204, 0.273391, 0.265578, 0.257765, 0.249952, 0.242139, 0.234326, 0.226513, 0.2187, 0.210887, 0.203074, 0.195261, 0.187448, 0.179635, 0.171822, 0.164009, 0.156196, 0.148383, 0.14057, 0.132757, 0.124944, 0.117131, 0.109318, 0.101505, 0.093692, 0.085879, 0.078066, 0.070253, 0.06244, 0.054627, 0.046814, 0.039001, 0.031188, 0.023375, 0.015562, 0.007749, 0, -0.007877, -0.01569, -0.023503, -0.031316, -0.039129, -0.046942, -0.054755, -0.062568, -0.070381, -0.078194, -0.086007, -0.09382, -0.101633, -0.109446, -0.117259, -0.125072, -0.132885, -0.140698, -0.148511, -0.156324, -0.164137, -0.17195, -0.179763, -0.187576, -0.195389, -0.203202, -0.211015, -0.218828, -0.226641, -0.234454, -0.242267, -0.25008, -0.257893, -0.265706, -0.273519, -0.281332, -0.289145, -0.296958, -0.304771, -0.312584, -0.320397, -0.32821, -0.336023, -0.343836, -0.351649, -0.359462, -0.367275, -0.375088, -0.382901, -0.390714, -0.398527, -0.40634, -0.414153, -0.421966, -0.429779, -0.437592, -0.445405, -0.453218, -0.461031, -0.468844, -0.476657, -0.48447, -0.492283, -0.500096, -0.507909, -0.515722, -0.523535, -0.531348, -0.539161, -0.546974, -0.554787, -0.5626, -0.570413, -0.578226, -0.586039, -0.593852, -0.601665, -0.609478, -0.617291, -0.625104, -0.632917, -0.64073, -0.648543, -0.656356, -0.664169, -0.671982, -0.679795, -0.687608, -0.695421, -0.703234, -0.711047, -0.71886, -0.726673, -0.734486, -0.742299, -0.750112, -0.757925, -0.765738, -0.773551, -0.781364, -0.789177, -0.79699, -0.804803, -0.812616, -0.820429, -0.828242, -0.836055, -0.843868, -0.851681, -0.859494, -0.867307, -0.87512, -0.882933, -0.890746, -0.898559, -0.906372, -0.914185, -0.921998, -0.929811, -0.937624, -0.945437, -0.95325, -0.961063, -0.968876, -0.976689, -0.984502, -0.992315, -1, -0.992187, -0.984374, -0.976561, -0.968748, -0.960935, -0.953122, -0.945309, -0.937496, -0.929683, -0.92187, -0.914057, -0.906244, -0.898431, -0.890618, -0.882805, -0.874992, -0.867179, -0.859366, -0.851553, -0.84374, -0.835927, -0.828114, -0.820301, -0.812488, -0.804675, -0.796862, -0.789049, -0.781236, -0.773423, -0.76561, -0.757797, -0.749984, -0.742171, -0.734358, -0.726545, -0.718732, -0.710919, -0.703106, -0.695293, -0.68748, -0.679667, -0.671854, -0.664041, -0.656228, -0.648415, -0.640602, -0.632789, -0.624976, -0.617163, -0.60935, -0.601537, -0.593724, -0.585911, -0.578098, -0.570285, -0.562472, -0.554659, -0.546846, -0.539033, -0.53122, -0.523407, -0.515594, -0.507781, -0.499968, -0.492155, -0.484342, -0.476529, -0.468716, -0.460903, -0.45309, -0.445277, -0.437464, -0.429651, -0.421838, -0.414025, -0.406212, -0.398399, -0.390586, -0.382773, -0.37496, -0.367147, -0.359334, -0.351521, -0.343708, -0.335895, -0.328082, -0.320269, -0.312456, -0.304643, -0.29683, -0.289017, -0.281204, -0.273391, -0.265578, -0.257765, -0.249952, -0.242139, -0.234326, -0.226513, -0.2187, -0.210887, -0.203074, -0.195261, -0.187448, -0.179635, -0.171822, -0.164009, -0.156196, -0.148383, -0.14057, -0.132757, -0.124944, -0.117131, -0.109318, -0.101505, -0.093692, -0.085879, -0.078066, -0.070253, -0.06244, -0.054627, -0.046814, -0.039001, -0.031188, -0.023375, -0.015562, -0.007749 }};