你好,我想问一下关于这个库的一些问题。
这个库里的FIR函数,定义为ushort fir(DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx, ushort nh);其中第三个参数dbuffer的作用我不是很明白,这个库的使用说明书里,对这个参数的解释,也是很难理解(如下):
The first element in the dbuffer array (index = 0) is the entry index for the input history. It is treated as an unsigned 16-bit value by the function even though it has been declared as signed in C. The value of the entry index is equal to the index − 1 of the oldest input entry in the array. The remaining elements make up the input history. Figure 4−16 shows the array in memory with an entry index of 2. The newest entry in the dbuffer is denoted by x(j−0), which in this case would occupy index = 3 in the array. The next newest entry is x(j−1), and so on. It is assumed that all x() entries were placed into the array by the previous invocation of the function in a multiple-buffering scheme. The dbuffer array actually contains one more history value than is needed to implement this filter. The value x(j−nh) does not enter into the calculations for for the output r(j). However, this value is required in other DSPLIB filter functions that utilize the dual-MAC units on the C55x, such as FIR2. Including this extra location ensures compatibility across all filter functions in the C55x DSPLIB.
能不能帮我解释一下这个dbuffer的作用?
谢谢啦
你好,我想问一下关于这个库的一些问题。
这个库里的FIR函数,定义为ushort fir(DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx, ushort nh);其中第三个参数dbuffer的作用我不是很明白,这个库的使用说明书里,对这个参数的解释,也是很难理解(如下):
The first element in the dbuffer array (index = 0) is the entry index for the input history. It is treated as an unsigned 16-bit value by the function even though it has been declared as signed in C. The value of the entry index is equal to the index − 1 of the oldest input entry in the array. The remaining elements make up the input history. Figure 4−16 shows the array in memory with an entry index of 2. The newest entry in the dbuffer is denoted by x(j−0), which in this case would occupy index = 3 in the array. The next newest entry is x(j−1), and so on. It is assumed that all x() entries were placed into the array by the previous invocation of the function in a multiple-buffering scheme. The dbuffer array actually contains one more history value than is needed to implement this filter. The value x(j−nh) does not enter into the calculations for for the output r(j). However, this value is required in other DSPLIB filter functions that utilize the dual-MAC units on the C55x, such as FIR2. Including this extra location ensures compatibility across all filter functions in the C55x DSPLIB.
能不能帮我解释一下这个dbuffer的作用?
谢谢啦
举报