levension.m
上传用户:ay_070428
上传日期:2014-12-04
资源大小:11427k
文件大小:2k
源码类别:

语音合成与识别

开发平台:

Matlab

  1. s1=wavread('jf');
  2. s=s1(3800:4055);
  3. d=hanning(256);
  4. w=s.*d;
  5. t=fft(w,256);
  6. h=fftshift(t);
  7. nn=log(abs(h));
  8. gg=nn(128:255);
  9. p=4;
  10. for j=1:p
  11.     r(j)=w(j:256)'*w(1:256-j+1);
  12. end
  13. [A E K]=levinson(r,p);
  14. a1=fft(A,256);
  15. hh=log(p*E)-log(abs(a1));
  16. hh1=hh(1:128);
  17. p=8;
  18. for j=1:p
  19.     r(j)=w(j:256)'*w(1:256-j+1);
  20. end
  21. [A E K]=levinson(r,p);
  22. a1=fft(A,256);
  23. hh=log(p*E)-log(abs(a1));
  24. hh2=hh(1:128);
  25. f=[0:127]*8000/256;
  26. p=12;
  27. for j=1:p
  28.     r(j)=w(j:256)'*w(1:256-j+1);
  29. end
  30. [A E K]=levinson(r,p);
  31. a1=fft(A,256);
  32. hh=log(p*E)-log(abs(a1));
  33. hh3=hh(1:128);
  34. p=16;
  35. for j=1:p
  36.     r(j)=w(j:256)'*w(1:256-j+1);
  37. end
  38. [A E K]=levinson(r,p);
  39. a1=fft(A,256);
  40. hh=log(p*E)-log(abs(a1));
  41. hh4=hh(1:128);
  42. p=20;
  43. for j=1:p
  44.     r(j)=w(j:256)'*w(1:256-j+1);
  45. end
  46. [A E K]=levinson(r,p);
  47. a1=fft(A,256);
  48. hh=log(p*E)-log(abs(a1));
  49. hh5=hh(1:128);
  50. p=30;
  51. for j=1:p
  52.     r(j)=w(j:256)'*w(1:256-j+1);
  53. end
  54. [A E K]=levinson(r,p);
  55. a1=fft(A,256);
  56. hh=log(p*E)-log(abs(a1));
  57. hh6=hh(1:128);
  58. subplot(3,3,1)
  59. plot(f,gg);
  60. hold on
  61. plot(f,hh1)
  62. xlabel('Frequency/Hz');
  63. ylabel('Magnitude/dB');
  64. text(3000,3,'p=4');
  65. subplot(3,3,2)
  66. plot(f,gg);
  67. hold on
  68. plot(f,hh2)
  69. xlabel('Frequency/Hz');
  70. ylabel('Magnitude/dB');
  71. text(2500,3,'p=8');
  72. subplot(3,3,3)
  73. plot(f,gg);
  74. hold on
  75. plot(f,hh3)
  76. xlabel('Frequency/Hz');
  77. ylabel('Magnitude/dB');
  78. text(2500,3,'p=12');
  79. subplot(3,3,4)
  80. plot(f,gg);
  81. hold on
  82. plot(f,hh4)
  83. xlabel('Frequency/Hz');
  84. ylabel('Magnitude/dB');
  85. text(2500,3,'p=16');
  86. subplot(3,3,5)
  87. plot(f,gg);
  88. hold on
  89. plot(f,hh5)
  90. xlabel('Frequency/Hz');
  91. ylabel('Magnitude/dB');
  92. text(2500,3,'p=20');
  93. subplot(3,3,6)
  94. plot(f,gg);
  95. hold on
  96. plot(f,hh6)
  97. xlabel('Frequency/Hz');
  98. ylabel('Magnitude/dB');
  99. text(2500,3,'p=30');
  100.