turbo code encoder/decoder Matlab code

源代码在线查看: turbo code demo.htm

软件大小: 22 K
上传用户: wanghao891207
关键词: code encoder decoder Matlab
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				
				Turbo Code Demo
				
				
				
				
				Turbo Code 
				Demo
				
				
				
				MATLAB code for 
				experiment on turbo codes (updated June 07, 1999).The following 
				MATLAB funtions will allow you to simulate the classical Turbo Coding system, 
				which is also known as parallel concantenated convolutional codes. They are 
				written to be shared with fellow researchers working on Turbo Codes. Please 
				download all the .m files and run turbo_sys_demo.m file in MATLAB 
				environment. 
				
				
				This NEW version includes both the Log-MAP [1] and SOVA [2] 
				algorithms for decoding. The information bits are randomly generated which 
				assume a uniform distribution. For each frame of bits, a random interleaver is 
				generated for it. Thus the code performance stands for the average performance 
				among all interleavers. You can set the following parameters yourself: 
				
				
				  
				  
				    decoding algorithm ( 
				      Log-MAP / SOVA )
				  
				    frame size
				    code generator
				    puncture / 
				  unpuncture
				  
				    maximum number of 
				      iterations
				    number of frame errors to 
				      terminate
				    signal to noise ratio ( 
				      Eb / No )  
				
				  bin_state.m , 
				  utility to convert an integer to a vector of binary bits. 
				  				  href="http://www.ee.vt.edu/~yufei/turbo/demultiplex.m">demultiplex.m, 
				  serial to parallel demultiplex at the receiver. 
				  encode_bit.m 
				  , two RSC (Recursive Systematic Convolutional) encoder to encode frames of 
				  information bits. a single bit. 
				  encoderm.m , 
				  turbo encoding process. 
				  int_state.m , 
				  utility to convert from vector of bits to integer. 
				  logmapo.m , 
				  Log-MAP component decoder. 
				  rsc_encode.m 
				  , encodes a block of data using a RSC encoder. 
				  sova0.m , SOVA 
				  (Soft Output Viterbi Algorithm) component decoder. 
				  trellis.m, set 
				  up the trellis for a given code generator. 
				  				  href="http://www.ee.vt.edu/~yufei/turbo/turbo_sys_demo.m">turbo_sys_demo.m 
				  , turbo encoding and turbo decoding system simulation. Topmost function. 
				  Start Here!(An error 
				  corrected for SOVA application!) 
				[1] Patrick Robertson, Peter Hoeher, 
				Optimal and sub-optimal maximum a 
				posteriori algorithms suitable for turbo decoding				face=Arial,Helvetica>, European Trans. on Telecommun.,Vol. 8, No. 2, March-April 
				1997, p. 119-125. 
				[2] Joachim Hagenauer, Elke Offer, and Lutz 
				Papke, Iterative decoding of binary block and 
				convolutional codes, IEEE Trans. Inform. 
				Theory, Vol. 42, No. 2, March 1996, p. 429-445. 
				
				
				Some simulation results				color=#000099>1. Small frame size: 
				Setting:
				
				
				  
				  
				    frame size = 1024
				    code generator = [07; 
				      05] (default)
				    punctured (default) into 
				      rate 1/2
				  
				    maximum number of 
				      iterations = 8
				    terminate with frame 
				      errors 30
				Plots:
								  href="http://www.ee.vt.edu/~yufei/turbo/demolber.jpg">Bit Error Rate with 
				  Log-MAP, Eb/N0 = [1.0:0.5:2.5]
				  				  href="http://www.ee.vt.edu/~yufei/turbo/demolfer.jpg">Frame Error Rate with 
				  Log-MAP, Eb/N0 = [1.0:0.5:2.5]
				  				  href="http://www.ee.vt.edu/~yufei/turbo/demosber.jpg">Bit Error Rate with 
				  SOVA, Eb/N0 = [1.5:0.5:3.0]
				  				  href="http://www.ee.vt.edu/~yufei/turbo/demosfer.jpg">Bit Error Rate with 
				  SOVA, Eb/N0 = [1.5:0.5:3.0]
				  2. Large frame size 
				(original setting in Berrou's paper with Log-MAP): 
				Setting:
				
				
				  
				  
				    frame size = 65536
				    code generator = [037; 
				      021]
				    punctured into rate 
				    1/2
				  
				    maximum number of 
				      iterations = 18
				    terminate with frame 
				      errors 35
				    Eb/N0 = 0.2 - 2 
				  db
				Plots:
								  href="http://www.ee.vt.edu/~yufei/turbo/berrouber.jpg">Bit Error Rate is 
				  lower than 1e-5 at 0.7 db, which is 0.5 db from the Shannon limit. Notice the 
				  error floor after it. 
				  				  href="http://www.ee.vt.edu/~yufei/turbo/berroufer.jpg">Frame Error Rate 
				  doesn't drop as much. 
				  
				  
				
				  Please send your precious 
				  comment to:
				  
				  yufei@vt.edu
				  
				  
				  Back to Turbo Codes 
				  homepage 
				  Back to Yufei Wu's 
				  homepage 
							

相关资源