xref: /OK3568_Linux_fs/external/common_algorithm/audio/rkap_3a/README.md (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# Rockchip AEC_ANR_AGC算法
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun## compile
4*4882a593Smuzhiyun
5*4882a593Smuzhiyunmkdir -p build
6*4882a593Smuzhiyuncd build
7*4882a593Smuzhiyuncmake .. -DCMAKE_TOOLCHAIN_FILE=~/video/rv1109/buildroot/output/rockchip_puma_toolchain/host/share/buildroot/toolchainfile.cmake
8*4882a593Smuzhiyunmake
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun优化选项: -O3 -mfpu=neon -mfloat-abi=hard
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun## 资源占用情况
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun### 测试环境
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun* RV1808 EVB
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun* cpu:  关闭ARM核保留一个核,定频 1Ghz
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun   echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun   echo 1008000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun   echo 0 > /sys/devices/system/cpu/cpu1/online
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun* ddr : LPDDR3 933MHz
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun### Test
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun* 内存占用情况:RSS 1.6M
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun* 计算耗时 cpu 37%
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun  * ./test_aec_anr_agc csq_0_1mic.wav csq_0_1mic-out.wav
35*4882a593Smuzhiyun    filename=csq_0_1mic.wav format=1 num_channels=2 sample_rate=16000 sample_bits=16 num_samples=128001
36*4882a593Smuzhiyun    mic_channel = 1, ref channel = 1
37*4882a593Smuzhiyun    init ch 0
38*4882a593Smuzhiyun    init ch 0 succeed
39*4882a593Smuzhiyun    init ok
40*4882a593Smuzhiyun    alloc ok
41*4882a593Smuzhiyun    elapse 6 ms    //PROCESS TX  16ms数据
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun    elapse 0 ms   //PROCESS RX
44*4882a593Smuzhiyun    elapse 6 ms
45*4882a593Smuzhiyun    elapse 0 ms
46*4882a593Smuzhiyun    elapse 6 ms
47*4882a593Smuzhiyun    elapse 0 ms
48*4882a593Smuzhiyun    elapse 6 ms
49*4882a593Smuzhiyun    elapse 0 ms
50*4882a593Smuzhiyun    elapse 6 ms
51*4882a593Smuzhiyun    elapse 0 ms
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun* 稳定性测试
54*4882a593Smuzhiyun  	* 多实例循环压力测试通过:没有内存泄露,可以稳定长时运行
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun	# cat /proc/673/status
58*4882a593Smuzhiyun	Name:   test_aec_anr_ag
59*4882a593Smuzhiyun	State:  R (running)
60*4882a593Smuzhiyun	Tgid:   673
61*4882a593Smuzhiyun	Ngid:   0
62*4882a593Smuzhiyun	Pid:    673
63*4882a593Smuzhiyun	PPid:   609
64*4882a593Smuzhiyun	TracerPid:      0
65*4882a593Smuzhiyun	Uid:    0       0       0       0
66*4882a593Smuzhiyun	Gid:    0       0       0       0
67*4882a593Smuzhiyun	FDSize: 64
68*4882a593Smuzhiyun	Groups:
69*4882a593Smuzhiyun	VmPeak:     2444 kB
70*4882a593Smuzhiyun	VmSize:     2444 kB
71*4882a593Smuzhiyun	VmLck:         0 kB
72*4882a593Smuzhiyun	VmPin:         0 kB
73*4882a593Smuzhiyun	VmHWM:      1672 kB
74*4882a593Smuzhiyun	VmRSS:      1672 kB
75*4882a593Smuzhiyun	VmData:      292 kB
76*4882a593Smuzhiyun	VmStk:       132 kB
77*4882a593Smuzhiyun	VmExe:         8 kB
78*4882a593Smuzhiyun	VmLib:      1784 kB
79*4882a593Smuzhiyun	VmPTE:        20 kB
80*4882a593Smuzhiyun	VmPMD:         8 kB
81*4882a593Smuzhiyun	VmSwap:        0 kB
82*4882a593Smuzhiyun	Threads:        1
83*4882a593Smuzhiyun	SigQ:   0/7992
84*4882a593Smuzhiyun	SigPnd: 0000000000000000
85*4882a593Smuzhiyun	ShdPnd: 0000000000000000
86*4882a593Smuzhiyun	SigBlk: 0000000000000000
87*4882a593Smuzhiyun	SigIgn: 0000000000000000
88*4882a593Smuzhiyun	SigCgt: 0000000000000000
89*4882a593Smuzhiyun	CapInh: 0000000000000000
90*4882a593Smuzhiyun	CapPrm: 0000003fffffffff
91*4882a593Smuzhiyun	CapEff: 0000003fffffffff
92*4882a593Smuzhiyun	CapBnd: 0000003fffffffff
93*4882a593Smuzhiyun	CapAmb: 0000000000000000
94*4882a593Smuzhiyun	Speculation_Store_Bypass:       unknown
95*4882a593Smuzhiyun	Cpus_allowed:   3
96*4882a593Smuzhiyun	Cpus_allowed_list:      0-1
97*4882a593Smuzhiyun	Mems_allowed:   1
98*4882a593Smuzhiyun	Mems_allowed_list:      0
99*4882a593Smuzhiyun	voluntary_ctxt_switches:        1
100*4882a593Smuzhiyun	nonvoluntary_ctxt_switches:     38
101