hi ,
I am trying to implement a least mean square algorithm with a dsk 6713 .
The steps are as follows .
- Generate a random set of data, " a ", ( 1 D array ) , 500 bits .
- convolute data array , " a " , with the channel component , " h " , (1 D array ) , 4 bits , which results in "ah " (taking into consideration only the first 500 bits after convolution).
- add some noise to " ah " , which results in " u '.
- parallely , i generate a set of initial weight values , " w " (containing zeros to begin with)
- Now , i multiply the first 11 bits of " u " with " w " . Subtract the resultant value from the correesponding element ( it is the 5th elemnt to begin with and keeps incrementing ) of " a " , which results in the error component " e".
- Multiple " e " with a constant " mu " and i also multiply this with the first 11 bits of "u ". then i add that to the weight value , thereby updating the weight value.
- Now , i take the square of the error and have to store the error value in a array for each loop sequence ( for a total of 488 iterations, which should result in a 1D array of 488 bits).
I am facing a couple of problems i want some help with .
First , in step 5 , i start with 11 bits . but for the second loop ,i need to take 2 - 12 bits and the third loop , the 3 - 13 and so on till 488. Not sure how i could go about taking 11 bits in a sequential order.
Second , in the last step , i need to store the data in an array , i tried doing so , but in every loop, it stores only the finally executed data .
Hoping someone can give me some advice on how i can go about completing this .
I am attaching the vi along with this . I am trying to implement in Labview what i have already done in MATLAB , so i am attaching the
MATLAB step sequence in a notepad file if that might offer more insight to the problem.
thank you ..
motorhead