Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. [xn] = audioread('eric.wav');
  2. fs = 48000;
  3. nf=1024;
  4. Y = fft(xn);
  5. f = fs/2*linspace(0,1,nf/2+1);
  6. plot(f,abs(Y(1:nf/2+1)));
  7.  
  8. d = designfilt('lowpassfir' , 'FilterOrder' , 8 ,'CutoffFrequency' , 4000 , 'SampleRate' , fs);
  9. filteredf = filter (d, Y);
  10.  
  11. filteredt = ifft (filteredf);
  12.  
  13. player = audioplayer(filteredf,fs);
  14. play(player);
  15. Fc = 100000;
  16. Fm = 500000;
  17. [p,q]=rat(fs/Fm);
  18. filtere=resample(filteredf,p,q);
  19. len = length(x);
  20. t = 0: 1/Fm :1;
  21. x = cos(2*pi*Fc*t);
  22. filte = fft(filtere);
  23. z = times(filte , x) ;
  24.  
  25. demod = z.*cos(2*pi*Fc*t);
  26. [b,a] = butter(5,Fc*2/Fm);
  27. demod = filtfilt(b,a,demod);
  28. z1= awgn(z , 0 ,'measured');
  29. demod1 = z1.*cos(2*pi*Fc*t);
  30. [b,a] = butter(5,Fc*2/Fm);
  31. demod1 = filtfilt(b,a,demod1);
  32. z2= awgn(z , 10 ,'measured');
  33. demod2 = z2.*cos(2*pi*Fc*t);
  34. [b,a] = butter(5,Fc*2/Fm);
  35. demod2 = filtfilt(b,a,demod2);
  36. z3 = awgn(z ,30 ,'measured');
  37. demod3 = z3.*cos(2*pi*Fc*t);
  38. [b,a] = butter(5,Fc*2/Fm);
  39. demod3 = filtfilt(b,a,demod3);
  40.  
  41.  
  42. z1f = fft(z1);
  43. z2f = fft(z2);
  44. z3f = fft(z3);
  45.  
  46. plot(z1f);title('SNR =0 in frequency');
  47. plot(z2f);title('SNR =10 in frequency');
  48. plot(z3f);title('SNR =30 in frequency');
  49. plot(z1);title('SNR =0 in time');
  50. plot(z2);title('SNR =10 in time');
  51. plot(z3);title('SNR =30 in time');
  52. [p1,q1]=rat(Fm/fs);
  53. z1fs=resample(z1f,p1,q1);
  54. z2fs=resample(z2f,p1,q1);
  55. z3fs=resample(z3f,p1,q1);
  56. sound(z1fs,fs);
  57. sound(z2fs,fs);
  58. sound(z3fs,fs);
  59.  
  60. fc2 = 100100 ;
  61. z4= awgn(z , 10 ,'measured');
  62. demod4 = z2.*cos(2*pi*fc2*t);
  63. [b,a] = butter(5,fc2*2/Fm);
  64. demod4 = filtfilt(b,a,demod4);
  65.  
  66.  
  67.  
  68. z5= awgn(z , 10 ,'measured');
  69. demod5 = z2.*cos(2*pi*fc*t+20);
  70. [b,a] = butter(5,fc*2/Fm);
  71. demod5 = filtfilt(b,a,demod5);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement