static void pvq_pyr_project(const Word16 dim_proj, /* end vector dimension+1 */ const Word16 *xabs, /* absolute vector values */ Word32 L_xsum, /* absolute vector sum over dim */ Word16 num, /* target number of pulses */ Word16 * y, /* projected output vector */ Word16 *pulse_tot_ptr, Word32 *L_xy_ptr, /* accumulated correlation Q(in+0+1) = Qin+1 */ Word32 *L_yy_ptr /* accumulated energy Q0 */ ) { // pvq_pyr_project(dim, xabs, L_xsum, pulses_proj[0], y_far, &pulse_tot_far, &L_xy, // &L_yy); /* outlier submode projection */ Dyn_Mem_Deluxe_In( Counter i; Word32 L_tmp, L_num; Word16 den, shift_num, shift_den, shift_delta, proj_fac; ); *pulse_tot_ptr = 0; move16(); *L_xy_ptr = L_deposit_l(0); *L_yy_ptr = L_deposit_l(0); shift_den = norm_l(L_xsum); /* x_sum input Qin */ den = extract_h(L_shl_pos(L_xsum, shift_den)); /* now in Qin+shift_den */ L_num = L_deposit_l(num); shift_num = sub(norm_l(L_num), 1); L_num = L_shl_pos(L_num, shift_num); /* now in Q0 +shift_num -1 */ proj_fac = div_l(L_num, den); /* L_num always has to be less than den<<16 , norm_l-1 makes that happen */ shift_delta = sub(shift_num, shift_den); FOR (i = 0; i < dim_proj; i++) { L_tmp = L_mult(proj_fac, xabs[i]); /* Q shift_delta + PVQ_SEARCH_QIN */ y[i] = extract_h(L_shr(L_tmp, shift_delta)); move16(); /* to Q0 with floor , and potential sturation */ ; *pulse_tot_ptr = add(*pulse_tot_ptr, y[i]); /* Q0 */ *L_yy_ptr = L_mac0(*L_yy_ptr, y[i], y[i]); /* Energy, Q0 */ *L_xy_ptr = L_mac(*L_xy_ptr, xabs[i], y[i]); /* Corr, Q0*Q12 +1 --> Q13 */ } Dyn_Mem_Deluxe_Out(); }
时间: 2024-02-15 09:27:43 浏览: 102
这是一个静态函数,函数名为 `pvq_pyr_project`,接受多个参数:
- `dim_proj`:维度大小。
- `xabs`:绝对向量值。
- `L_xsum`:绝对向量总和。
- `num`:目标脉冲数。
- `y`:投影输出向量。
- `pulse_tot_ptr`:脉冲总数指针。
- `L_xy_ptr`:累积相关性指针。
- `L_yy_ptr`:累积能量指针。
该函数的作用是将输入向量进行投影,得到输出向量。具体实现过程为:
- 对输入向量进行归一化,得到一个分母 `den` 和一个除数 `proj_fac`。
- 对每个向量元素进行投影,得到输出向量 `y`。
- 计算脉冲总数、累积相关性和累积能量,并将其保存在指针中。
该函数的实现与定点数学有关,包含了左移、右移、乘法、除法等操作。
相关问题
公式pvq→s的真值表
Sure, here is the truth table for the formula pvq→s:
| p | q | s | pvq | pvq -> s |
|---|---|---|-----|---------|
| T | T | T | T | T |
| T | T | F | T | F |
| T | F | T | T | T |
| T | F | F | T | F |
| F | T | T | T | T |
| F | T | F | T | F |
| F | F | T | F | T |
| F | F | F | F | T |
I hope that helps! Do you have any other questions?
(┓(┓pVq)Vr)
对不起,您提供的表达式"(┓(┓pVq)Vr)"似乎不是一个标准的编程概念或操作,它看起来更像是表情符号或者文字游戏。在Python中,没有直接对应的内置函数来执行这种特定的组合。如果您是在寻求某种特定的编码或字符串处理方式,可能需要提供更多的上下文或详细说明。如果您只是想表达这个字符序列,那么它本身就是一个字符串,可以直接存储和操作。如果这是个谜题或者代码提示的一部分,请提供更多信息。
阅读全文