基于matlab各滤波器源代码

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汉明窗的FIR低通滤波:

Fs=22050;

[x,FS,bits]=wavread('G:\Users\DP\Desktop\SoundTest.wav');%G:\Users\DP\Desktop \SoundTest.wav G:\Users\DP\Desktop\好铃网-湖人掘金宣传片.wav

x=x(:,1);

figure(1);

subplot(2,1,1);

plot(x);

%sound(x,FS,bits); %回放语音

title('语音信号时域波形图')

y=fft(x,3260);

f=(FS/3260)*[1:1630];

subplot(2,1,2);

plot(f(1:1630),abs(y(1:1630)));

title('语音信号频谱图');

%产生噪声信号并加到语音信号

t=0:length(x)-1;

zs0=0.05*cos(2*pi*100*t/22050);

figure(2);

subplot(2,1,1)

plot(zs0)

title('噪声信号波形');

zs1=fft(zs0,1200);

%sound(zs0,FS,bits);%回放噪音

f=(FS/1200)*[1:600];

subplot(2,1,2)

plot(f(1:600),abs(zs1(1:600)));

title('噪声信号频谱');

%sound(x1,FS,bits); %回放加入噪声后的语音

y1=fft(x1,1200);

figure(3);

subplot(2,1,1);plot(x1);

f=(FS/1200)*[1:600];

subplot(2,1,2);

plot(f(1:600),abs(y1(1:600)));

title('加入噪声后的信号波形');

title('加入噪声后的信号频谱');

%加窗滤波

wp=0.25*pi;

ws=0.3*pi;

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta); %取整

t=0:(size(x1)-1);

wn=(0.2+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率f1=fftfilt(b,x1);

figure(4)

freqz(b,1,512)

[h1,w1]=freqz(b,1);

plot(w1*FS/(2*pi),20*log10(abs(h1)));

figure(5)

subplot(2,1,1)

plot(t,x1)

title('滤波前的时域波形');

subplot(2,1,2)

title('滤波后的时域波形');

sound(f1); %播放滤波后的语音信号

F0=fft(f1,1024);

f=FS*(0:511)/1024;

figure(6)

y2=fft(x1,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512))); %画出滤波前的频谱图

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

巴特沃兹低通滤波器:

Fs=22050;

[x,FS,bits]=wavread('G:\Users\DP\Desktop\SoundTest.wav');%G:\Users\DP\Desktop \SoundTest.wav G:\Users\DP\Desktop\好铃网-湖人掘金宣传片.wav

x=x(:,1);

figure(1);

subplot(2,1,1);

plot(x);

%sound(x,FS,bits); %回放语音

title('语音信号时域波形图')

y=fft(x,3260);

f=(FS/1630)*[1:1630];

subplot(2,1,2);

plot(f(1:1630),abs(y(1:1630)));

title('语音信号频谱图');

%产生噪声信号并加到语音信号

t=0:length(x)-1;

zs=0.05*cos(2*pi*10000*t/22050);

zs0=0.05*cos(2*pi*10000*t/22050000); figure(2);

subplot(2,1,1)

plot(zs0)

title('噪声信号波形');

zs1=fft(zs,1200);

%sound(zs,FS,bits); %回放噪音

subplot(2,1,2)

plot(f(1:600),abs(zs1(1:600)));

title('噪声信号频谱');

x1=x+zs';

sound(x1,FS,bits); %回放加入噪声后的语音y1=fft(x1,1200);

figure(3);

subplot(2,1,1);plot(x1);

title('加入噪声后的信号波形');

subplot(2,1,2);

plot(f(1:600),abs(y1(1:600)));

title('加入噪声后的信号频谱');

%低通滤波

fp=3000;fs=3500;Fs=22050;

相关文档
最新文档