Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. clear all;
  2. close all;
  3. clc;
  4.  
  5. v = 1;%signal amplitude (max "voltage")
  6. f = 1.6e4;%sampling frequency (arbitrary)
  7. nbit = [4 6 8];%signal bit depth(s)
  8.  
  9. nsamples = 1e4;
  10. pe = logspace(-9,-1,500);%Probabilities of Error (of binary symmetrical channel)
  11. sig = 2*v*(rand(1, nsamples)) -v ;%signal (randomly generated)
  12. figure(1);
  13. grid on;
  14. hold on;
  15. histogram(sig,20,'normalization','pdf');%ProbabilityDensityFunction histograms
  16. xlabel("Amplitude")
  17. ylabel("PDF")
  18.  
  19. psd = abs(fft(sig)).^2;%Square PowerSpectralDensity vector
  20. figure(2);
  21. df = f/nsamples;
  22. xtest = (-f/2:df:f/2-df);%frequency values for the signal
  23. plot(xtest, fftshift(psd));
  24. xlabel("Frequency")
  25. ylabel("Weight")
  26.  
  27. grid on;
  28. for counter=1:length(nbit)
  29. M = 2^nbit(counter);
  30. SNR = M^2./(1+4*(M^2-1)*pe);
  31. figure(3)
  32. semilogx(pe,10*log10(SNR))
  33. grid on;
  34. hold on
  35. dv = 2*v/M;
  36. partition = -v+dv:dv:v-dv;
  37. codebook = -v+dv/2:dv:v-dv/2;
  38. [index,quanz] = quantiz(sig,partition,codebook);
  39. words = de2bi(index,nbit(counter));
  40. for c2=1:length(pe)
  41. out = bsc(words,pe(c2));
  42. end
  43. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement