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

语音合成与识别

开发平台:

Matlab

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