參數(shù)資料
型號: DSP56600
廠商: 飛思卡爾半導(dǎo)體(中國)有限公司
英文描述: Implementing Viterbi Decoders Using the VSL Instruction on DSP Families
中文描述: 維特比解碼器實現(xiàn)上使用DSP的家庭教學(xué)的VSL
文件頁數(shù): 63/108頁
文件大?。?/td> 726K
代理商: DSP56600
Algorithmic Extensions
Main: Putting the Pieces Back Together
Viterbi Decoder Implementation
For More Information On This Product,
Go to: www.freescale.com
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.
F
Freescale Semiconductor, Inc.
n
.
相關(guān)PDF資料
PDF描述
DSP56852E 16-bit Digital Signal Controllers
DSP56852VFE 16-bit Digital Signal Controllers
DSP56853E 16-bit Digital Signal Controllers
DSP56853FG120 16-bit Digital Signal Controllers
DSP56853FGE 16-bit Digital Signal Controllers
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
DSP56600AD 制造商:FREESCALE 制造商全稱:Freescale Semiconductor, Inc 功能描述:INTERGRATED CELLULAR BASEBAND PROCESSOR DEVELOPMENT IC
DSP56600FM 制造商:FREESCALE 制造商全稱:Freescale Semiconductor, Inc 功能描述:16-BIT DIGITAL SIGNAL PROCESSOR
DSP56602 制造商:MOTOROLA 制造商全稱:Motorola, Inc 功能描述:16-Bit Digital Signal Processor User manual
DSP56602AD 制造商:MOTOROLA 制造商全稱:Motorola, Inc 功能描述:16-Bit Digital Signal Processor User manual
DSP56602DS 制造商:未知廠家 制造商全稱:未知廠家 功能描述:DSP56602 16-Bit Digital Signal Processor Datasheet