编译原理
#include <iostream> #include <unor… Continue Reading 编译原理
感悟技术人生
#include <iostream> #include <unor… Continue Reading 编译原理
Xilinx SDK经验分享一 启动篇 前言 本文依据个人试验及工作经验总理而成,分享出来供大家参考… Continue Reading Xilinx SDK经验分享一 启动篇
新的去噪方法,端到端去噪,方法有用
IIR递归方程:
固定四阶IIR的C代码实现:
typedef struct { float SOSCoeffs[2*5]; //b0 b1 b2 a1 a2 float Gain[2]; //每个抽头的增益 float Dealy[2*2]; //延迟缓冲state z1 z2 }IIR_context_Td; void biquad_filter_calc(IIR_context_Td *pCtx,int16_t *InData,int16_t *OutData,uint16_t InNum) { float *pGain = pCtx->Gain; float Out,In; //load param: float zdelay11,zdelay12; float b10,b11,b12,a11,a12; zdelay11=pCtx->Dealy[0]; zdelay12=pCtx->Dealy[1]; b10=pCtx->SOSCoeffs[0]; b11=pCtx->SOSCoeffs[1]; b12=pCtx->SOSCoeffs[2]; a11=pCtx->SOSCoeffs[3]; a12=pCtx->SOSCoeffs[4]; float zdelay21,zdelay22; float b20,b21,b22,a21,a22; zdelay21=pCtx->Dealy[2]; zdelay22=pCtx->Dealy[3]; b20=pCtx->SOSCoeffs[5]; b21=pCtx->SOSCoeffs[6]; b22=pCtx->SOSCoeffs[7]; a21=pCtx->SOSCoeffs[8]; a22=pCtx->SOSCoeffs[9]; //calc: while(InNum--) { In=(float)*InData++; Out=In*b10+zdelay11; zdelay11=In*b11+zdelay12+Out*a11; zdelay12=In*b12+Out*a12; Out= Out*pGain[0]; In=Out; Out=In*b20+zdelay21; zdelay21=In*b21+zdelay22+Out*a21; zdelay22=In*b22+Out*a22; Out= Out*pGain[1]; *OutData++ = (int16_t)Out; } //save param: pCtx->Dealy[0]=zdelay11; pCtx->Dealy[1]=zdelay12; pCtx->Dealy[2]=zdelay21; pCtx->Dealy[3]=zdelay22; }
本文为原创文章,转载请注明出处!
实现demo代码: #include <stdio.h> #include <st… Continue Reading C语言使用技巧(三十二):读写txt文件指定行指定所有行类型数据
Silicon Graphics released a BSD licensed version o… Continue Reading SGI Standard Template Library (STL) for C++
WPS使Office变慢的处理 在单位一直使用Office2016,运行很流畅。而WPS主要是家里的… Continue Reading WPS使Office变慢的处理
Useful Function Approximations for Neural Nets and ML
This is the older version of MLC2.01-src.zip, also… Continue Reading SGI MLC++ 1.3 Source
SGI MLC++ Utilities