N = 10^3;
SNR_dB = [0:24];
M=4;
for ii = 1:1:length(SNR_dB)
% input
x = randint(1,N);
% puncturing- channel encoding
t = poly2trellis(7,[171 133]);
punctcode = convenc(x, t);
inter1=randintrlv(punctcode,2);
q1=qammod(inter1,M);
f1=ifft(q1);
x1=awgn(f1,SNR_dB(ii),'measured');
ww=fft(x1);
dmod = qamdemod(ww,M);
y= randdeintrlv(dmod,2);
% de-puncturing
d_punctcode = vitdec(y,t,35, 'trunc', 'unquant');
[num2,ber(ii)]= biterr(x,d_punctcode);
end
figure();
semilogy(SNR_dB,ber,'LineWidth',2)
grid on
axis([0 15 10^-4 1])
xlabel('SNR')
ylabel('BER')