Code covered by the BSD License

### Highlights from Impact of quantization on performance of convolutional codes (soft decisions)

4.0
4.0 | 2 ratings Rate this file 9 Downloads (last 30 days) File Size: 6.83 KB File ID: #14840

# Impact of quantization on performance of convolutional codes (soft decisions)

### B Gremont (view profile)

01 May 2007 (Updated )

Plots the expected BER curve of soft decision quantized Viterbi decoders

File Information
Description

Computes BER v EbNo curve for convolutional encoding / soft decision
Viterbi decoding scheme assuming BPSK.
Brute force Monte Carlo approach is unsatisfactory (takes too long)
to find the BER curve.
The computation uses a quasi-analytic (QA) technique that relies on the
estimation (approximate one) of the information-bits Weight Enumerating
Function (WEF) using
A simulation of the convolutional encoder. Once the WEF is estimated, the analytic formula for the BER is used.

MATLAB release MATLAB 7.4 (R2007a)
09 Mar 2012 B Gremont

### B Gremont (view profile)

Comment only
23 Jun 2009 Khaltmaa

### Khaltmaa (view profile)

30 Apr 2009 Salman Alqais

### Salman Alqais (view profile)

program doesn't work
the program needs CVencode function. can u provide it plz??

Comment only
14 Dec 2008 fls lee

### fls lee (view profile)

i have got the undefined q... does anybody know what is this?
q(sqrt(2.*d.*EbNo.*coderate))

Comment only
21 Jul 2008 J C

Here is an oct2bin function to add to path for his other programs and this one.
Give a comment if you get valid results. I'm working with Gpoly[133 171] to see what Bd and WEF gives.
function binary = oct2bin(octal,bin_len)
% oct2bin(octal,binary_length) returns the binary representation
% of the octal input number, where binary_length is the desired
% number of binary digits to be output.
%
%
bin_len=7;%added for Gpoly[133 171] JC 7/21/08 (bin_len=8 may be more correct)
binary = zeros(1,bin_len+2);
i = 1;
oct = octal;
while (oct > 0)
if oct > 9
oct_digit = rem(oct,10);
else
oct_digit = oct;
end
for k = 1:3
binary(i) = rem(oct_digit,2);
oct_digit = floor(oct_digit/2);
i = i+1;
end
oct = fix(oct/10);
end
binary = binary(1,bin_len:-1:1);

Comment only
28 Sep 2007 J C

Good