| поискавой системы для электроныых деталей |
|
DSP56300 датащи(PDF) 45 Page - Freescale Semiconductor, Inc |
|
|
|||||||||||||||||||||||||||||
DSP56300 датащи(HTML) 45 Page - Freescale Semiconductor, Inc |
|
45 / 108 page ![]() Expanding the Viterbi Algorithm Main: Gluing the Pieces Together Viterbi Decoder Implementation 3-17 Again, we read the next (previous) path into A1 using r0, which points to the previous page, and n0, which points to the correct path in that page. We extract the new path pointer information, update r0 to the next previous page, and move the path pointer to n0. Move the path data to the upper byte, OR in the lower byte from x1, and move the resulting word into memory using r2. The loop continues until we have traced back to the beginning, and y:DECOUT points to the start of the decoder output. 3.7 MAIN: GLUING THE PIECES TOGETHER The only thing left is to put the pieces together. In Examples 3-5 through 3-7, we present the main routine. Its function is to initialize registers so everything starts properly, and to invoke the macros at the needed time. Example 3-5 begins the Viterbi decoding routine by setting equates for the encoder size and input data length, and initializing address registers. NUMSTATES is set to the number of encoder states, which for our example is 32. ENCBITS is the number of bits used to encode. This includes the input bit as well as the state bits. NoOfAcsButt sets the number of ACS butterflies for the butterfly loop. For our rate 1/2 code, this is automatically set to half the number of states. The EVEN flag is used by the assembler to include an extra half-byte of traceback if the number of input bytes of data is odd. Example 3-5 Main Viterbi Decoding Routine: Initialization ;***************************MAIN*********************************************** ; NUMSTATESequ 32 ENCBITS equ 6 ;most cases=log2(NUMSTATES)+1 NoOfAcsButt equ NUMSTATES/2 NUMINPUTSequ 168 EVEN equ 1-(NUMINPUTS/8)%2 ;EVEN SET TO 1/0 IF NUMINPUTS IS ; EVEN/ODD #BYTES org p:$400 VITDEC move #NUMSTATES/2-1,m2 ;r2 points to branch metric table move #>3,n2 ;increment for branch metric storage move #STATE1,r5 ;r5 points to current state metric move #STATE2,r4 ;r4 points to updated state metric move #NUMSTATES*2-1,m4 ;both modulo to flip loc each sym move #NUMSTATES*2-1,m5 move #NUMSTATES/2,n5 ;input metrics spacing for each butterfly move #PATHOUT,n0 ;n0 points to storage for output paths move #-1,m3 ;set linear mode, traceback ptr ; move #INDATA,r1 ;r1 points to input data ; 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 |