jazkind 发表于 2006-5-9 11:34

请教大家一个数字信号处理方面的问题

<P><FONT size=3>主要是关于信号加窗的</FONT>,程序如下:<BR>clear;close all<BR>=wavread('D:\hxx');%提取一个声音信号<BR>N=length(x);n=0:N-1;<BR>figure(1);<BR>subplot(2,1,1);stem(x,'.');<BR>axis();<BR>xlabel('n'),ylabel('x(n)');%定义信号波形的长度与幅度<BR>XK1=fft(x);%快速傅立叶变换<BR>subplot(2,1,2);plot(n,abs(XK1));<BR>axis([-1000,1.55e5,0,300]);<BR>xlabel('k'),ylabel('abs(XK1)'); <BR>figure(2);<BR>fp=1.5e4;fst=6.5e4;<BR>rp=2;rst=20;<BR>wp=fp/N;ws=fst/N;<BR>wn=(wp+ws)/2; <BR>b=fir1(N,wn,hamming(N+1));<BR>freqz(b,1);<BR>y=filter(b,1,512);%加窗<BR>%<FONT size=3>以上是对整个波形加海明窗,这一段是没问题,但是如果我对原声音信号的其中一段提取之后再加窗,具体的程序是怎样呢,我写的在下面,但是看起来好象没效果<BR></FONT>figure(3);<BR>i=1;s=zeros(1,80001);<BR>for m=2e4:10e4<BR>s(i)=x(m);<BR>         i=i+1;<BR>       end<BR>subplot(2,1,1);plot(s);%<FONT size=3>这段没错<BR></FONT>figure(4);<BR>j=length(2e4:10e4);<BR>fp=1.5e4;fst=6.5e4;<BR>rp=2;rst=20;<BR>wp=fp/N;ws=fst/N;<BR>wn=(wp+ws)/2; <BR>hanning(j+1)<BR>bo=fir1(j,wn,hanning(j+1));<BR>freqz(bo,1);<BR>k=filter(bo,1,512);<BR>figure(4);<BR>subplot(2,1,2);plot(s);%<FONT size=3>这段有实现对提取信号的加窗吗?请大家不吝赐教,谢谢</FONT></P>
页: [1]
查看完整版本: 请教大家一个数字信号处理方面的问题