📄 k60-keil
字号:
/* ----------------------------------------------------------------------
* Copyright (C) 2010 ARM Limited. All rights reserved.
*
* $Date: 15. July 2011
* $Revision: V1.0.10
*
* Project: CMSIS DSP Library
* Title: arm_dct4_init_f32.c
*
* Description: Initialization function of DCT-4 & IDCT4 F32
*
* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
*
* Version 1.0.10 2011/7/15
* Big Endian support added and Merged M0 and M3/M4 Source code.
*
* Version 1.0.3 2010/11/29
* Re-organized the CMSIS folders and updated documentation.
*
* Version 1.0.2 2010/11/11
* Documentation updated.
*
* Version 1.0.1 2010/10/05
* Production release and review comments incorporated.
*
* Version 1.0.0 2010/09/20
* Production release and review comments incorporated.
* -------------------------------------------------------------------- */
#include "arm_math.h"
/**
* @ingroup groupTransforms
*/
/**
* @addtogroup DCT4_IDCT4
* @{
*/
/*
* @brief Weights Table
*/
/**
* \par
* Weights tables are generated using the formula : <pre>weights[n] = e^(-j*n*pi/(2*N))</pre>
* \par
* C command to generate the table
* <pre>
* for(i = 0; i< N; i++)
* {
* weights[2*i]= cos(i*c);
* weights[(2*i)+1]= -sin(i * c);
* } </pre>
* \par
* Where <code>N</code> is the Number of weights to be calculated and <code>c</code> is <code>pi/(2*N)</code>
* \par
* In the tables below the real and imaginary values are placed alternatively, hence the
* array length is <code>2*N</code>.
*/
static const float32_t Weights_128[256] = {
1.000000000000000000f, 0.000000000000000000f, 0.999924701839144500f,
-0.012271538285719925f,
0.999698818696204250f, -0.024541228522912288f, 0.999322384588349540f,
-0.036807222941358832f,
0.998795456205172410f, -0.049067674327418015f, 0.998118112900149180f,
-0.061320736302208578f,
0.997290456678690210f, -0.073564563599667426f, 0.996312612182778000f,
-0.085797312344439894f,
0.995184726672196930f, -0.098017140329560604f, 0.993906970002356060f,
-0.110222207293883060f,
0.992479534598709970f, -0.122410675199216200f, 0.990902635427780010f,
-0.134580708507126170f,
0.989176509964781010f, -0.146730474455361750f, 0.987301418157858430f,
-0.158858143333861450f,
0.985277642388941220f, -0.170961888760301220f, 0.983105487431216290f,
-0.183039887955140950f,
0.980785280403230430f, -0.195090322016128250f, 0.978317370719627650f,
-0.207111376192218560f,
0.975702130038528570f, -0.219101240156869800f, 0.972939952205560180f,
-0.231058108280671110f,
0.970031253194543970f, -0.242980179903263870f, 0.966976471044852070f,
-0.254865659604514570f,
0.963776065795439840f, -0.266712757474898370f, 0.960430519415565790f,
-0.278519689385053060f,
0.956940335732208820f, -0.290284677254462330f, 0.953306040354193860f,
-0.302005949319228080f,
0.949528180593036670f, -0.313681740398891520f, 0.945607325380521280f,
-0.325310292162262930f,
0.941544065183020810f, -0.336889853392220050f, 0.937339011912574960f,
-0.348418680249434560f,
0.932992798834738960f, -0.359895036534988110f, 0.928506080473215590f,
-0.371317193951837540f,
0.923879532511286740f, -0.382683432365089780f, 0.919113851690057770f,
-0.393992040061048100f,
0.914209755703530690f, -0.405241314004989860f, 0.909167983090522380f,
-0.416429560097637150f,
0.903989293123443340f, -0.427555093430282080f, 0.898674465693953820f,
-0.438616238538527660f,
0.893224301195515320f, -0.449611329654606540f, 0.887639620402853930f,
-0.460538710958240010f,
0.881921264348355050f, -0.471396736825997640f, 0.876070094195406600f,
-0.482183772079122720f,
0.870086991108711460f, -0.492898192229784040f, 0.863972856121586810f,
-0.503538383725717580f,
0.857728610000272120f, -0.514102744193221660f, 0.851355193105265200f,
-0.524589682678468950f,
0.844853565249707120f, -0.534997619887097150f, 0.838224705554838080f,
-0.545324988422046460f,
0.831469612302545240f, -0.555570233019602180f, 0.824589302785025290f,
-0.565731810783613120f,
0.817584813151583710f, -0.575808191417845340f, 0.810457198252594770f,
-0.585797857456438860f,
0.803207531480644940f, -0.595699304492433360f, 0.795836904608883570f,
-0.605511041404325550f,
0.788346427626606340f, -0.615231590580626820f, 0.780737228572094490f,
-0.624859488142386340f,
0.773010453362736990f, -0.634393284163645490f, 0.765167265622458960f,
-0.643831542889791390f,
0.757208846506484570f, -0.653172842953776760f, 0.749136394523459370f,
-0.662415777590171780f,
0.740951125354959110f, -0.671558954847018330f, 0.732654271672412820f,
-0.680600997795453020f,
0.724247082951467000f, -0.689540544737066830f, 0.715730825283818590f,
-0.698376249408972920f,
0.707106781186547570f, -0.707106781186547460f, 0.698376249408972920f,
-0.715730825283818590f,
0.689540544737066940f, -0.724247082951466890f, 0.680600997795453130f,
-0.732654271672412820f,
0.671558954847018330f, -0.740951125354959110f, 0.662415777590171780f,
-0.749136394523459260f,
0.653172842953776760f, -0.757208846506484460f, 0.643831542889791500f,
-0.765167265622458960f,
0.634393284163645490f, -0.773010453362736990f, 0.624859488142386450f,
-0.780737228572094380f,
0.615231590580626820f, -0.788346427626606230f, 0.605511041404325550f,
-0.795836904608883460f,
0.595699304492433470f, -0.803207531480644830f, 0.585797857456438860f,
-0.810457198252594770f,
0.575808191417845340f, -0.817584813151583710f, 0.565731810783613230f,
-0.824589302785025290f,
0.555570233019602290f, -0.831469612302545240f, 0.545324988422046460f,
-0.838224705554837970f,
0.534997619887097260f, -0.844853565249707010f, 0.524589682678468840f,
-0.851355193105265200f,
0.514102744193221660f, -0.857728610000272120f, 0.503538383725717580f,
-0.863972856121586700f,
0.492898192229784090f, -0.870086991108711350f, 0.482183772079122830f,
-0.876070094195406600f,
0.471396736825997810f, -0.881921264348354940f, 0.460538710958240010f,
-0.887639620402853930f,
0.449611329654606600f, -0.893224301195515320f, 0.438616238538527710f,
-0.898674465693953820f,
0.427555093430282200f, -0.903989293123443340f, 0.416429560097637320f,
-0.909167983090522270f,
0.405241314004989860f, -0.914209755703530690f, 0.393992040061048100f,
-0.919113851690057770f,
0.382683432365089840f, -0.923879532511286740f, 0.371317193951837600f,
-0.928506080473215480f,
0.359895036534988280f, -0.932992798834738850f, 0.348418680249434510f,
-0.937339011912574960f,
0.336889853392220050f, -0.941544065183020810f, 0.325310292162262980f,
-0.945607325380521280f,
0.313681740398891570f, -0.949528180593036670f, 0.302005949319228200f,
-0.953306040354193750f,
0.290284677254462330f, -0.956940335732208940f, 0.278519689385053060f,
-0.960430519415565790f,
0.266712757474898420f, -0.963776065795439840f, 0.254865659604514630f,
-0.966976471044852070f,
0.242980179903263980f, -0.970031253194543970f, 0.231058108280671280f,
-0.972939952205560070f,
0.219101240156869770f, -0.975702130038528570f, 0.207111376192218560f,
-0.978317370719627650f,
0.195090322016128330f, -0.980785280403230430f, 0.183039887955141060f,
-0.983105487431216290f,
0.170961888760301360f, -0.985277642388941220f, 0.158858143333861390f,
-0.987301418157858430f,
0.146730474455361750f, -0.989176509964781010f, 0.134580708507126220f,
-0.990902635427780010f,
0.122410675199216280f, -0.992479534598709970f, 0.110222207293883180f,
-0.993906970002356060f,
0.098017140329560770f, -0.995184726672196820f, 0.085797312344439880f,
-0.996312612182778000f,
0.073564563599667454f, -0.997290456678690210f, 0.061320736302208648f,
-0.998118112900149180f,
0.049067674327418126f, -0.998795456205172410f, 0.036807222941358991f,
-0.999322384588349540f,
0.024541228522912264f, -0.999698818696204250f, 0.012271538285719944f,
-0.999924701839144500f
};
static const float32_t Weights_512[1024] = {
1.000000000000000000f, 0.000000000000000000f, 0.999995293809576190f,
-0.003067956762965976f,
0.999981175282601110f, -0.006135884649154475f, 0.999957644551963900f,
-0.009203754782059819f,
0.999924701839144500f, -0.012271538285719925f, 0.999882347454212560f,
-0.015339206284988100f,
0.999830581795823400f, -0.018406729905804820f, 0.999769405351215280f,
-0.021474080275469508f,
0.999698818696204250f, -0.024541228522912288f, 0.999618822495178640f,
-0.027608145778965740f,
0.999529417501093140f, -0.030674803176636626f, 0.999430604555461730f,
-0.033741171851377580f,
0.999322384588349540f, -0.036807222941358832f, 0.999204758618363890f,
-0.039872927587739811f,
0.999077727752645360f, -0.042938256934940820f, 0.998941293186856870f,
-0.046003182130914623f,
0.998795456205172410f, -0.049067674327418015f, 0.998640218180265270f,
-0.052131704680283324f,
0.998475580573294770f, -0.055195244349689934f, 0.998301544933892890f,
-0.058258264500435752f,
0.998118112900149180f, -0.061320736302208578f, 0.997925286198596000f,
-0.064382630929857465f,
0.997723066644191640f, -0.067443919563664051f, 0.997511456140303450f,
-0.070504573389613856f,
0.997290456678690210f, -0.073564563599667426f, 0.997060070339482960f,
-0.076623861392031492f,
0.996820299291165670f, -0.079682437971430126f, 0.996571145790554840f,
-0.082740264549375692f,
0.996312612182778000f, -0.085797312344439894f, 0.996044700901251970f,
-0.088853552582524600f,
0.995767414467659820f, -0.091908956497132724f, 0.995480755491926940f,
-0.094963495329638992f,
0.995184726672196930f, -0.098017140329560604f, 0.994879330794805620f,
-0.101069862754827820f,
0.994564570734255420f, -0.104121633872054590f, 0.994240449453187900f,
-0.107172424956808840f,
0.993906970002356060f, -0.110222207293883060f, 0.993564135520595300f,
-0.113270952177564350f,
0.993211949234794500f, -0.116318630911904750f, 0.992850414459865100f,
-0.119365214810991350f,
0.992479534598709970f, -0.122410675199216200f, 0.992099313142191800f,
-0.125454983411546230f,
0.991709753669099530f, -0.128498110793793170f, 0.991310859846115440f,
-0.131540028702883120f,
0.990902635427780010f, -0.134580708507126170f, 0.990485084256457090f,
-0.137620121586486040f,
0.990058210262297120f, -0.140658239332849210f, 0.989622017463200890f,
-0.143695033150294470f,
0.989176509964781010f, -0.146730474455361750f, 0.988721691960323780f,
-0.149764534677321510f,
0.988257567730749460f, -0.152797185258443440f, 0.987784141644572180f,
-0.155828397654265230f,
0.987301418157858430f, -0.158858143333861450f, 0.986809401814185530f,
-0.161886393780111830f,
0.986308097244598670f, -0.164913120489969890f, 0.985797509167567480f,
-0.167938294974731170f,
0.985277642388941220f, -0.170961888760301220f, 0.984748501801904210f,
-0.173983873387463820f,
0.984210092386929030f, -0.177004220412148750f, 0.983662419211730250f,
-0.180022901405699510f,
0.983105487431216290f, -0.183039887955140950f, 0.982539302287441240f,
-0.186055151663446630f,
0.981963869109555240f, -0.189068664149806190f, 0.981379193313754560f,
-0.192080397049892440f,
0.980785280403230430f, -0.195090322016128250f, 0.980182135968117430f,
-0.198098410717953560f,
0.979569765685440520f, -0.201104634842091900f, 0.978948175319062200f,
-0.204108966092816870f,
0.978317370719627650f, -0.207111376192218560f, 0.977677357824509930f,
-0.210111836880469610f,
0.977028142657754390f, -0.213110319916091360f, 0.976369731330021140f,
-0.216106797076219520f,
0.975702130038528570f, -0.219101240156869800f, 0.975025345066994120f,
-0.222093620973203510f,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -