| поискавой системы для электроныых деталей |
|
DSP56300 датащи(PDF) 63 Page - Freescale Semiconductor, Inc |
|
|
|||||||||||||||||||||||||||||
DSP56300 датащи(HTML) 63 Page - Freescale Semiconductor, Inc |
|
63 / 108 page ![]() Algorithmic Extensions Main: Putting the Pieces Back Together Viterbi Decoder Implementation 4-15 To make the changes to the MAIN program code, we begin as we did in Section 3, by initializing the address registers. R2 is still used to address branch metrics. Registers r4 and r5 address the states for path metric storage. The differences needed for the initialization code are to set n5 to 1 (needed for tracking the number of states in the PreAcs code), and n2 is set to 1. This is different from the code in Section 3 for two reasons. First, the branch metric generation is different, and second, using n2 to update register r2 for branch metric storage is no longer required. Instead, we use n2 to change the addresses to read branch metrics for the ACSFlush routine. Next, we do ENCBITS-1 iterations of input processing to preload the path storage registers. This is different because we use the PreACS macro instead of the ACS macro. Using the PreACS macro means that the code uses the starting encoder 0 state to reduce execution cycles as well as to avoid the need of initializing the path metric storage for all the states. The next major piece of code is the nested do loops that process bytes of decoder input and store off the resulting paths. This code is identical to the code in Section 3, except that we process one less byte of data. The end processing is more complicated because there are two subprocesses occurring at the same time and their endings are not in phase. One process is the storing of the path data in bytes as the path storage registers fill up. The second process is the ACSFlush processing, which collapses the trellis states back to 0. For this example, start with 168 decoder inputs. We preprocess five inputs, and then process 19*8=152 more inputs in bytes using the nested loops. We have 11 decoder inputs left to process. We need to do 8 more to get the next byte, but after processing 6 inputs, we have to change from using the ACS macro to using the ACSFlush macro (used to collapse states for the last five inputs). Accordingly, we process the first 6 of the last 11 decoder inputs using the ACS macro. We then process the next two decoder inputs using the ACSFlush macro. Now we have processed eight more decoder inputs, and can store off the path data using the STOREPATHS macro. We then finish processing the last three decoder inputs using the ACSFlush macro. The final path data is in the collapsed state (as it was in the code in Section 3 ), and is access in the TRACEBACK macro as before. After doing the traceback using the TRACEBACK macro of Section 3, the decoder is done at the FINISH label. Freescale Semiconductor, Inc. For More Information On This Product, Go to: www.freescale.com |
|
ссылки URL |
| Вашему бизинису помогли Аллдатащит? [ DONATE ] |
Что такое Аллдатащит | реклама | контакт | Конфиденциальность | Ссылка на техническое описание | обмен ссыками | поиск по производителю All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |