#include "stm32f4xx.h"
#include "FFT.h"
#include "delay.h"
#include "math.h"
/* 输入和输出缓冲 */
#define TEST_LENGTH_SAMPLES 2048
#define numStages 25 /* 2阶IIR滤波的个数 */
#define MWSPT_NSEC 17
const int NL[MWSPT_NSEC] = { 1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1 };
float32_t IIRStateF32[4*numStages]; /* 状态缓存,大小numTaps + blockSize - 1*/
#define NUM_TAPS 1025 /* 滤波器系数个数 */
#define BLOCK_SIZE 32 /* 调用一次arm_fir_f32处理的采样点个数 */
static float32_t firStateF32[BLOCK_SIZE + NUM_TAPS - 1]; /* 状态缓存,大小numTaps + blockSize - 1*/
uint32_t blockSize = BLOCK_SIZE;
uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE/2; /* 需要调用arm_fir_f32的次数 */
/* 巴特沃斯高通滤波器系数 140Hz */
const float32_t IIRCoeffs32HP[5*numStages] = {
1.0f , -2.0f , 1.0f , 1.9992676272176104f , -0.99936865921262641f,
1.0f , -2.0f , 1.0f , 1.9980086919697135f , -0.99810966034506288f,
1.0f , -2.0f , 1.0f , 1.9967587847522019f , -0.99685968996411201f,
1.0f , -2.0f , 1.0f , 1.9955227982765169f , -0.99562364102846512f,
1.0f , -2.0f , 1.0f , 1.9943055526563369f , -0.99440633389538335f,
1.0f , -2.0f , 1.0f , 1.9931117773444245f , -0.99321249825662927f,
1.0f , -2.0f , 1.0f , 1.9919460936835267f , -0.99204675568848766f,
1.0f , -2.0f , 1.0f , 1.9908129981195908f , -0.99091360286413099f,
1.0f , -2.0f , 1.0f , 1.9897168461195178f , -0.98981739547056202f,
1.0f , -2.0f , 1.0f , 1.9886618368299256f , -0.98876233286659998f,
1.0f , -2.0f , 1.0f , 1.987651998507896f , -0.98775244351289315f,
1.0f , -2.0f , 1.0f , 1.9866911747495994f , -0.98679157119984595f,
1.0f , -2.0f , 1.0f , 1.985783011537948f , -0.98588336209461847f,
1.0f , -2.0f , 1.0f , 1.984930945126153f , -0.9850312526240711f,
1.0f , -2.0f , 1.0f , 1.9841381907702114f , -0.98423845820668243f,
1.0f , -2.0f , 1.0f , 1.9834077323199608f , -0.98350796284307762f,
1.0f , -2.0f , 1.0f , 1.9827423126754249f , -0.9828425095718909f,
1.0f , -2.0f , 1.0f , 1.9821444251126981f , -0.9822445917952134f,
1.0f , -2.0f , 1.0f , 1.9816163054816152f , -0.98171644547586767f,
1.0f , -2.0f , 1.0f , 1.9811599252758614f , -0.98126004220716723f,
1.0f , -2.0f , 1.0f , 1.9807769855749855f , -0.98087708315462407f,
1.0f , -2.0f , 1.0f , 1.9804689118569936f , -0.98056899386828011f,
1.0f , -2.0f , 1.0f , 1.9802368496797096f , -0.98033691996384942f,
1.0f , -2.0f , 1.0f , 1.9800816612289243f , -0.98018172367069289f,
1.0f , -2.0f , 1.0f , 1.9800039227314472f , -0.98010398124473963f
};
/* 高通滤波器其系数 通过fadtool获取*/
const float32_t firCoeffs32HP[NUM_TAPS] = {
-2.448508894e-05,-2.449203566e-05,-2.450427746e-05,-2.452181798e-05,-2.454465721e-05,
-2.457280061e-05,-2.460624637e-05,-2.464499812e-05,-2.468905586e-05,-2.473842324e-05,
-2.479310024e-05,-2.485308687e-05,-2.491838313e-05,-2.498899084e-05,-2.506491001e-05,
-2.514614062e-05,-2.523268267e-05,-2.532453436e-05,-2.542169568e-05,-2.552416481e-05,
-2.563194357e-05,-2.574502651e-05,-2.586341543e-05,-2.598710671e-05,-2.611610034e-05,
-2.625039087e-05,-2.638998012e-05,-2.653486263e-05,-2.668503475e-05,-2.68404965e-05,
-2.700124242e-05,-2.716727067e-05,-2.733857582e-05,-2.751515603e-05,-2.769700404e-05,
-2.788411803e-05,-2.807649435e-05,-2.827412573e-05,-2.847701035e-05,-2.868513911e-05,
-2.889851021e-05,-2.911711636e-05,-2.934095028e-05,-2.957001016e-05,-2.98042869e-05,
-3.004377322e-05,-3.02884655e-05,-3.053835462e-05,-3.079343514e-05,-3.105369979e-05,
-3.131913763e-05,-3.158974505e-05,-3.186551476e-05,-3.214643584e-05,-3.243250103e-05,
-3.272369941e-05,-3.302002733e-05,-3.332147389e-05,-3.362802818e-05,-3.393967927e-05,
-3.425642353e-05,-3.457825005e-05,-3.490514428e-05,-3.523709893e-05,-3.557410309e-05,
-3.59161495e-05,-3.626322359e-05,-3.661531446e-05,-3.697241118e-05,-3.733450285e-05,
-3.770158219e-05, -3.8073631e-05,-3.845063839e-05,-3.883259706e-05,-3.921948883e-05,
-3.961130278e-05,-4.000803165e-05,-4.040965359e-05,-4.081616134e-05,-4.122753671e-05,
-4.164377242e-05,-4.206485028e-05,-4.249075937e-05,-4.292148151e-05,-4.335700578e-05,
-4.379731763e-05,-4.424239887e-05,-4.469223859e-05,-4.514682223e-05,-4.560612797e-05,
-4.607014853e-05,-4.653886208e-05,-4.701225407e-05,-4.749030995e-05,-4.797301517e-05,
-4.84603479e-05,-4.895229722e-05,-4.944884131e-05,-4.994996561e-05,-5.045565194e-05,
-5.096588575e-05,-5.148064884e-05,-5.199991938e-05,-5.252368283e-05,-5.305192099e-05,
-5.358461203e-05,-5.412174141e-05,-5.466329094e-05,-5.520923878e-05,-5.575956675e-05,
-5.631425665e-05,-5.68732903e-05,-5.743664587e-05,-5.800430154e-05,-5.857624274e-05,
-5.915244401e-05,-5.97328908e-05,-6.031755402e-05,-6.090642273e-05,-6.149947149e-05,
-6.209668209e-05,-6.269802543e-05,-6.330348697e-05,-6.391304487e-05,-6.452667731e-05,
-6.514436245e-05,-6.57660712e-05,-6.639179628e-05,-6.702150131e-05,-6.765517173e-05,
-6.829277845e-05,-6.893430691e-05,-6.957972801e-05,-7.022902719e-05,-7.088216807e-05,
-7.153912884e-05,-7.219989493e-05,-7.286444452e-05,-7.353274123e-05,-7.420476322e-05,
-7.488049596e-05,-7.555991033e-05,-7.624297723e-05,-7.692967483e-05,-7.761998131e-05,
-7.831386756e-05,-7.901130448e-05,-7.971227751e-05,-8.041675756e-05,-8.112471551e-05,
-8.183612954e-05,-8.255097055e-05,-8.32692167e-05,-8.399083163e-05,-8.471580077e-05,
-8.544409502e-05,-8.617568528e-05,-8.691054245e-05,-8.764864469e-05,-8.838995564e-05,
-8.913446072e-05,-8.988213085e-05,-9.063293692e-05,-9.138684254e-05,-9.21438259e-05,
-9.290386515e-05,-9.366693121e-05,-9.443298768e-05,-9.520200547e-05,-9.597397002e-05,
-9.674884495e-05,-9.752660117e-05,-9.830720228e-05,-9.909063374e-05,-9.987685917e-05,
-0.0001006658567,-0.0001014575828,-0.0001022520228,-0.0001030491403,-0.0001038489063,
-0.0001046512843,-0.0001054562599,-0.0001062637966,-0.0001070738581,-0.0001078864225,
-0.0001087014534,-0.0001095189218,-0.0001103388058,-0.0001111610618,-0.0001119856679,
-0.000112812595,-0.0001136417995,-0.0001144732669,-0.0001153069607,-0.0001161428445,
-0.0001169808893,-0.0001178210659,-0.0001186633453,-0.0001195076838,-0.0001203540669,
-0.0001212024581,-0.0001220528138,-0.0001229051122,-0.0001237593242,-0.0001246154134,
-0.0001254733506,-0.0001263331069,-0.0001271946239,-0.0001280579017,-0.0001289228967,
-0.0001297895797,-0.000130657907,-0.0001315278641,-0.0001323993929,-0.0001332724933,
-0.000134147107,-0.0001350232051,-0.0001359007583,-0.0001367797377,-0.0001376600994,
-0.0001385418145,-0.0001394248684,-0.0001403091883,-0.0001411947887,-0.000142081597,
-0.0001429695985,-0.0001438587497,-0.0001447490358,-0.0001456403988,-0.0001465328241,
-0.0001474262681,-0.0001483207016,-0.0001492160955,-0.0001501123916,-0.0001510095899,
-0.0001519076322,-0.0001528064895,-0.0001537061471,-0.0001546065469,-0.0001555076597,
-0.0001564094418,-0.0001573118934,-0.0001582149416,-0.0001591185865,-0.0001600227697,
-0.0001609274623,-0.0001618326205,-0.0001627382298,-0.0001636442612,-0.0001645506418,
-0.0001654573716,-0.0001663644216,-0.000167271719,-0.0001681792637,-0.0001690870122,
-0.0001699949207,-0.0001709029602,-0.0001718111016,-0.0001727193012,-0.0001736275299,
-0.0001745357586,-0.0001754439436,-0.0001763520559,-0.0001772600517,-0.0001781679166,
-0.0001790755923,-0.0001799830497,-0.0001808902598,-0.0001817971934,-0.0001827038213,
-0.0001836100855,-0.0001845159568,-0.0001854214206,-0.0001863264188,-0.0001
- 1
- 2
- 3
前往页