Advertisement
Guest User

STTC Sulav

a guest
Jul 3rd, 2013
456
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 5.54 KB | None | 0 0
  1. warning('off','comm:obsolete:randint')
  2. close all;
  3. clear
  4. clc                
  5.  
  6. %% Generate Data
  7. % msg=[0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0];
  8. SNR=0:2:20;
  9. for j=1:length(SNR)
  10. m = randint(4000,1,2,139);
  11. msg=m';
  12. trellisStructure = poly2trellis(3,[6 7]); % Define 4 State trellis.
  13. trellisEncoded = convenc(msg,trellisStructure); % Encode the data.
  14.  
  15. %% QPSK Modulation
  16. x=trellisEncoded;
  17. x_matrix=reshape(x.',2,length(x)/2);
  18. SymbolIndices=bi2de(fliplr(x_matrix.'));
  19. qpskModObj = modem.dpskmod('M', 4) ;             % Modulator object
  20. qpskDemodObj = modem.dpskdemod(qpskModObj) ;           % Demodulator object
  21. modSignal = modulate(qpskModObj,SymbolIndices) ;         % Modulated signal
  22.  % the above signal is sent to a MIMO channel, which is a rayleigh fading
  23.  % channel
  24. %% Passing Through Rayleigh Fading Channel
  25. chan = rayleighchan(1/10000,100);% Create Rayleigh fading channel object.
  26. fadedSig = filter(chan,modSignal); % Effect of channel
  27. rxSig1 = awgn(fadedSig,SNR(j));%faded signal with noise
  28. rx1 = demodulate(qpskDemodObj, rxSig1); % Demodulate.
  29. x_Demod=rx1;
  30.   x_Demod_bin=fliplr(de2bi(x_Demod));
  31.   ax=x_Demod_bin';
  32.   for i=1:length(x_Demod)*2
  33.     a2(1,i)=ax(i);
  34.   end
  35.   a2;
  36. %%
  37. dcode = vitdec(a2,trellisStructure,2,'trunc','hard'); % Decode
  38. biterr(x,a2);
  39. biterr(SymbolIndices,rx1);
  40. [nErr(j),BERR(j)]=biterr(msg,dcode);
  41.  
  42. sum(msg~=dcode);
  43.  
  44. end
  45. avgBer4=sum(BERR)/length(BERR)
  46.  
  47.  
  48. %%
  49. clear                
  50.  
  51. %% Generate Data
  52. % msg=[0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0];
  53. SNR=0:2:20;
  54. for j=1:length(SNR)
  55. m = randint(4000,1,2,139);
  56. msg=m';
  57. trellisStructure2 = poly2trellis(4,[15 16]); % Define 8 State trellis.
  58. trellisEncoded = convenc(msg,trellisStructure2); % Encode the data.
  59.  
  60. %% QPSK Modulation
  61. x=trellisEncoded;
  62.  
  63. x_matrix=reshape(x.',2,length(x)/2);
  64. SymbolIndices=bi2de(fliplr(x_matrix.'));
  65.  
  66. qpskModObj = modem.dpskmod('M', 4) ;             % Modulator object
  67. qpskDemodObj = modem.dpskdemod(qpskModObj) ;           % Demodulator object
  68.  
  69. modSignal = modulate(qpskModObj,SymbolIndices) ;         % Modulated signal
  70.  % the above signal is sent to a MIMO channel, which is a rayleigh fading
  71.  % channel
  72.  
  73. %% Passing Through Rayleigh Fading Channel
  74. chan = rayleighchan(1/10000,100);% Create Rayleigh fading channel object.
  75. fadedSig = filter(chan,modSignal); % Effect of channel
  76. rxSig1 = awgn(fadedSig,SNR(j));%faded signal with noise
  77.  
  78. rx1 = demodulate(qpskDemodObj, rxSig1); % Demodulate.
  79.  
  80. x_Demod=rx1;
  81.   x_Demod_bin=fliplr(de2bi(x_Demod));
  82.   ax=x_Demod_bin';
  83.   for i=1:length(x_Demod)*2
  84.     a2(1,i)=ax(i);
  85.   end
  86.   a2;
  87. %%
  88. dcode = vitdec(a2,trellisStructure2,50,'trunc','hard'); % Decode
  89. % biterr(x,a2)
  90. % biterr(SymbolIndices,rx1)
  91. [nErr(j),BERR(j)]=biterr(msg,dcode);
  92. sum(msg~=dcode);
  93.  
  94. %%
  95. end
  96. avgBer8=sum(BERR)/length(BERR)
  97.  
  98.  
  99. %%
  100. clear  
  101.  
  102. %% Generate Data
  103. % msg=[0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0];
  104. SNR=0:2:20;
  105. for j=1:length(SNR)
  106. m = randint(4000,1,2,139);
  107. msg=m';
  108. trellisStructure3 = poly2trellis(5,[35 32]); % Define 16 State trellis.
  109. trellisEncoded = convenc(msg,trellisStructure3); % Encode the data.
  110.  
  111. %% QPSK Modulation
  112. x=trellisEncoded;
  113.  
  114. x_matrix=reshape(x.',2,length(x)/2);
  115. SymbolIndices=bi2de(fliplr(x_matrix.'));
  116.  
  117. qpskModObj = modem.dpskmod('M', 4) ;             % Modulator object
  118. qpskDemodObj = modem.dpskdemod(qpskModObj) ;           % Demodulator object
  119.  
  120. modSignal = modulate(qpskModObj,SymbolIndices) ;         % Modulated signal
  121.  % the above signal is sent to a MIMO channel, which is a rayleigh fading
  122.  % channel
  123.  
  124. %% Passing Through Rayleigh Fading Channel
  125. chan = rayleighchan(1/10000,100);% Create Rayleigh fading channel object.
  126. fadedSig = filter(chan,modSignal); % Effect of channel
  127. rxSig1 = awgn(fadedSig,SNR(j));%faded signal with noise
  128.  
  129. rx1 = demodulate(qpskDemodObj, rxSig1); % Demodulate.
  130.  
  131. x_Demod=rx1;
  132.   x_Demod_bin=fliplr(de2bi(x_Demod));
  133.   ax=x_Demod_bin';
  134.   for i=1:length(x_Demod)*2
  135.     a2(1,i)=ax(i);
  136.   end
  137.   a2;
  138. %%
  139. dcode = vitdec(a2,trellisStructure3,25,'trunc','hard'); % Decode
  140. % biterr(x,a2)
  141. % biterr(SymbolIndices,rx1)
  142. [nErr(j),BERR(j)]=biterr(msg,dcode);
  143. sum(msg~=dcode);
  144.  
  145. %%
  146. end
  147. avgBer16=sum(BERR)/length(BERR)
  148.  
  149.  
  150.  
  151. %%
  152. clear  
  153.  
  154. %% Generate Data
  155. % msg=[0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0];
  156. SNR=0:2:20;
  157. for j=1:length(SNR)
  158. m = randint(4000,1,2,139);
  159. msg=m';
  160. trellisStructure4 = poly2trellis(6,[65 73]); % Define 32 State trellis.
  161. trellisEncoded = convenc(msg,trellisStructure4); % Encode the data.
  162.  
  163. %% QPSK Modulation
  164. x=trellisEncoded;
  165.  
  166. x_matrix=reshape(x.',2,length(x)/2);
  167. SymbolIndices=bi2de(fliplr(x_matrix.'));
  168.  
  169. qpskModObj = modem.dpskmod('M', 4) ;             % Modulator object
  170. qpskDemodObj = modem.dpskdemod(qpskModObj) ;           % Demodulator object
  171.  
  172. modSignal = modulate(qpskModObj,SymbolIndices) ;         % Modulated signal
  173.  % the above signal is sent to a MIMO channel, which is a rayleigh fading
  174.  % channel
  175.  
  176. %% Passing Through Rayleigh Fading Channel
  177. chan = rayleighchan(1/10000,100);% Create Rayleigh fading channel object.
  178. fadedSig = filter(chan,modSignal); % Effect of channel
  179. rxSig1 = awgn(fadedSig,SNR(j));%faded signal with noise
  180.  
  181. rx1 = demodulate(qpskDemodObj, rxSig1); % Demodulate.
  182.  
  183. x_Demod=rx1;
  184.   x_Demod_bin=fliplr(de2bi(x_Demod));
  185.   ax=x_Demod_bin';
  186.   for i=1:length(x_Demod)*2
  187.     a2(1,i)=ax(i);
  188.   end
  189.   a2;
  190. %%
  191. dcode = vitdec(a2,trellisStructure4,30,'trunc','hard'); % Decode
  192. % biterr(x,a2)
  193. % biterr(SymbolIndices,rx1)
  194. [nErr(j),BERR(j)]=biterr(msg,dcode);
  195. sum(msg~=dcode);
  196.  
  197. %%
  198. end
  199. avgBer32=sum(BERR)/length(BERR)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement