h
7fffh
outdata19ar2ar20bfffh
7fffh
outdata20ar2ar20bfffh
7fffh
outdata21ar2ar20bfffh
7fffh
outdata22ar2ar20bfffh
7fffh
outdata23ar2ar20bfffh
7fffh
outdata24ar2ar20bfffh
7fffh
outdata25ar2ar20bfffh
7fffh
卑微如蝼蚁、坚强似大象
共享知识分享快乐
f
op
st
outdata26ar2
portwar20bfffh
rpt7fffh
op
st
outdata27ar2
portwar20bfffh
rpt7fffh
op
st
outdata28ar2
portwar20bfffh
rpt7fffh
op
st
outdata29ar2
portwar20bfffh
rpt7fffh
op
st
outdata30ar2
portwar20bfffh
rpt7fffh
op
st
outdata31ar2
portwar20bfffh
rpt7fffh
op
st
outdata32ar2
portwar20bfffh
rpt7fffh
op
bbegi
循环输出32个数据
e
d代码段结束
43本系统软件总体流程
卑微如蝼蚁、坚强似大象
共享知识分享快乐
f系统各模块初始化
共享知识分享快乐
调用FIR滤波器设计函数设计系统函数
采集数据并调用FFT和卷计算法对信号进行处理
计算输入信号的频率和滤波后的信号频率
每采集256点计算频率参数
返回第三步
44核心模块及实现代码FFT算法程序:
voidkfftdoubleprLe
gthdoublepiLe
gthi
t
i
tkdoublefrLe
gthdoublefiLe
gthi
tli
til
i
titmisij
vl0doublepqsvrvipoddrpoddiforit0it
1itmitis0fori0ik1ijm2is2ism2jmjfritprisfiitpiispr010pi000p628318530610
pr1cosppi1si
pifl0pi1pi1fori2i
1i
卑微如蝼蚁、坚强似大象
f共享知识分享快乐
ppri1pr1qpii1pi1
spri1pii1pr1pi1
pripqpiispq
forit0it
2itit2
vrfritvifiit
fritvrfrit1fiitvifiit1
frit1vrfrit1fiit1vifiit1
m
2
v2
forl0k2l00l0
mm2
v2
v
forit0itm1
vitit
v
forj0j
v21j
pprmjfritj
v2
qpimjfiitj
v2
sprmjpimj
ssfritj
v2fiitj
v2
poddrpqpoddispq
fritj
v2fritjpoddr
fiitj
v2fiitjpoddi
fritjfritjpoddr
fiitjfiitjpoddi
ifl0
fori0i
1i
frifri10
fiifii10
ifil0
fori0i
1i
prisqrtfrifrifiifii
iffabsfri0000001fabsfii
iffiifri0pii900
elsepii900
else
piiata
fiifri36006283185306
卷积程序:
voidCo
volveok
卷积函数
doublex
原始输入数据
卑微如蝼蚁、坚强似大象
f共享知识分享快乐
doubleh
冲击响应
doubley
卷积输出结果
UINT16Le
g
序列长度
UINT16h_Le
UINT16mpj
doublerrm
doublexmea
00
doublexmid100
form0mh_Le
m
xmidm00
form0r