|
31 | 31 | /* ----------------------------------------------------------------------
|
32 | 32 | * Include standard header files
|
33 | 33 | * -------------------------------------------------------------------- */
|
34 |
| -#include<math.h> |
| 34 | +#include <math.h> |
35 | 35 |
|
36 | 36 | /* ----------------------------------------------------------------------
|
37 | 37 | * Include project header files
|
|
50 | 50 |
|
51 | 51 | float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
|
52 | 52 | {
|
53 |
| - float EnergySignal = 0.0, EnergyError = 0.0; |
54 |
| - uint32_t i; |
55 |
| - float SNR; |
56 |
| - int temp; |
57 |
| - int *test; |
58 |
| - |
59 |
| - for (i = 0; i < buffSize; i++) |
60 |
| - { |
61 |
| - /* Checking for a NAN value in pRef array */ |
62 |
| - test = (int *)(&pRef[i]); |
63 |
| - temp = *test; |
64 |
| - |
65 |
| - if(temp == 0x7FC00000) |
66 |
| - { |
67 |
| - return(0); |
68 |
| - } |
69 |
| - |
70 |
| - /* Checking for a NAN value in pTest array */ |
71 |
| - test = (int *)(&pTest[i]); |
72 |
| - temp = *test; |
73 |
| - |
74 |
| - if(temp == 0x7FC00000) |
75 |
| - { |
76 |
| - return(0); |
77 |
| - } |
78 |
| - EnergySignal += pRef[i] * pRef[i]; |
79 |
| - EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); |
80 |
| - } |
| 53 | + float EnergySignal = 0.0; |
| 54 | + float EnergyError = 0.0; |
| 55 | + uint32_t i; |
| 56 | + float SNR; |
| 57 | + int temp; |
| 58 | + int *test; |
| 59 | + |
| 60 | + for (i = 0; i < buffSize; i++) { |
| 61 | + /* Checking for a NAN value in pRef array */ |
| 62 | + test = (int *)(&pRef[i]); |
| 63 | + temp = *test; |
| 64 | + |
| 65 | + if (temp == 0x7FC00000) { |
| 66 | + return(0); |
| 67 | + } |
| 68 | + |
| 69 | + /* Checking for a NAN value in pTest array */ |
| 70 | + test = (int *)(&pTest[i]); |
| 71 | + temp = *test; |
| 72 | + |
| 73 | + if (temp == 0x7FC00000) { |
| 74 | + return(0); |
| 75 | + } |
| 76 | + EnergySignal += pRef[i] * pRef[i]; |
| 77 | + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); |
| 78 | + } |
81 | 79 |
|
82 | 80 | /* Checking for a NAN value in EnergyError */
|
83 | 81 | test = (int *)(&EnergyError);
|
84 |
| - temp = *test; |
| 82 | + temp = *test; |
85 | 83 |
|
86 |
| - if(temp == 0x7FC00000) |
87 |
| - { |
88 |
| - return(0); |
89 |
| - } |
90 |
| - |
91 |
| - |
92 |
| - SNR = 10 * log10 (EnergySignal / EnergyError); |
93 |
| - |
94 |
| - return (SNR); |
| 84 | + if(temp == 0x7FC00000) { |
| 85 | + return(0); |
| 86 | + } |
95 | 87 |
|
| 88 | + SNR = 10 * log10f(EnergySignal / EnergyError); |
| 89 | + return (SNR); |
96 | 90 | }
|
97 | 91 |
|
98 | 92 |
|
@@ -128,18 +122,16 @@ void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples)
|
128 | 122 | {
|
129 | 123 | uint32_t i;
|
130 | 124 |
|
131 |
| - for (i = 0; i < numSamples; i++) |
132 |
| - { |
133 |
| - /* 1048576.0f corresponds to pow(2, 20) */ |
| 125 | + for (i = 0; i < numSamples; i++) { |
| 126 | + /* 1048576.0f corresponds to pow(2, 20) */ |
134 | 127 | pOut[i] = (q31_t) (pIn[i] * 1048576.0f);
|
135 | 128 |
|
136 | 129 | pOut[i] += pIn[i] > 0 ? 0.5 : -0.5;
|
137 | 130 |
|
138 |
| - if (pIn[i] == (float) 1.0) |
139 |
| - { |
| 131 | + if (pIn[i] == (float) 1.0) { |
140 | 132 | pOut[i] = 0x000FFFFF;
|
141 |
| - } |
142 |
| - } |
| 133 | + } |
| 134 | + } |
143 | 135 | }
|
144 | 136 |
|
145 | 137 | /**
|
|
0 commit comments